Exposure History API
Retrieve daily historical exposure snapshots to track GEX, DEX, VEX, CHEX trends, regime changes, and level shifts over time.
What Is Exposure History?
The History endpoint returns daily snapshots of options exposure metrics over a configurable lookback window. Each snapshot includes the underlying price, all four net exposure values (GEX, DEX, VEX, CHEX), the gamma flip level, call and put walls, and the regime classification for that day. Use this data to detect regime transitions, track exposure trends, and build time-series models.
Common Use Cases
- Regime change detection — find the exact dates when gamma flipped from positive to negative or vice versa
- Trend analysis — chart GEX over 30 days to spot whether dealer positioning is tightening or loosening
- Backtesting — combine historical exposure data with price data to validate exposure-based trading strategies
- Level drift tracking — monitor how the call wall, put wall, and gamma flip levels shift over time
- Correlation studies — compare exposure trends with price, VIX, or volume for research and alpha generation
When to Use This Endpoint
Use the History endpoint for any analysis that requires a time dimension. For current-day exposure, use the individual GEX, DEX, VEX, CHEX endpoints or Summary. History is ideal for backtesting, trend charts, and regime change detection.
Coming Soon: This endpoint currently returns 503 with a coming_soon status. The response format below shows the expected structure once the feature is available. Requires a Growth plan or above.
Endpoint
X-Api-Key)
Rate Limited: Yes
Growth plan+
Parameters
| Name | In | Required | Default | Description |
|---|---|---|---|---|
symbol |
path | yes | — | Underlying symbol |
days |
query | no | 30 |
Days of history 1–365 |
curl -H "X-Api-Key: YOUR_API_KEY" \
"https://lab.flashalpha.com/v1/exposure/history/SPY?days=7"
import requests
resp = requests.get(
"https://lab.flashalpha.com/v1/exposure/history/SPY",
headers={"X-Api-Key": "YOUR_API_KEY"},
params={"days": 7}
)
data = resp.json()
for snap in data['snapshots']:
print(f"{snap['date']}: GEX=${snap['net_gex']:,.0f} | {snap['regime']}")
const resp = await fetch(
"https://lab.flashalpha.com/v1/exposure/history/SPY?days=7",
{ headers: { "X-Api-Key": "YOUR_API_KEY" } }
);
const data = await resp.json();
data.snapshots.forEach(snap => {
console.log(`${snap.date}: GEX=$${snap.net_gex.toLocaleString()} | ${snap.regime}`);
});
Response
{
"symbol": "SPY",
"days": 7,
"count": 5,
"snapshots": [
{
"date": "2026-02-28",
"underlying_price": 597.505,
"net_gex": 2850000000,
"net_dex": -450000000,
"net_vex": 1200000000,
"net_chex": 850000000,
"gamma_flip": 595.25,
"call_wall": 600.0,
"put_wall": 595.0,
"regime": "positive_gamma"
}
]
}
Key Response Fields
| Field | Type | Description |
|---|---|---|
symbol | string | Underlying symbol |
days | number | Requested lookback window in days |
count | number | Number of snapshots returned (trading days only) |
snapshots | array | Daily exposure snapshots |
snapshots[].date | string | Snapshot date (yyyy-MM-dd) |
snapshots[].underlying_price | number | Closing price of underlying on that date |
snapshots[].net_gex | number | Net gamma exposure in dollars |
snapshots[].net_dex | number | Net delta exposure in dollars |
snapshots[].net_vex | number | Net vanna exposure in dollars |
snapshots[].net_chex | number | Net charm exposure in dollars |
snapshots[].gamma_flip | number | Gamma flip level for that date |
snapshots[].call_wall | number | Call wall level for that date |
snapshots[].put_wall | number | Put wall level for that date |
snapshots[].regime | string | Gamma regime: positive_gamma, negative_gamma, or undetermined |