Narrative Analysis API
Get AI-generated plain-English briefings on the current options exposure landscape — regime, key levels, flow, vanna, charm, and outlook.
What Is Narrative Analysis?
The Narrative endpoint translates raw options exposure data into a structured, plain-English market briefing. Instead of interpreting numbers yourself, you get ready-to-use sections covering the gamma regime, day-over-day GEX changes, key price levels, notable flow activity, vanna and charm effects, 0DTE significance, and an overall outlook. The response also includes the raw numeric data backing each narrative section, so you can combine human-readable text with quantitative analysis.
Common Use Cases
- Morning briefings — auto-generate pre-market reports for traders without manual data analysis
- Client reports — include narrative sections in client-facing research or newsletters
- Chatbot integrations — feed narrative text directly into chat-based trading assistants
- Alert enrichment — attach narrative context to exposure-based alerts so recipients understand the significance
- Backtesting signal quality — use the outlook field as a qualitative signal alongside quantitative indicators
When to Use This Endpoint
Use the Narrative endpoint when you need human-readable interpretations. For raw numbers only, use the Summary or individual exposure endpoints. Narrative is ideal for reports, dashboards with text panels, and any workflow where a non-quant audience needs to understand the data.
Endpoint
X-Api-Key)
Rate Limited: Yes
Growth plan+
Parameters
| Name | In | Required | Default | Description |
|---|---|---|---|---|
symbol |
path | yes | — | Underlying symbol |
curl -H "X-Api-Key: YOUR_API_KEY" \
"https://lab.flashalpha.com/v1/exposure/narrative/SPY"
import requests
resp = requests.get(
"https://lab.flashalpha.com/v1/exposure/narrative/SPY",
headers={"X-Api-Key": "YOUR_API_KEY"}
)
data = resp.json()
print(data['narrative']['regime'])
print(data['narrative']['outlook'])
const resp = await fetch(
"https://lab.flashalpha.com/v1/exposure/narrative/SPY",
{ headers: { "X-Api-Key": "YOUR_API_KEY" } }
);
const data = await resp.json();
console.log(data.narrative.regime);
console.log(data.narrative.outlook);
Response
{
"symbol": "SPY",
"underlying_price": 597.505,
"as_of": "2026-02-28T16:30:45Z",
"narrative": {
"regime": "Dealers are long gamma (net GEX +$2.9B) — expect mean-reverting, range-bound price action.",
"gex_change": "Net GEX increased from +$2.6B to +$2.9B (+11.5%) — gamma cushion strengthening.",
"key_levels": "Call wall at 600, Put wall at 595, Gamma flip at 595.25.",
"flow": "Top OI changes: +5,000 call OI at 600 strike, -2,000 put OI at 595 strike.",
"vanna": "Positive vanna (+$1.2B) with VIX at 18.5 — vol compression supports upside.",
"charm": "Positive charm (+$850M) — time decay pushing dealers to buy, providing support.",
"zero_dte": "0DTE accounts for 10% of total GEX — minimal intraday impact.",
"outlook": "Positive gamma regime with strengthening cushion. Testing 600 call wall.",
"data": {
"net_gex": 2850000000,
"net_gex_prior": 2600000000,
"net_gex_change_pct": 9.6,
"vix": 18.5,
"gamma_flip": 595.25,
"call_wall": 600.0,
"put_wall": 595.0,
"regime": "positive_gamma",
"zero_dte_pct": 10.0,
"top_oi_changes": [{"strike": 600.0, "type": "C", "oi_change": 5000, "volume": 1250}]
}
}
}
Key Response Fields
| Field | Type | Description |
|---|---|---|
symbol | string | Underlying symbol |
underlying_price | number | Current price of underlying |
as_of | string | ISO 8601 timestamp |
narrative.regime | string | Plain-English gamma regime description |
narrative.gex_change | string | Day-over-day GEX change narrative |
narrative.key_levels | string | Key price levels summary |
narrative.flow | string | Notable options flow activity |
narrative.vanna | string | Vanna exposure interpretation |
narrative.charm | string | Charm exposure interpretation |
narrative.zero_dte | string | 0DTE impact assessment |
narrative.outlook | string | Overall market outlook summary |
narrative.data | object | Raw numeric data backing each narrative section |