"SPY Master" Long/Short Swing Trading Algorithm Beats S&P 500!

"SPY Master" is a simple medium frequency trading algorithm that uses my RSI-EMA oscillator on a 1h chart to trigger buy/cover and sell/short signals. The algorithm only holds 1 position each time and it can go either long or short on SPY (S&P 500 exchange-traded fund). The average holding period per trade is about 18 hours.

Please note that the backtest uses a fixed size of $10,000 for each trade so there is no reinvestment or compounding.

Commissions aren't factored into the backtest but there are 294 trades (588 orders) total so assuming $1 commission per order, that's $588. That's about how much I pay to make a $10,000 trade with SPY at Interactive Brokers. Dividends are also not factored into the backtest but SPY typically yields about 2% a year in dividends.

The idea behind this strategy follows the premise that most profitable momentum trades usually occur during periods when price is trending up or down. Periods of flat price actions are usually where most unprofitable trades occur. Because we cannot predict exactly when trending periods will occur, the algorithm basically bets money on all trade opportunities during all market conditions. However, the way it's designed also allows it to keep the losers small and let the winners run. The algorithm only wins about 40% of the time but its average winner is 2.6 times the average loser.

----------------------------------------
ALGORITHM SETTINGS:

Chart interval = 1h
Buy/Cover = EMA2(RSI5) cross> 50
Sell/Short = EMA10(RSI5) cross< 50

----------------------------------------
BACKTEST SETTINGS:

- Period = Jan 2013 - Present
- Short-selling enabled
- Dividends disabled
- Trading cost disabled
- Reinvestment disabled
- Initial cash = $10,000
- Fixed trade size = $10,000

----------------------------------------
BACKTEST PERFORMANCE:

SPY (benchmark)
- Net return = +41%
- CAGR = 13%
- Max drawdown = -22%
- CAGR/Max DD = 0.6

Algorithm (long/short):
- Net return = +61%
- CAGR = 18%
- Max drawdown = -10%
- CAGR/Max DD = 1.8
activealgorithmlong_shortmedium-frequencyMomentum Indicator (MOM)outperformerRelative Strength Index (RSI)rsi-emashort-termSPX (S&P 500 Index)S&P 500 (SPX500)SPDR S&P 500 ETF (SPY) swingtrading

Kory Hoang (stably.io)
Also on:

Related publications

Disclaimer