Velocity Strength Filter backtest

Velocity Strength Filter compounded at +17.7% a year from 2016-10-24 to 2026-10-05, with a worst drawdown of -27.4% (high drawdown). It ranks 2 of 6 re-run strategies by drawdown, shallowest first.

The rule in one line: The strategy rotates among eight leveraged index ETFs, such as TQQQ, UPRO and SOXL, and a Treasury bill ETF (BIL).

Backtest (historical simulation, 2016–2026)

Worst drop (max drawdown)-27.4%
Yearly growth (CAGR)+17.7%
Return per unit of risk (Sharpe)0.84
Total return+406.4%
S&P 500 (SPY), same period+322.2%
Return ÷ drawdown0.65
Period2016-10-24 – 2026-10-05 (9.9 years)
Risk tierHigh drawdown
Drawdown rank2 / 6

Backtest = historical simulation on past prices, not real trading.

Equity curve of a $10,000 start, with SPY dashed.

How the strategy works

The strategy rotates among eight leveraged index ETFs, such as TQQQ, UPRO and SOXL, and a Treasury bill ETF (BIL). It uses completed daily closes and trades at the next open. When SPY closes above its 200-day moving average it may hold leveraged funds; when SPY closes below it, everything moves to BIL.

Once a week, on the first trading day, each leveraged fund is scored by how far its price sits above its 63-day average, divided by its recent annualized volatility. Only funds with a positive three-month return and a positive score qualify. The strategy holds the top two at 30% of the portfolio each, with the rest in BIL. To limit trading, a current holding that still ranks in the top three is kept unless a challenger's score beats it by more than 10%.

Two daily safety rules apply. If a held fund closes 15% below its highest close since purchase, it is sold; the money waits in cash until the next weekly review, and that fund is excluded for five trading days. If the whole account falls 10% from its peak, everything moves to BIL for at least 21 trading days. It returns only when SPY is above its 200-day average and has either climbed back to its level at the time of the exit or spent time below that average during the pause.

UniverseGrowth: TQQQ, UPRO, SOXL, FNGU, BULZ, TECL, TNA, SPXL; cash: BIL; market signal and benchmark: SPY. VIX data is loaded but not used for decisions.
RebalancingWeekly, on the first trading day of each week. The SPY trend exit, trailing stops and account breaker are checked every day.
ExecutionSignals use completed daily closes only; orders fill at the next session's open and positions are marked at the close. Holdings drift with prices between trades.
Trading costs0.25% per side on every dollar bought or sold (about 0.50% for a full switch). No separate slippage or spread model.
LeverageLeveraged ETFs fixed at 30% each, at most 60% in total; the rest in BIL. No margin.
Risk controlsSPY below its 200-day average: 100% BIL. Fund 15% below its post-entry high: sold, excluded five days. Account down 10%: BIL for at least 21 days, re-entry needs SPY recovery.
Price dataPublic daily price data adjusted for dividends and splits. BIL earns its adjusted return; proceeds of a stopped fund sit in cash at 0% until the next trade.
Known limitationsDays without VIX data are dropped even though VIX no longer drives decisions. Hand-picked surviving ETFs; parameters chosen on the same 10-year window.

When it made and lost money

Across the 9 full calendar years in the test, the strategy beat SPY in 4. Its best year was 2023 (+62.4% against SPY's +26.2%) and its weakest was 2018 (-14.1% against -4.6%). It finished 3 full years with a loss (2018, 2022, 2024). In 2018, when SPY fell 4.6%, the strategy returned -14.1%. In 2022, when SPY fell 18.2%, the strategy returned -5.9%.

SPY fell more than 10% from a high 3 times in this window (2018-09-20 to 2018-12-24: SPY -19.4%, strategy -9.4%; 2020-02-19 to 2020-03-23: SPY -33.7%, strategy -10.8%; 2022-01-03 to 2022-10-12: SPY -24.5%, strategy -4.0%). The strategy lost less than the index in 3 of 3 of those declines, so its rules did act as a brake when the whole market sold off.

Labelled by SPY's trend (above a rising 200-day average = uptrend, below a falling one = downtrend, anything else = sideways), the strategy averaged an annualized +21.0% on uptrend days (79% of the test) against SPY's +23.4%, so it trailed the index in steady rising markets. On sideways days (8%), which is where trend breaks and the first leg of sell-offs land, it averaged +23.5% against SPY's -77.2%; on downtrend days (10%), which include the sharp rebounds inside bear markets, -4.3% against +27.1%. Its losses were most concentrated in uptrend stretches: 93% of all losing-day losses came on 79% of the days.

On days SPY rose, the strategy captured 98% of the index's gains; on days SPY fell, it took 94% of the index's losses, a roughly symmetric profile, so its edge did not come from sidestepping down days. 64% of months ended positive; the best month was 2026-05 (+32.3%) and the worst was 2018-02 (-13.9%).

The deepest drawdown on the daily curve ran from a peak on 2025-10-29 to a trough on 2026-03-03 (about 4 months of decline), a fall of -27.4%. Over the same stretch SPY returned -0.7%, so this loss was specific to the strategy rather than a market-wide sell-off. It regained the previous high on 2026-05-05, about 6 months after the peak.

Calendar-year returns vs SPY

YearStrategySPYDifference
2016 (partial)+0.7%+4.6%-3.9%
2017+37.5%+21.7%+15.8%
2018-14.1%-4.6%-9.5%
2019+13.8%+31.2%-17.4%
2020+40.7%+18.3%+22.4%
2021+21.3%+28.7%-7.4%
2022-5.9%-18.2%+12.3%
2023+62.4%+26.2%+36.2%
2024-5.3%+24.9%-30.2%
2025+6.9%+17.7%-10.8%
2026 (partial)+39.9%+14.5%+25.4%

Deepest drawdowns

PeakTroughRecoveredFallSPY, peak to trough
2025-10-292026-03-032026-05-05-27.4%-0.7%
2018-01-262019-10-082020-02-06-27.1%+4.0%
2024-03-072025-02-282025-10-27-26.1%+16.9%

By market trend (SPY vs its 200-day average)

SPY trendShare of daysStrategy, annualized averageSPY, annualized average
Uptrend79%+21.0%+23.4%
Sideways8%+23.5%-77.2%
Downtrend10%-4.3%+27.1%

Computed from the daily equity curve of the same re-run (2016-10-24 to 2026-10-05). Trend labels classify each day after the fact (SPY above a rising 200-day average = uptrend, below a falling one = downtrend, otherwise sideways); they describe the past and are not a trading signal. Annualized averages are the mean daily return in that group times 252.

How to read this backtest

The worst peak-to-trough fall was -27.4%: a $10,000 account would have dropped to about $7,255 at that point before recovering. The +17.7% CAGR is the annual rate that compounds the start value into the end value over 9.9 years; the return-to-drawdown ratio of 0.65 says how many points of annual return each point of worst-case loss bought. Compare strategies on that pair, not on CAGR alone.

Where the numbers come from

Re-run on 2026-10-07 with the strategy's current code on historical prices — a systematic take on The Velocity Strength Filter. Numbers change when the strategy is re-run on newer data. The full write-up explains the rules.

Strategies with a similar drawdown

Related reading

Where this strategy appears

All strategy backtests, lowest drawdown first

Go further

Disclosure. Backtests are hypothetical simulations on historical data. They do not include every real-world cost, are not live results, and do not guarantee future returns. Educational research only, not investment advice.