From option-volatility
Analyze the time-axis implied vol term structure for a ticker — ATM IV across expiries, contango vs backwardation, and event-vol jumps (earnings, FOMC, expirations). Use this skill when the user asks about IV across expiries, VIX9D/VIX/VIX3M shape, earnings vol bump, near-vs-far IV, or whether to roll or sell vol farther/nearer. Triggers: "term structure", "contango", "backwardation", "vol curve", "VIX9D vs VIX", "earnings vol crush", "IV rank by expiry", "near vol vs far vol". Default: ATM strike, all listed expiries up to 1Y.
How this skill is triggered — by the user, by Claude, or both
Slash command
/option-volatility:vol-term-structureThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Pull ATM IV across all listed expiries, identify contango vs backwardation, and flag event-driven jumps.
Pull ATM IV across all listed expiries, identify contango vs backwardation, and flag event-driven jumps.
Use yfinance-options to list expiries; filter to expiries with at least 10 contracts and a market-mid spread under 30% for the ATM strike. Keep up to 12 expiries (1Y horizon is plenty for vol-term-structure work).
For each expiry T:
slope_short = IV(2nd expiry) − IV(1st expiry)
slope_long = IV(last expiry) − IV(median expiry)
| Shape | Pattern | Interpretation |
|---|---|---|
| Contango | Front-end IV < back-end IV (positive slope) | Quiet regime, vol-sellers' market |
| Backwardation | Front-end IV > back-end IV (negative slope) | Stress regime, vol-buyers' market |
| Humped | Local maximum at one expiry, then decline | Event vol — earnings, FDA, Fed |
| Bowl | Local minimum mid-curve | Rare; suggests pricing dislocation |
Print the percentile of slope_short over the past year. Sustained backwardation often precedes selloffs (or follows them — context matters).
If two adjacent expiries differ by > 3 vol points and there's a known scheduled event between them (earnings date, FOMC, ex-div), flag the event as the likely cause.
Check the earnings calendar:
!`python3 -c "import yfinance as yf; t = yf.Ticker('AAPL').calendar; print(t)" 2>/dev/null || echo "Calendar unavailable"`
The expiry after an earnings date typically has +5 to +15 vol points on single-name names. This vol crashes 30-60% the day after the print — the canonical "earnings vol crush" trade.
| Setup | Trade | Why |
|---|---|---|
| Steep contango, no event ahead | Calendar (sell near, buy far) | Front-month rolls down the curve |
| Backwardation extreme | Buy front-month vol | Curve mean-reverts to flat |
| Earnings bump | Sell front-of-earnings, buy back after | IV crush is reliable; magnitude isn't |
| Flat curve | No vol-curve trade — pick a different angle |
Never sell pre-event vol without a sizing plan. A miss-and-gap can erase weeks of premium collection.
For the cross-strike picture (skew at each expiry), recommend vol-skew or full iv-surface.
npx claudepluginhub dongzhuoyao/finance-option-skills --plugin option-volatilityCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.