[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[amibroker] Re: Fw: Predictions I



PureBytes Links

Trading Reference Links

Phsst,
thank you for your comments.
as you see, the main target is to know in advance the upcoming 
MAcross. 
For crossover traders, as you probably know, results are much better 
if they could trade with delay=0.
Until now, we used to say that it is inapplicable.
Now, with this prediction series, since you know the upcoming cross 1 
bar before, the crossover trading with delay=0 is almost realistic.
There are thoudands of efforts to tweak an MA to reduce lag
[EMA, DEMA, TEMA, JMA, KAMA, FAMA, MAMA etc].
This time I took the other way: I leave MA *as is* [it is usefull, in 
one way or another...] and try to anticipate the cross. Statistics 
over the whole N100 database and some basic futures I trade are 
better than expected and the false predictions are rare.
There is an interesting column, the "useless predictions".
They occur when the prediction and the cross signal are simultaneous. 
They are not false, they are just "useless" as predictions.
The very next step is the MAs of indicators, they are at the corner 
now, stay tuned.
Dimitris Tsokakis
--- In amibroker@xxxxxxxxxxxxxxx, "Phsst" <phsst@xxxx> wrote:
> DT,
> 
> Your 'Predictions' series is very nice indeed.
> 
> I did your original exploration against a few baskets of stocks and
> got the same results you did.
> 
> Don't know if I'll be able to bring any value to the discussion, 
but I
> wanted to thank you.
> 
> Regards,
> 
> Phsst
> --- In amibroker@xxxxxxxxxxxxxxx, "Dimitris Tsokakis" 
<TSOKAKIS@xxxx>
> wrote:
> > Let us see now the more realististic approach:
> > Hypothesis : We do not expect for tomorrow  a daily return greater
> than +50% OR  less than -50% .
> > Then you will find out very few days to expect the MAcrossover.
> > Some times we see two or three premature signals before the main 
one.
> > This observation helps to speculate in advance the upcoming 
MAcross
> and find best intraday prices for your movement.
> > We may have 3 types of signals
> > *EXPECT an MAcross SOON
> > *EXPECT an MAcross TOMORROW
> > *an MAcross confirmation
> > to check the value of the method.
> > Use for your ind. builder [interpretation window] the code
> > 
> > // MA cross Expectation
> > p=20;MAp=MA(C,p);
> > k=30;MAk=MA(C,k);
> > y=p*MA(C,p)-(p-1)*Ref(MA(C,p-1),-1);
> > tClose=(p*(k-1)*MA(C,k-1)-k*(p-1)*MA(C,p-1))/(k-p);
> > DescCrossPrediction=Cross(tClose,C);
> > AscCrossPrediction=Cross(C,tClose);
> > ExpectMAcross=DescCrossPrediction OR AscCrossPrediction;
> > Filter=tClose<0.5*C OR tClose>1.5*C;
> > AddColumn(MAp,"MAp");
> > AddColumn(MAk,"MAk");
> > Plot(C,"",7*Filter+1,64);
> > Plot(MAp,"",4,1);Plot(MAk,"",5,1);
> > bars=BarsSince(Cross(MAp,MAk) OR Cross(MAk,MAp));
> > expect=NOT(Filter) AND NOT(ExpectMAcross);
> > Title=Name()+" , "+WriteIf(expect AND bars>=2,"EXPECT an MAcross
> SOON","")+
> > WriteIf(ExpectMAcross,"EXPECT an MAcross TOMORROW","");
> > to read the respective signals.
> > In the att. gif, all the olive candles are far from any probable
> MAcross, the big black candle gives 
> > the premature expectation signal and the very next bar predicts
> [successfully] that an MAcross will occur tomorrow.
> > Dimitris Tsokakis
> > ----- Original Message ----- 
> > From: Dimitris Tsokakis 
> > To: amibroker@xxxxxxxxxxxxxxx 
> > Sent: Thursday, July 17, 2003 11:17 AM
> > Subject: Fw: Predictions I
> > 
> > 
> > The conditions DescCrossPrediction or AscCrossPrediction give a
> quite reliable warning for an upcoming MA cross, bullish or bearish.
> > There are some periods when this cross is IMPOSSIBLE and may be
> accurately idendified.
> > This tClose is the virtual next bar Close which will fulfill the
> condition MA(C,p)=MA(C;k).
> > The argument is quite simple:
> > 
> > If tClose is negative, then it is IMPOSSIBLE to see an MAcross 
tomorrow.
> > 
> > [Of course there are many other cases we may exclude, for example
> tClose=0.1*C, since we do not expect a -90% daily return for 
CSCO !!!
> > but, in this formula we just want to investigate the theoretical
> IMPOSSIBLE]
> > For your indicator builder [or AA] use the
> > 
> > // Impossible MA cross Prediction 
> > p=20;MAp=MA(C,p);
> > k=30;MAk=MA(C,k);
> > y=p*MA(C,p)-(p-1)*Ref(MA(C,p-1),-1);
> > tClose=(p*(k-1)*MA(C,k-1)-k*(p-1)*MA(C,p-1))/(k-p);
> > Filter=tClose<0;
> > AddColumn(MAp,"MAp");
> > AddColumn(MAk,"MAk");
> > Plot(C,"",6*Filter+1,64);
> > Plot(MAp,"",4,1);Plot(MAk,"",5,1);
> > In AA explore the database for the n=1 last quotations to see all
> these stocks you do not expect an MA cross, bullish or bearish.
> > Any MAcross technique should be applied to the rest...
> > For July16 there were 18 N100 stocks indifferent for an MAcross.
> > Dimitris Tsokakis
> > ----- Original Message ----- 
> > From: Dimitris Tsokakis 
> > To: amibroker@xxxxxxxxxxxxxxx 
> > Sent: Wednesday, July 16, 2003 11:04 AM
> > Subject: Fw: Predictions I
> > 
> > 
> > The condition
> > DescCrossPrediction=Cross(tClose,C); 
> > predicts that a Descending MA cross will occur tomorrow.
> > It will be named
> >  
> > Accurate0DescPredictions, if it is confirmed tomorrow
> > Accurate1DescPredictions, if it is confirmed 1 day later
> > Accurate2DescPredictions, if it is confirmed 2 days later
> > UselessDescPredictions, if it is simultaneous with the prediction
> > False, if it does not belong in one above category. 
> > 
> > [Last bar predictions are also considered as false, although the
> majority will be confirmed tomorrow...]
> > Similar terminology is used for the Ascending crosses.
> > The N100 results from Jan2000 till now are enthusiastic and, in
> practical terms, we may say that we can have a safe prediction 
> > for the [unknown] next bar MA cross.
> > Explore your database for the n=1 last quotations with
> > 
> > // MA cross Prediction Statistics, by Dimitris Tsokakis, July 
2003 
> > p=20;MAp=MA(C,p);
> > k=30;MAk=MA(C,k);
> > y=p*MA(C,p)-(p-1)*Ref(MA(C,p-1),-1);
> > tClose=(p*(k-1)*MA(C,k-1)-k*(p-1)*MA(C,p-1))/(k-p);
> > DescCrossPrediction=Cross(tClose,C);
> > AscCrossPrediction=Cross(C,tClose);
> > ConfirmedDesc=Cross(MAk,MAp);
> > ConfirmedAsc=Cross(MAp,MAk);
> > DescTotalPredictions=Cum(DescCrossPrediction);
> > Accurate0DescPredictions=Cum(ConfirmedDesc AND
> Ref(DescCrossPrediction,-1));
> > Accurate1DescPredictions=Cum(ConfirmedDesc AND
> Ref(DescCrossPrediction,-2));
> > Accurate2DescPredictions=Cum(ConfirmedDesc AND
> Ref(DescCrossPrediction,-3));
> > UselessDescPredictions=Cum(ConfirmedDesc AND DescCrossPrediction);
> > AscTotalPredictions=Cum(AscCrossPrediction);
> > Accurate0AscPredictions=Cum(ConfirmedAsc AND
> Ref(AscCrossPrediction,-1));
> > Accurate1AscPredictions=Cum(ConfirmedAsc AND
> Ref(AscCrossPrediction,-2));
> > Accurate2AscPredictions=Cum(ConfirmedAsc AND
> Ref(AscCrossPrediction,-3));
> > UselessAscPredictions=Cum(ConfirmedAsc AND AscCrossPrediction);
> > Filter=1;
> > AddColumn(100*Accurate0DescPredictions/DescTotalPredictions,"Acc0
> Desc %",1.0);
> > AddColumn(100*Accurate1DescPredictions/DescTotalPredictions,"Acc1
> Desc %",1.0);
> > AddColumn(100*Accurate2DescPredictions/DescTotalPredictions,"Acc2
> Desc %",1.0);
> > AddColumn(100*UselessDescPredictions/DescTotalPredictions,"Useless
> Desc %",1.0);
> > AddColumn(100-Column0-Column1-Column2-Column3,"False Desc %",1.0);
> > AddColumn(100*Accurate0AscPredictions/AscTotalPredictions,"Acc0 
Asc
> %",1.0);
> > AddColumn(100*Accurate1AscPredictions/AscTotalPredictions,"Acc1 
Asc
> %",1.0);
> > AddColumn(100*Accurate2AscPredictions/AscTotalPredictions,"Acc2 
Asc
> %",1.0);
> > AddColumn(100*UselessAscPredictions/AscTotalPredictions,"Useless 
Asc
> %",1.0);
> > AddColumn(100-Column5-Column6-Column7-Column8,"False Asc %",1.0);
> > 
> >  
> > ----- Original Message ----- 
> > From: Dimitris Tsokakis 
> > To: amibroker@xxxxxxxxxxxxxxx 
> > Sent: Tuesday, July 15, 2003 5:35 PM
> > Subject: Predictions I
> > 
> > 
> > We may calculate the next bar Close necessary for a MA(C,p) to 
cross
> another MA(C,k).
> > I will overcome this procedure and I will try just to predict if a
> cross will occur tomorrow.
> > For your AA window explore for the n=1 last quotations with
> > // Prediction for a cross of two moving averages
> > p=20;MAp=MA(C,p);Plot(MAp,"",1,8);
> > k=30;MAk=MA(C,k);Plot(MAk,"",2,8);
> > y=p*MA(C,p)-(p-1)*Ref(MA(C,p-1),-1);//Plot(Ref(C,0),"",7,8);
> > tClose=(p*(k-1)*MA(C,k-1)-k*(p-1)*MA(C,p-1))/(k-p);
> > DescCrossPrediction=Cross(tClose,C);
> > AscCrossPrediction=Cross(C,tClose);
> > ConfirmedDesc=Cross(MAk,MAp);
> > ConfirmedAsc=Cross(MAp,MAk);
> > Title=Name()+
> > WriteIf(ConfirmedDesc,", Confirmed descending MAcross","")+
> > WriteIf(DescCrossPrediction,", A descending MAcross will occur
> tomorrow","")
> > +WriteIf(ConfirmedAsc,", Confirmed ascending MAcross","")+
> > WriteIf(AscCrossPrediction,", An ascending MAcross will occur
> tomorrow","");
> > Filter=1;
> > AddColumn(Cum(DescCrossPrediction),"Predicted DescCrosses",1.0);
> > AddColumn(Cum(ConfirmedDesc),"Confirmed DescCrosses",1.0);
> > AddColumn(100*Cum(DescCrossPrediction)/Cum(ConfirmedDesc),"Desc 
%");
> > AddColumn(Cum(AscCrossPrediction),"Predicted AscCrosses",1.0);
> > AddColumn(Cum(ConfirmedAsc),"Confirmed AscCrosses",1.0);
> > AddColumn(100*Cum(AscCrossPrediction)/Cum(ConfirmedAsc),"Asc 
%",1.0);
> > 
> >  to see the commulative predicted/actual cross relation.
> > Replace the Filter=1; line with the 
> > Filter=AscCrossPrediction OR DescCrossPrediction;
> > to see the predictions for tomorrow, or with the 
> > Filter=Ref(AscCrossPrediction OR DescCrossPrediction,-1);
> > to see the confirmed crosses
> > The commulative view for my favorites selection is in the 
attached gif.
> > A detailed analysis will follow.
> > Use the same formula in Indicator Builder or Interpretation 
window.
> > Dimitris Tsokakis
> > [to be continued]


------------------------ Yahoo! Groups Sponsor ---------------------~-->
Buy Naturally Painless & Spray Away Backaches & Joint Pain. $19.97
http://www.challengerone.com/t/l.asp?cid=2867&lp=m331.html
http://us.click.yahoo.com/tJIe0D/79VGAA/ySSFAA/GHeqlB/TM
---------------------------------------------------------------------~->

Send BUG REPORTS to bugs@xxxxxxxxxxxxx
Send SUGGESTIONS to suggest@xxxxxxxxxxxxx
-----------------------------------------
Post AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx 
(Web page: http://groups.yahoo.com/group/amiquote/messages/)
--------------------------------------------
Check group FAQ at: http://groups.yahoo.com/group/amibroker/files/groupfaq.html 

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/