Backtest notes
Studies
Strategy tests written up with the data source, rule, benchmark, costs, and caveats.
Monthly Contributions in SPY, QQQ, and ETF Portfolios
A reproducible monthly contribution backtest comparing SPY, QQQ, a 60/40 stock-bond portfolio, and a simple multi-asset ETF portfolio using adjusted-close data.
Monthly QQQ Contributions Through the Dot-Com Crash
A reproducible backtest of monthly QQQ contributions starting in 2000, compared with SPY contributions and QQQ's dot-com price recovery path.
Relative vs Absolute Momentum in ETF Rotation
A reproducible ETF rotation backtest comparing relative momentum with an absolute momentum cash rule using the same multi-asset ETF universe, monthly rebalance schedule, and transaction-cost assumptions.
Multi-Asset ETF Momentum Rotation Backtest in Python
A reproducible monthly cross-asset ETF momentum rotation backtest comparing Top 1 and Top 3 selection with SPY buy and hold.
ETF Momentum Rotation Backtest: SPY, QQQ, and Sector ETFs
A reproducible US equity ETF momentum rotation backtest in Python comparing monthly Top 1 and Top 3 rotation across SPY, QQQ, and sector ETFs with transaction costs, charts, CSV output, and code.
SPY RSI(2) Backtest With 200DMA Trend Filter
A reproducible SPY RSI(2) mean reversion backtest in Python comparing the strategy with and without a 200-day moving average trend filter, transaction costs, charts, CSV output, and code.
Daily vs Weekly vs Month-End SPY 200DMA Backtest
A reproducible SPY 200-day moving average signal frequency backtest in Python comparing daily, weekly, and month-end signal checks with transaction costs, charts, CSV output, and code.
SPY Golden Cross Backtest in Python
A reproducible SPY golden cross backtest in Python using the 50/200 SMA crossover, lagged signals, transaction costs, charts, CSV output, and code.
SPY 200-Day Moving Average Backtest in Python
A reproducible SPY 200 day moving average backtest using adjusted close data, lagged signals, transaction costs, and Python-generated CSV outputs.