volatility-modeling

Volatility estimation, forecasting, and regime classification using GARCH, EWMA, realized volatility, and volatility cones

By agiprolabs · 387 installs

npx skills add agiprolabs/claude-trading-skills --skill volatility-modeling

Source repository · Upstream listing

Volatility Modeling Volatility — the magnitude of price fluctuations — is arguably the single most important quantity in trading. It drives position sizing, stop placement, option pricing, and regime detection. This skill covers estimation, forecasting, and practical application of volatility in crypto markets. Why Volatility Matters Use Case How Volatility Is Used Position sizing Scale position inversely with vol so each trade risks a consistent dollar amount Stop placement ATR based stops widen in high vol regimes, tighten in low vol Strategy selection Mean reversion works in low vol; momentum works in high vol Risk budgeting Vol target portfolios maintain constant portfolio level risk Regime detection Vol regime shifts signal changing market dynamics Option pricing Implied vs realized vol gap creates trading opportunities Types of Volatility Historical (Realized) Volatility Computed from observed past returns. The most common and directly measurable form. Multiple estimators exist with different statistical efficiency. Implied Volatility Derived from option prices via Black Scholes or similar models. Limited in crypto DeFi where liquid options markets are sparse, but available on Deribit for BTC/ETH. Forecast Volatility Predicted future volatility from models like EWMA or GARCH. Used for forward looking position sizing and risk budgets. Estimation Methods 1. Close to Close (Standard Deviation of Log Returns) The simplest estimator. Compute the standard deviation of log returns and annualize. Pros : Simple, widely understood. Cons : Uses only close prices — ignores intraday range. 2. Parkinson (High Low Range) Uses the daily high low range, which is ~5x more statistically efficient than close to close. Pros : More efficient, captures intraday moves. Cons : Downward bias with discrete sampling; ignores close to close jumps. 3. Garman Klass (OHLC) The most efficient single day OHLC estimator. Pros : Best efficiency among OHLC estimators. Cons : Assumes no drift; sensitive to opening gaps. 4. Yang Zhang Combines overnight (close to open) and open to close components. Handles gaps properly. Less relevant for 24/7 crypto but useful for tokens with sporadic trading. 5. EWMA (Exponentially Weighted Moving Average) RiskMetrics approach — no parameters to estimate beyond λ. λ = 0.94 for daily data (RiskMetrics). λ = 0.97 for weekly data. Higher λ → smoother, slower reaction to new information. 6. GARCH(1,1) The workhorse autoregressive volatility model. Captures volatility clustering. ω : long run variance weight. α : reaction to recent shock (typically 0.05–0.15 for crypto). β : persistence (typically 0.80–0.90 for crypto). α + β < 1 : stationarity constraint. Long run variance : ω / (1 − α − β). Estimated via maximum likelihood. See references/estimators.md for details. Volatility Cones Volatility cones show the percentile distribution of realized volatility at different lookback windows, revealing whether current vol is historically high or low. Construction 1. Get 1+ years of daily data. 2. For each lookback window (5, 10, 20, 60, 120 days): Compute rolling realized volatility. Extract percentiles: 5th, 25th, 50th, 75th, 95th. 3. Plot percentiles vs window length — the "cone" shape. 4. Overlay current realized vol at each window. Interpretation Current vol 75th percentile : historically elevated — expect mean reversion. Current vol < 25th percentile : historically compressed — expect expansion. Cone narrowing at longer windows : vol mean reverts over longer horizons. See references/volatility cones.md for full methodology and worked examples. Crypto Volatility Characteristics Crypto vol differs from traditional assets in important ways: Characteristic Detail Level 50–150% annualized is typical; TradFi equities are 15–25% Clustering Strong — high vol days cluster together Weekday patterns Weekend vol often lower but weekend gaps can be large Volume correlation Vol and volume are positively correlated Regime dependence Bull market vol ≠ bear market vol; ranges are different Mean reversion Vol mean reverts more reliably than price Tail risk Fat tails — more extreme moves than normal distribution predicts Regime Classification by Volatility Regime Annualized Vol Range Characteristics Low vol < 40% Range bound, mean reversion works Normal vol 40–80% Trending possible, balanced strategies High vol 80–120% Strong trends or sharp reversals Crisis vol 120% Liquidation cascades, reduced position size Volatility Forecasting EWMA Forecast Simple and effective. The current EWMA variance estimate is the 1 step forecast. Multi step forecasts are flat (same as 1 step). GARCH Forecast GARCH produces a term structure of variance forecasts: Where V L = ω / (1 − α − β) is the long run variance. Short horizon forecasts reflect current conditions. Long horizon forecasts converge to long run variance. The speed of convergence depends on α + β (persistence). See scripts/vol forecast.py for a working implementation. Practical Applications Position Sizing with Volatility See the position sizing skill for complete integration. ATR Based Stop Placement Vol Regime Strategy Selection Files References File Description references/estimators.md Full derivations and details for all volatility estimators references/volatility cones.md Cone construction methodology and interpretation guide Scripts File Description scripts/estimate volatility.py Multi estimator volatility computation with cone analysis scripts/vol forecast.py EWMA and GARCH forecasting with term structure output Related Skills regime detection — Classify market regimes using volatility as a key input. position sizing — Scale positions inversely with volatility. risk management — Portfolio level vol targeting and risk budgets. pandas ta — ATR and Bollinger Bands are volatility based indicators. custom indicators — Build crypto specific volatility indicators. Dependencies Optional for live data: