DCA Backtest

Strategy vs flat dollar-cost-averaging · powered by yfinance history
Daily Run: …
Watchlist
Deep Dive
Compare Strategies
Optimize
Tuning Gain
Config
Config Audit
TickerLastDayBias (ST / LT) Key levels to watchSignal RSIvs 50Dvs 200DTarget / note

Levels are derived, never typed in: swing pivots (3- and 7-bar fractals), volume shelves, SMA50/SMA200 and 52w extremes are clustered into zones, then scored on visits, recency, volume share, reaction size and anchor type. The pair shown is the highest-scoring zone on each side after decaying that score by ATR distance from spot — so "near" scales with each ticker's own volatility. Click any row for the full ladder and the reason behind each level.

Strategy glossary

flat_dca baseline
Fixed dollar amount every period, no adjustments. The benchmark every strategy is measured against (Δ columns above).
regular
Near-fixed DCA with a small ±dca_band RSI nudge (default 10%). Best for income ETFs where steady accumulation beats price timing.
trend
Scales contribution inversely with SMA50 deviation — buys more below the trend, less above. Caps at 0.75× when RSI > 75 to avoid chasing overbought momentum.
red_green
Simple contrarian day nudge: buy 15% more on red (down) days, 15% less on green (up) days. No trend component.
adaptive
trend's SMA50 scaling with the ±15% red/green-day nudge layered on top. Largest buys on red days below SMA; smallest on green days above.
range_bound
Hard-skips above a price ceiling (max_price); graded scale inside the buy zone, strongest at or below strong_buy_below. For volatile range-riders.
limit_accumulation
Places a GTC limit order at target_price when price is above it (buys at market once it drops there). Deduplicates pending orders.

Applies the chosen strategy to each fund, grid-searches its best params, and reports the gain vs flat DCA (and vs the strategy's defaults). Shows where tuning pays off — e.g. trend/adaptive (real edge) vs regular (weak lever).

Every ticker in config.toml with its strategy, params, and live audit status. Click a row to expand its findings.
Every ticker in config.toml, checked against current price & history for stale or broken settings.