A Seasonal Strategy With Leveraged ETFs

The AIQ code and EDS file for Gerald Gardner’s article in October 2012 Stocks and Commodities, “A Seasonal Strategy With Leveraged ETFs,” is provided at the following website: www.TradersEdgeSystems.com/traderstips.htm.

To test Gardner’s seasonal system with the leveraged exchanged traded funds (ETFs) DBC and DDM using AIQ’s Portfolio Manager, a trading simulation was run with the following capitalization and cost settings:

  • Maximum of two open positions
  • Size each position at 50 % of mark-to-market total capital
  • Take no more than two new positions per day
  • Compute the mark-to-market capital each day
  • Three cents per share was deducted for each round turn trade.

In Figure 7, I show the resulting statistics and equity curve compared to the S&P 500 index (SPX). For the period 9/1/2006 to 8/13/2012, the system returned an average internal rate of return of 13.7% with a maximum drawdown of 32% on 3/5/2009. These statistics differ from the author’s due to my test starting earlier, and also, I picked up three trades that the author did not show in his list of trades with returns of -15.4%, -8.0%, and 1.0%. These differences may be due to differences in our data. In my test, there were only 12 trades and I would like to see more trades before I would rely on this as a trading strategy. This is the problem with testing systems on ETFs — there is not enough data.

Image 1
FIGURE 7: AIQ, EQUITY CURVE. Here is the equity curve for my test system that uses the seasonal system for the period 9/1/2006 to 8/13/2012. Only the ETFs DBC and DDM were traded on each signal
! Author: Gerald Gardner
! Coded by: Richard Denning 8/14/12
! www.TradersEdgeSystems.com

C is [close].
C1 is valresult(C,1).
O is [open].
H is [high].
H1 is valresult(H,1).
L is [low].
L1 is valresult(L,1).
V is [volume].
PEP is {position entry price}.
PD is {position days}.
OSD is offsettodate(month(),day(),year()).

SMA50 is simpleavg(C,50).
OK_BUY  if (month() >= 1 and month() <= 4)
or (month() >= 10 and month() <=12).
BUY if OK_BUY and C > SMA50.
SELL if month() = 5.

—Richard Denning


This email address is being protected from spambots. You need JavaScript enabled to view it.

for AIQ Systems

Leave a Reply