Volatility-Insights — Methodology & how to read
Data: every closed trade in backtest_trades · classification via ATR-14 vs. the 200-day median on the same asset · backfill completed 2026-05-21 (~78 % of trades classified).
What are the 4 volatility phases?
We take the Average True Range (ATR-14) — the classic volatility measure by J. Welles Wilder (1978) — and compare it on each trade day with the 200-day median of the same asset. That yields a relative phase that works independently of absolute price level (BTC at $30k and at $80k have very different absolute ATR but similar character).
- Low — ATR < 70 % of the 200-day median. Quiet market, tight candles, often range-bound.
- Normal — 70 – 130 % of the median. "Normal" trending mode — the bulk of all trading days sits here.
- High — 130 – 200 % of the median. Elevated volatility, wider candles, often trend phases.
- Expansion — ATR ≥ 200 % of the median AND at least 30 % higher than 20 candles ago. Volatility eruption — crash, squeeze or parabolic move.
How do I read the heatmap?
Each cell shows two values: win rate (top) and avg PnL per trade in % (bottom). Color reflects the win rate (red ≤ 40 %, yellow 40–55 %, green > 55 %). Aggregation is over all backtests of all users on this strategy — i.e. the heatmap shows the statistical edge of the strategy per phase, not your personal lift.
Typical pattern: trend-following strategies (Golden Cross, EMA Trend Bias) shine in high/expansion, mean-reversion strategies (RSI OB/OS, Bollinger-RSI) in low/normal. If a cell is red with low PnL, the strategy is telling you: "I had no edge on those days, better wait for another phase."
What does the Lift Card say?
The Lift Card computes hypothetically on your own backtests: "What if the ATR filter (mode high) had been active at trade time?" We compare the win rate without filter (all your trades) vs. the win rate with filter (only trades that started in high or expansion phase).
The Lift (pp) column is the difference in percentage points. Positive values = the filter would have raised your win rate, negative = the filter would have hurt. Important: this is a backward-look on trades that already ran — not a guarantee for the future. Minimum n = 10 trades, otherwise the row is filtered out (sample too small to draw any conclusion).
What you should NOT conclude from this page
- Not a timing signal. A green Expansion cell does not mean "buy now". It means "if the strategy fires a buy signal today AND we are in an expansion phase, this combo historically was better than the average".
- Sample size matters. Cells below the current
minTradesthreshold are hidden. But n = 50 is still statistically thin — always compare with the row-wide win rate. - Phase ≠ prediction. The ATR phase describes the current state of the market, not where it is going. An expansion can end up or down — the heatmap only tells you what the strategy historically did in that phase.
- Survivorship bias possible. The data base are our actual backtest runs — i.e. tendentially strategies/pairs that are active on the platform. Delisted pairs or discontinued strategy variants are underrepresented.
Spec reference: docs/specs/spec-volatility-regime-insights.md · phase classification: src/lib/volatility/atrPhase.ts · aggregate RPC: aggregate_volatility_cells
