In two recent posts, ThinkScripter (a great new blog that features studies and strategies coded for the thinkScript language used on the thinkorswim platform) discusses a crossover strategy that Sylvain Vervoort originally published last year in Stocks & Commodities magazine.
The primary components are two “zero-lag” triple exponential moving averages, using as price data: 1) the standard (high+low+close)/3 and 2) the Heikin-Ashi close (Heikin-Ashi is a method used for an alternate type of candlestick chart). Using a period length of 55 days, the strategy buys the underlying when the HLC/3 average crosses over the Heikin-Ashi average, and sells short when the opposite crossover occurs.
This looked like an interesting variation on the standard moving average crossover approach, so we coded the strategy in Excel; above are the logarithmically scaled results for this strategy over the last 15 years, trading the S&P 500.
The yellow line represents the original buy/sell signals as described above; the performance there looked pretty bad, so we figured it might be worthwhile to “do the opposite” (red line). The latter approach was profitable, but still steadily underperformed a buy & hold approach, with high beta and the same vulnerability to bear markets.
This isn’t to say the strategy is worthless: the author claims that it tested well on a couple hundred individual stocks, and anecdotal observation suggests the crossover may be helpful on a shorter time frame like 15- or 30-minute bars. One of the obvious ways to try improving the strategy might be to add some exit conditions, trailing stops, or market filters: being in the market all of the time is rarely an optimal setting.
Another way to improve the strategy might be to avoid the binary buy/sell, all-or-nothing form of expression in favor of something a little more nuanced. In part 2, we’ll post some results using the latter approach.