In this series of posts I share my exploration of the use of the DVI indicator in a strategy be applied to a broader set of ETF’s. The strategy will use the DVI indicator complemented with a long term filter and short term timing mechanism. Applying of the strategy to a portfolio of ETF’s will allow’s to assess its robustness. It will also provide the basis for further analysis on portfolio’s of strategies in the next post.
DVI 50/50 Strategy
In the analysis over at MarketSci it was shown that the DVI acts as a mid-term contrarian indicator with a tendency to favour long markets. The analysis applied a simple DVI 50/50 strategy to the S&P500 index to the period 1970 to Present. In the table below I have reconstructed the DVI 50/50 strategy and applied it to a broad portfolio of 26 ETF’s. The period covered is 1-1-2003 to Present. Starting Equity was 25.000$ and Interactive Broker commission’s schedule was used. Rf was set at 4%. The table shows that the DVI indicator does a good job for the SPY, however for 6 other ETF’s it fails to reach a positive DVR.
DVI 50/50 Strategy with Filter for Shorts
From adding a long-term filter for the shorts side we expect to see some improvements. The filter is based on the percentile(array, period, percentile) function in Amibroker. This function returns the array value that is ranked at the percentile level. The filter that will be applied is C<Percentile (c,200,40) which forces today’s close to be below the close price at 40th percentile of last 200 closes.
The table shows that the performance indicators have improved in all areas (Profit, DD) and that the number of ETF’s with negative DVR has reduced to 2.
DVI 50/50 + LT filter shorts + Timing
In the last modicfication for this post, we will add a short-term timing mechanism. This mechanism uses the DV2 indicator as invented by David Varadi. The DV2 indicator has been widely reviewed and considered to be a better & more robust alternative for the RSI2. We will modify the sDVI 50/50 strategy by including DV2 oversold (<50) condition for buys and overbought (>50)conditions for shorts. The table below provides the summary for this strategy.
Adding the timing component clearly further improved the strategy. What I like about it is the fact that it works for most of 26 – diverse asset category – ETF’s.
The Amibroker code for the System:#include <Boiler plate.afl>
#include <Additional functions.afl>
SetOption(“MaxOpenPositions”, pos );
Buy=xDVI<50 AND xDV2<50;
Short=xDVI>50 AND C<Percentile(C,200,40) AND xDV2>50;
This concludes this post. The 2nd post of this series will focus on some portfolio considerations.