Many AB users have good histories of EOD data but limited real time data 
histories for back testing.  This can cause some problems such as overly 
optimistic results when the trading logic uses entry  and exit stops.
   
  We all know, or should know, that if you are using the closing price then for 
realistic results in a back test (BT),  the trading logic should use the open 
(or later) of the following day as the entry price.  But, what if you are using 
stops to enter and exit, don’t you use the stop price as the entry or exit 
price in the back test?  
   
  The answer is yes (+- slippage) if you are using real time (RT) data for your 
BT.   However, if all you have available is EOD data for longer term BTs then 
you need to be wary of calculating results using stop prices.
   
  The problem is the close price.  What is the close?  In RT terms the close is 
the current tick .  With EOD data the close is the last tick of the entire 
day…big difference there, so you cannot use EOD close in your calculations 
for stop entries.  Again if you use close,  the trade is an EOD only trade and  
has to take place the next day whether you specified a stop level or not.
   
  So what about the stop price?  To try to simulate the results properly you 
need to look for highs to be greater than your long entry stop price and for 
lows to be less than your short entry price.  Reverse that logic for stop exits.
   
  I had a trading system that had the best walk forward results I have ever 
seen, but the nagging thought was that there was a flaw in the logic somewhere 
as the results were too good, even though  the code passed the simple look 
forward test.
   
  After watching the system trade for several weeks (its an infrequent trader) 
I could see the problem.  Running the BT frequently throughout the day with an 
RT data feed from IB the RT close (current tick) would rise above the long 
entry stop level and I would be long at the ~stop price.  However, a couple 
hours later the RT close would be below the long entry stop price and the trade 
would disappear and “it never happened”. 
   
  This trade turns out to be a loser when evaluated in RT, but, it does not 
show up in the BT evaluation with EOD data because of the use of  close.
  In this case using high for the BT logic will trigger the trade and it will 
show up in the BT results as a loser.  You will have the entry at the stop 
price and the exit will have to be treated in a similar fashion for more 
realistic results.
   
  Bottom line: if you use stops and you only have EOD data available for 
extended back tests you need to use high and low  rather than close in your 
trading logic.
   
  Cheers
  Sid
   
   
   

Reply via email to