Before breaking down the Double 7s, I should highlight a few features of the system. The rules can be expressed in 3 lines:
- The SPY is above its 200-day moving average.
- If the SPY closes at a 7-day low, buy the close.
- If the SPY closes at a 7-day high, sell your long position at the close.
- The system is typical of an index mean-reversion model as it seeks to buy weakness and sell strength and does not use stops.
- The system uses a trend-filter in the form of the 200-day moving average.
- A system that uses the closing price to make a decision which is then executed at the close may be impossible to trade in real-time, meaning that any backtested results are not likely to be replicated.
- The fact that the system does not short and will be out of the market for extended periods of time means that lack of opportunity is a probable limitation.
Testing Parameters:
Initial equity = 100K.
No commissions or slippage are included as they were not included in the results reported by Connors.
Gains are compounded with each trade using all available equity.
All available data for the SPY is used. Norgate provides the data for my AmiBroker platform. I think that CSI provides data for Tradestation, but I’m not certain about that.
The Results: (Not)
After reviewing the trade-by-trades as reported in AmiBroker and Tradestation, I’ve noted many discrepancies that will need to be sorted out before posting the results of the system. Most of the discrepancies seem to be due to inconsistencies in the data used by the platforms.
In the meantime, BZB Trader recently posted the metrics of his variation of the Double 7s: Qs Double 7s Update. For any statistics junkies, hopefully BZB will tide you over until I can finish.
I’ll get the results posted as soon as I can review all the data inconsistencies.
Wood: I will be most interested in your backtesting of the Double 7.
The one posted by BZB Trader is not respectable: just notice the “carefully” selected starting date.
eb
Eber, if things work out as planned, the final stages of testing will utilize in sample and out-of-sample data, over a portfolio of ETFs.
Of course, I might decide before that the system is not worth the effort. We’ll see!
This was the AB code I came up with when I was testing the system:
PosQty = 1;
SetTradeDelays(0,0,1,1); // trade same day
SetOption(“MaxOpenPositions”, PosQty );
SetOption(“AllowPositionShrinking”, 1 );
SetOption(“UsePrevBarEquityForPosSizing”, True);
SetOption(“MinShares”, 10);
SetBacktestMode( backtestRegularRaw );
PositionSize = -100/PosQty;
SMA = MA(C,200);
Buy = C > SMA AND C = Ref(HHV(C,6),-1);
SellPrice = Close;
As you mentioned – it does very well – I have 78.35% winners using SPY as my symbol (data source is TC2005), but it is out of the market a lot of the time.
Why not have inverse rules for short trading?
At least to see how the results compare to the long results, would be interesting to me.
Redshark, that will be one of the first modifications.
I just want to get the baseline results compared with Tradingmarket’s published results first, and then I’ll move forward.
Woodshedder,
Thanks for the info. Look forward to more.
Cheers,
Redshark
Note to Eber: I did not “carefully select” the starting date. If you read my posts you would understand that I use a floating default TradeStation 16 month backtest period to adjust for trend variations. While you may find fault with this method of quantifying progressive study outputs, it’s served me well for forecasting market turns when the equity curve begins to flatten.