Backtest of the Royal Trader “Still Afraid of Market Turnovers?” strategy: a composite −10 (extreme fear) to +10 (extreme greed) score from 5 technical indicators, buying only at max retail fear and exiting at greed peaks.
The strategy demonstrates the contrarian principle (buy fear, sell greed) and controls drawdown (max −3% SPY / −7.7% QQQ), but over the 2-year test it returned +2.86% (SPY) / +7.21% (QQQ) — modest, far below buy-and-hold of the same period, with a low 10–15% win rate typical of bottom-picking.
The test window is only 2 years of daily data — too short to judge a low-frequency contrarian rule. The mechanics (5-indicator composite filtered by 200-EMA, ≤4 concurrent positions at 25% each, pyramiding) are faithfully implemented and the results CSV is published trade-by-trade. Treat as a validated implementation of a marginal long-run idea, not a validated edge.
Sum of 5 indicator scores (Ichimoku Cloud, RSI, MACD, Stochastic, Bollinger Bands), all filtered against the 200-period EMA. Range −10 (extreme fear) to +10 (extreme greed).
Long only when the composite hits fear thresholds (≤ −7 / −8 / −9 / −10).
Close when the composite reaches greed (≥ +10).
Max 4 concurrent positions, 25% capital per position, pyramiding enabled (up to 5 positions configurable).
| Symbol | Total return | Annual | Sharpe | Max DD | Win rate | Final |
|---|---|---|---|---|---|---|
| SPY | +2.86% | 1.42% | 0.70 | −3.05% | 10.78% | $102,856 |
| QQQ | +7.21% | 3.56% | 0.67 | −7.67% | 14.17% | $107,212 |
pip install yfinance pandas numpy
python backtest_strategy.py # downloads SPY+QQQ, backtests, writes CSVs
# outputs: backtest_results.csv, backtest_results_qqq.csv