My Python Mean Reversion Bot — 2 Years of Live Results
Z-score mean reversion on 50 large-cap stocks. Long at Z<-2, short at Z>2, exit at ±0.5. 2 years live: 18% annual, 12% max DD, 1.4 Sharpe. Key: diversification.
ENTRY RULES
EXIT RULES
INDICATORS
ORIGINAL POST
My Python Mean Reversion Bot — 2 Years of Live Results
Sharing my mean reversion algorithm that has been live for 2 years. The strategy: calculate Z-score of price relative to 20-day mean. Enter long when Z < -2.0, short when Z > 2.0. Exit when Z returns to ±0.5. Applied to a basket of 50 large-cap stocks. Annual return ~18% with max drawdown 12%. Sharpe ratio 1.4. The key is portfolio diversification — any single stock can blow up but the basket stays stable.
BACKTEST THIS STRATEGY
Sign up free to customize & re-run backtests
Sign Up FreeOpen in Strategy Builder
Import this strategy into the visual builder to customize, backtest, and paper trade
Add to My Strategies
Save this strategy to your dashboard for quick access
RELATED STRATEGIES
Dollar Cost Averaging vs Lump Sum — The Data-Driven Answer
Consistent Trading Strategy That Has Worked For Me — Rules-Based Discipline
Dividend Growth Strategy — Building a Passive Income Machine
My Strategy Is So Simple I Can Barely Believe It Works
Want more strategies? Browse our full collection.
Browse All Strategies