Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
agiprolabs avatar

Volatility Modeling

  • 229 installs
  • 257 repo stars
  • Updated June 24, 2026
  • agiprolabs/claude-trading-skills

volatility-modeling is a Claude Code skill that estimates and forecasts crypto volatility using GARCH, EWMA, realized-volatility estimators, and volatility cones.

About

A Claude Code skill for estimating and forecasting volatility in crypto markets. It covers realized-volatility estimators (close-to-close, Parkinson, Garman-Klass, Yang-Zhang), EWMA and GARCH forecasting, and volatility cones for regime classification. Developers use it to drive position sizing, stop placement, and regime detection.

  • Estimators: close-to-close, Parkinson, Garman-Klass, Yang-Zhang, EWMA, GARCH(1,1)
  • Builds volatility cones showing where current vol sits versus history
  • Applies to position sizing, stop placement, and regime detection

Volatility Modeling by the numbers

  • 229 all-time installs (skills.sh)
  • Ranked #417 of 1,106 Finance & Trading skills by installs in the Skillselion catalog
  • Data as of Aug 4, 2026 (Skillselion catalog sync)
At a glance

volatility-modeling capabilities & compatibility

Free; runs locally in Python with NumPy

Capabilities
volatility modeling · risk management · position sizing · regime detection · volatility forecasting
Use cases
data analysis · trading
Pricing
Free
From the docs

What volatility-modeling says it does

Volatility — the magnitude of price fluctuations — is arguably the single most important quantity in trading.
SKILL.md
The most efficient single-day OHLC estimator.
SKILL.md
The workhorse autoregressive volatility model. Captures volatility clustering.
SKILL.md
npx skills add https://github.com/agiprolabs/claude-trading-skills --skill volatility-modeling

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs229
repo stars257
Last updatedJune 24, 2026
Repositoryagiprolabs/claude-trading-skills

What it does

Estimate and forecast crypto volatility to size positions, place stops, and classify market regimes.

Who is it for?

Quantifying and forecasting volatility to drive position sizing and regime detection.

Skip if: Backtesting full strategies or executing trades.

When should I use this skill?

You need a volatility estimate or forecast for sizing, stops, or regime classification.

What you get

Volatility estimates, forecasts, and cones for a crypto asset.

  • Volatility estimates, forecasts, and volatility-cone regime classification

By the numbers

  • 6 volatility estimators covered
  • GARCH(1,1) and EWMA forecasting models

Files

SKILL.mdMarkdownGitHub ↗

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 CaseHow Volatility Is Used
Position sizingScale position inversely with vol so each trade risks a consistent dollar amount
Stop placementATR-based stops widen in high-vol regimes, tighten in low-vol
Strategy selectionMean-reversion works in low vol; momentum works in high vol
Risk budgetingVol-target portfolios maintain constant portfolio-level risk
Regime detectionVol regime shifts signal changing market dynamics
Option pricingImplied 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.

import numpy as np

log_returns = np.log(closes[1:] / closes[:-1])
vol_daily = np.std(log_returns, ddof=1)
vol_annual = vol_daily * np.sqrt(365)  # crypto trades 365 days
  • 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.

hl_ratio = np.log(highs / lows)
vol_parkinson = np.sqrt(np.mean(hl_ratio**2) / (4 * np.log(2))) * np.sqrt(365)
  • 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.

hl = np.log(highs / lows)
co = np.log(closes / opens)
gk = np.mean(0.5 * hl**2 - (2 * np.log(2) - 1) * co**2)
vol_gk = np.sqrt(gk) * np.sqrt(365)
  • 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 λ.

lam = 0.94  # RiskMetrics default for daily
ewma_var = np.zeros(len(returns))
ewma_var[0] = returns[0] ** 2
for t in range(1, len(returns)):
    ewma_var[t] = lam * ewma_var[t - 1] + (1 - lam) * returns[t - 1] ** 2
vol_ewma = np.sqrt(ewma_var) * np.sqrt(365)
  • λ = 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.

σ²_t = ω + α · r²_{t-1} + β · σ²_{t-1}
  • ω: 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:

CharacteristicDetail
Level50–150% annualized is typical; TradFi equities are 15–25%
ClusteringStrong — high-vol days cluster together
Weekday patternsWeekend vol often lower but weekend gaps can be large
Volume correlationVol and volume are positively correlated
Regime dependenceBull market vol ≠ bear market vol; ranges are different
Mean reversionVol mean-reverts more reliably than price
Tail riskFat tails — more extreme moves than normal distribution predicts

Regime Classification by Volatility

RegimeAnnualized Vol RangeCharacteristics
Low vol< 40%Range-bound, mean reversion works
Normal vol40–80%Trending possible, balanced strategies
High vol80–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:

σ²_{t+h} = V_L + (α + β)^h · (σ²_t − V_L)

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

# Vol-target position sizing
target_vol = 0.02  # 2% daily portfolio vol target
current_vol = 0.05  # 5% daily asset vol (annualized ~95%)
weight = target_vol / current_vol  # = 0.40 → 40% allocation

See the position-sizing skill for complete integration.

ATR-Based Stop Placement

atr_14 = talib.ATR(highs, lows, closes, timeperiod=14)
stop_distance = 2.0 * atr_14[-1]  # 2x ATR stop
stop_price = entry_price - stop_distance  # for longs

Vol-Regime Strategy Selection

vol_percentile = current_vol_percentile(token, window=30)
if vol_percentile < 25:
    strategy = "mean_reversion"
elif vol_percentile > 75:
    strategy = "momentum_breakout"
else:
    strategy = "balanced"

---

Files

References

FileDescription
references/estimators.mdFull derivations and details for all volatility estimators
references/volatility_cones.mdCone construction methodology and interpretation guide

Scripts

FileDescription
scripts/estimate_volatility.pyMulti-estimator volatility computation with cone analysis
scripts/vol_forecast.pyEWMA 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

uv pip install pandas numpy scipy

Optional for live data:

uv pip install httpx

Related skills

FAQ

Which estimators are covered?

Close-to-close, Parkinson, Garman-Klass, Yang-Zhang, EWMA, and GARCH(1,1).

What is a volatility cone?

A view of the percentile distribution of realized volatility across lookback windows, showing whether current vol is historically high or low.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.