Skew Strategy API
Pure-signal read of 25-delta skew (put vs call wing richness and the risk reversal) for one expiry. No structure is selected; best_structures is always empty and decision is neutral.
Endpoint
X-Api-Key)
Rate Limited: Yes
Growth plan+
Parameters
| Name | In | Required | Default | Description |
|---|---|---|---|---|
symbol | path | yes | - | Underlying symbol. |
expiry | query | no | nearest upcoming expiry | yyyy-MM-dd. The expiry to read. |
curl -H "X-Api-Key: YOUR_API_KEY" \
"https://lab.flashalpha.com/v1/strategies/skew/SPY"
import requests
resp = requests.get(
"https://lab.flashalpha.com/v1/strategies/skew/SPY",
headers={"X-Api-Key": "YOUR_API_KEY"}
)
data = resp.json()
print(f"{data['regime']} rr25={data['metrics']['risk_reversal_25d']}")
const resp = await fetch(
"https://lab.flashalpha.com/v1/strategies/skew/SPY",
{ headers: { "X-Api-Key": "YOUR_API_KEY" } }
);
const data = await resp.json();
console.log(`${data.regime} rr25=${data.metrics.risk_reversal_25d}`);
Response
Returns the standard strategy decision envelope. This is a pure-signal endpoint, so best_structures is always empty and decision is neutral. Only metrics and regime change per strategy.
{
"strategy": "skew",
"symbol": "SPY",
"timestamp": "2026-06-05T14:32:11Z",
"decision": "neutral",
"score": 55,
"confidence": 0.81,
"regime": "put_skew",
"best_structures": [],
"metrics": {
"expiry": "2026-06-19",
"days_to_expiry": 14,
"atm_iv": 0.142,
"call_iv_25d": 0.131,
"put_iv_25d": 0.168,
"risk_reversal_25d": -0.037,
"skew_slope": -0.18,
"dominant_wing": "put",
"sample_count": 42,
"underlying_price": 589.12
},
"risk_flags": [],
"why": ["25-delta puts trade 3.7 vol points over 25-delta calls (put-skewed)."],
"avoid_if": ["Sample is thin or the wings cannot both be priced."],
"data_quality": { "score": 88, "warnings": [] }
}
Strategy-specific fields
Notable metrics keys (in addition to the always-present underlying_price):
| Metric |
|---|
expiry |
days_to_expiry |
atm_iv |
call_iv_25d |
put_iv_25d |
risk_reversal_25d |
skew_slope |
dominant_wing |
sample_count |
underlying_price |
regime values: put_skew, call_skew, flat_skew; plus no_skew_data (insufficient-data case).
Errors
| Status | error |
When |
|---|---|---|
400 | invalid_expiry | expiry is present but not yyyy-MM-dd. |
403 | tier_restricted | Caller is below the Growth plan. |
404 | symbol_not_found | No market data for the symbol. |
About
This strategy is a pure-signal read of 25-delta skew for a single expiry: it reports put vs call wing richness, the 25-delta risk reversal, ATM and 25-delta IVs, the skew slope, and the dominant wing. No trade structure is selected.
It returns the standard strategy decision envelope shared by all Strategy Signals endpoints, but as a signal-only read best_structures is always empty and decision is neutral. When both 25-delta wings cannot be priced, it returns decision: insufficient_data with regime: no_skew_data.
Common Use Cases
- Read the skew regime - use
regimeto classify an expiry as put-skewed, call-skewed, or flat and pick the right wing to fade - Trade only clean signals - act when
decisioniscandidateand skipno_setupreads without review - Drop in the proposed structure - pull
best_structures[]for a risk-reversal or wing-credit spread sized to the skew dislocation - Rank the watchlist - sort a universe by
scoreto surface symbols with the most extreme wing richness - Size on conviction - scale exposure by
scoreandconfidencerather than treating every steep skew alike - Respect the guardrails - honor
risk_flags[]and require a cleandata_qualitybefore acting on a thin-wing fit
Related
Related reading
- Volatility skew trading strategies with live data - practical setups built on the skew read
- ML on options data: a quant guide - feed skew features into a systematic model
- Alpha decay: which signals erode - how quickly a skew edge fades
Complementary endpoints
- Strategy Signals overview - the shared decision envelope across every strategy
- Tail Pricing - price the downside wing the skew is steepening
- Surface Anomaly - confirm the wing dislocation against the full fitted surface
Ready to build?
Get your free API key and start pulling live options data in 30 seconds.