Volatility skills are computed analytics — they run trusted numpy code over archive closes to produce derived volatility metrics. They never execute agent-authored code, and every result includes the provenance envelope with source: "computed".
These skills read real archive closes — no agent-supplied price series. Pass a symbol and a window; the skill pulls the closes from the archive and computes the metric.
Skill summary
Skill ID Tool name Source Runtime Description vol.realizedvol_realizedcomputed interactive Annualized realized volatility from archive closes vol.term_structurevol_term_structurecomputed interactive IV term structure by expiry vol.iv_rankvol_iv_rankcomputed interactive IV rank and percentile vol.vrpvol_vrpcomputed interactive Variance risk premium (IV − RV) vol.anomaly_scorevol_anomaly_scorecomputed interactive Z-score of current vol vs. history vol.charactervol_charactercomputed interactive Vol regime classification
vol.realized
Annualized realized volatility from archive closes. Computed as the annualized standard deviation of log returns over the window.
Arguments
Name Type Required Default Description symbolstring yes — Ticker symbol windowint no 20Lookback in trading days as_ofISO date no latest End date for the window annualizationint no 252Trading days per year methodstring no close_to_closeclose_to_close, parkinson, garman_klass, yang_zhang
What it computes : RV = std(log_returns[-window:]) * sqrt(annualization)
Example
vol_realized({ "symbol" : "SPY" , "window" : 20 , "method" : "close_to_close" })
{
"skill_id" : "vol.realized" ,
"data" : {
"symbol" : "SPY" , "window" : 20 , "as_of" : "2025-06-27" ,
"realized_vol" : 0.112 , "realized_vol_pct" : 11.2 ,
"method" : "close_to_close" , "annualization" : 252
},
"provenance" : { "source" : "computed" , "freshness" : { "as_of" : "2025-06-27T20:00:00Z" , "lag_seconds" : 0 }, "cost" : { "credits" : 1 , "tier" : "free" }, "warnings" : [] }
}
vol.term_structure
IV term structure — implied vol by expiry, derived from the archive options chain.
Arguments
Name Type Required Default Description symbolstring yes — Ticker symbol as_ofISO date no latest Snapshot date strikefloat no ATM Strike (defaults to spot) moneynessfloat no 1.0K/S ratio if strike omitted max_expiriesint no 12Max expiries to return
What it computes : pulls the archive options chain, fits IV per expiry (Black-Scholes), returns the curve.
Example
vol_term_structure({ "symbol" : "NVDA" , "moneyness" : 1.0 })
{
"skill_id" : "vol.term_structure" ,
"data" : {
"symbol" : "NVDA" , "as_of" : "2025-06-27" , "spot" : 128.42 ,
"curve" : [
{ "expiry" : "2025-07-18" , "dte" : 21 , "iv" : 0.42 },
{ "expiry" : "2025-08-15" , "dte" : 49 , "iv" : 0.39 },
{ "expiry" : "2025-09-19" , "dte" : 84 , "iv" : 0.37 },
{ "expiry" : "2025-12-19" , "dte" : 175 , "iv" : 0.35 }
],
"slope" : -0.0007
},
"provenance" : { "source" : "computed" , "freshness" : { "as_of" : "2025-06-27T20:00:00Z" , "lag_seconds" : 0 }, "cost" : { "credits" : 2 , "tier" : "basic" }, "warnings" : [] }
}
vol.iv_rank
IV rank and percentile — where current IV sits relative to its own trailing history.
Arguments
Name Type Required Default Description symbolstring yes — Ticker symbol lookback_daysint no 252History window as_ofISO date no latest Snapshot date strikefloat no ATM Strike
What it computes :
iv_rank = (current_iv - min_iv) / (max_iv - min_iv) * 100
iv_percentile = rank of current IV in the trailing distribution
Example
vol_iv_rank({ "symbol" : "TSLA" , "lookback_days" : 252 })
{
"skill_id" : "vol.iv_rank" ,
"data" : {
"symbol" : "TSLA" , "as_of" : "2025-06-27" ,
"current_iv" : 0.58 , "iv_rank" : 72 , "iv_percentile" : 0.78 ,
"lookback_min_iv" : 0.31 , "lookback_max_iv" : 0.92 , "lookback_days" : 252
},
"provenance" : { "source" : "computed" , "freshness" : { "as_of" : "2025-06-27T20:00:00Z" , "lag_seconds" : 0 }, "cost" : { "credits" : 2 , "tier" : "basic" }, "warnings" : [] }
}
vol.vrp
Variance risk premium — the gap between implied and realized vol. Positive VRP means options are priced richer than realized.
Arguments
Name Type Required Default Description symbolstring yes — Ticker symbol rv_windowint no 21Realized vol lookback (days) iv_windowint no 30Implied vol horizon (days) as_ofISO date no latest Snapshot date
What it computes : VRP = IV^2 − RV^2 (in variance space), plus the ratio IV / RV.
Example
vol_vrp({ "symbol" : "SPY" , "rv_window" : 21 , "iv_window" : 30 })
{
"skill_id" : "vol.vrp" ,
"data" : {
"symbol" : "SPY" , "as_of" : "2025-06-27" ,
"iv" : 0.142 , "rv" : 0.112 ,
"vrp_variance" : 0.0078 , "iv_rv_ratio" : 1.27
},
"provenance" : { "source" : "computed" , "freshness" : { "as_of" : "2025-06-27T20:00:00Z" , "lag_seconds" : 0 }, "cost" : { "credits" : 2 , "tier" : "basic" }, "warnings" : [] }
}
vol.anomaly_score
Z-score of current realized vol against its trailing distribution — flags vol spikes.
Arguments
Name Type Required Default Description symbolstring yes — Ticker symbol windowint no 20Realized vol window lookback_daysint no 252Baseline history as_ofISO date no latest Snapshot date
What it computes : z = (current_rv - mean_rv) / std_rv over the trailing lookback_days.
Example
vol_anomaly_score({ "symbol" : "NVDA" , "window" : 20 })
{
"skill_id" : "vol.anomaly_score" ,
"data" : {
"symbol" : "NVDA" , "as_of" : "2025-06-27" ,
"current_rv" : 0.48 , "baseline_mean_rv" : 0.35 , "baseline_std_rv" : 0.08 ,
"z_score" : 1.625 , "is_anomaly" : false , "threshold" : 2.0
},
"provenance" : { "source" : "computed" , "freshness" : { "as_of" : "2025-06-27T20:00:00Z" , "lag_seconds" : 0 }, "cost" : { "credits" : 2 , "tier" : "basic" }, "warnings" : [] }
}
vol.character
Vol regime classification — labels the current vol environment.
Arguments
Name Type Required Default Description symbolstring yes — Ticker symbol lookback_daysint no 252History window as_ofISO date no latest Snapshot date
What it computes : classifies the regime as low, normal, elevated, high, or crisis based on realized vol percentile and trend; also returns term_structure (contango / backwardation) and trend (rising / falling / flat).
Example
vol_character({ "symbol" : "SPY" })
{
"skill_id" : "vol.character" ,
"data" : {
"symbol" : "SPY" , "as_of" : "2025-06-27" ,
"regime" : "low" , "rv_percentile" : 0.18 ,
"term_structure" : "contango" , "trend" : "falling" ,
"iv_rank" : 22
},
"provenance" : { "source" : "computed" , "freshness" : { "as_of" : "2025-06-27T20:00:00Z" , "lag_seconds" : 0 }, "cost" : { "credits" : 2 , "tier" : "basic" }, "warnings" : [] }
}
Next steps
Options Skills Black-Scholes greeks and implied vol — pure computed from agent-supplied inputs.
Computed Analytics Skills Correlations, factor exposures, DCF, portfolio optimization, Monte Carlo, and tearsheets.