Lab API
Earnings Expected Move
Earnings Expected Move API
Live earnings-implied move decomposition for the next event, splitting the front-expiry straddle into the earnings-jump component vs. baseline diffusion drift using the pre/post-event SVI term structure.
Endpoint
Auth required (
X-Api-Key)
Rate Limited: Yes
Growth plan+
Parameters
| Name | In | Required | Default | Description |
|---|---|---|---|---|
symbol |
path | yes | - | Underlying symbol (case-insensitive). |
curl -H "X-Api-Key: YOUR_API_KEY" \
"https://lab.flashalpha.com/v1/earnings/expected-move/AAPL"
import requests
resp = requests.get(
"https://lab.flashalpha.com/v1/earnings/expected-move/AAPL",
headers={"X-Api-Key": "YOUR_API_KEY"}
)
data = resp.json()
print(f"Earnings-implied move: {data['expected_move']['earnings_implied_pct']}%")
const resp = await fetch(
"https://lab.flashalpha.com/v1/earnings/expected-move/AAPL",
{ headers: { "X-Api-Key": "YOUR_API_KEY" } }
);
const data = await resp.json();
console.log("Earnings-implied move: " + data.expected_move.earnings_implied_pct + "%");
Response
{
"symbol": "AAPL",
"underlying_price": 212.34,
"as_of": "2026-06-05T15:42:10Z",
"earnings_date": "2026-06-09",
"session": "amc",
"days_to_event": 4,
"expected_move": {
"raw_straddle_pct": 5.1,
"earnings_implied_pct": 4.6,
"baseline_drift_pct": 1.2,
"earnings_iv": 68.4,
"term_iv_post_event": 41.2,
"term_kink_pct": 27.2
}
}
Key Response Fields
| Field | Description |
|---|---|
underlying_price | Spot (quote mid) used for the decomposition. |
session | Reporting session of the event (bmo/amc). |
expected_move | Null when the pre/post-event expiry IVs cannot be resolved from the live term structure (no valid straddling expiries). |
expected_move.raw_straddle_pct | Total expected move (%) implied by the front straddle. |
expected_move.earnings_implied_pct | Portion of the move (%) attributed to the earnings jump. |
expected_move.baseline_drift_pct | Portion of the move (%) attributed to ordinary baseline diffusion. |
expected_move.earnings_iv | ATM IV (%) of the pre-event (front) expiry. |
expected_move.term_iv_post_event | ATM IV (%) of the first post-event expiry. |
expected_move.term_kink_pct | Term-structure kink (%) across the event - elevation of front vs. post-event IV. |
Errors
| Status | Description |
|---|---|
403 | Caller is below the Growth tier. |
404 | no_data - no upcoming earnings for the symbol; or symbol_not_found - no live market data for the symbol. |
About
Decomposes the front-expiry straddle for the next earnings event into the earnings-jump component versus ordinary baseline diffusion drift, using the pre/post-event SVI term structure. The term_kink_pct measures how much the front (pre-event) IV is elevated above the first post-event expiry.
When the pre/post-event expiry IVs cannot be resolved from the live term structure, expected_move is null - the surrounding event metadata is still returned.
Common Use Cases
- Strip
baseline_drift_pctout ofraw_straddle_pctto isolate the true earnings premium before pricing a trade - Size a pre-earnings position against the
earnings_implied_pctjump estimate rather than the raw straddle - Gauge term-structure steepness into the event via
term_kink_pctto judge how richly the front expiry is bid - Compare
earnings_ivagainstterm_iv_post_eventto estimate the post-print IV crush you would harvest selling premium - Set straddle/strangle break-evens off
earnings_implied_pctapplied tounderlying_price - Skip or flag symbols where
expected_moveis null (no resolvable straddling expiries) so downstream logic does not trade on stale inputs
Related
Related reading
- IV crush explained: the earnings volatility collapse - why the front-expiry premium you decompose here collapses after the print
- Complete guide to trading earnings volatility - end-to-end playbook for trading the expected move around events
Complementary endpoints
- Earnings overview - the hub tying together every earnings endpoint
- Earnings IV Crush - quantifies the post-event IV drop the term kink is pricing
- Earnings VRP - scores whether this implied move is rich vs. realized history
- Earnings Strategies - ranks structures to express a view on the decomposed move
Ready to build?
Get your free API key and start pulling live options data in 30 seconds.