Python backtesting and parameter-optimization framework for 5 trading strategies, each paired with a TradingView Pine Script. Scan the S&P 500 daily for live signals, backtest any strategy on any ticker, and visualize results with one command.
| Strategy | Type | Win Rate | Avg Hold |
|---|---|---|---|
| Elektro BB | Mean reversion (BB + RSI oversold entry) | ~80-100% | Months-years |
| DCA Long | Always-in with safety order ladder | ~100% | Weeks-months |
| Bollinger WMA | Breakout above WMA | ~87% | Months-years |
| RMA ATR Bands | Asymmetric ATR channel trend | ~64% | Weeks-months |
| EMA Trail | EMA crossover + ratcheting trailing stop | ~50-60% | Weeks |
All strategies are long-only, optimized across 10 large-cap US stocks, backtested 2021-2026 on daily bars, $1,500 capital, 33% risk per trade, 1.5% commission per leg.
conda env create -f requirements_conda.yml
conda activate tradingVisualize a backtest - price chart, equity curve, drawdown:
python visualize.py --strategy elektro --ticker NVDA
python visualize.py --strategy rma_atr --ticker AAPL --saveStrategies: rma_atr · ema_trail · bb_wma · elektro · dca
Compare all 5 strategies on one ticker:
python compare.py --ticker NVDARun the daily scanner (after market close):
python featured/strategy_elektro/scanner.py
python featured/strategy_dca/scanner.py
python featured/strategy_rma_atr/scanner.py
python featured/strategy_bb_wma/scanner.py
python featured/strategy_ema_trail/scanner.pyRe-optimize parameters (cross-asset grid search):
python featured/strategy_rma_atr/tests/test_largecap.pyTradingView Pine Scripts - ready to paste, defaults set to optimized params:
featured/strategy_<name>/pine_<name>_largecap.pine
See CREDITS.md for the original TradingView Pine Script authors this repo is based on.
Uses yfinance - free for personal/educational use only.
