GEX
GEX outcomes
Returns validation data comparing our pinning predictions against actual settlement prices. Each expiry event generates 4 rows across different lookback windows (1h, 6h, 12h, 24h before expiry). Contains the predicted magnetic strike, max pain, stability/persistence scores at prediction time, and the actual settlement outcome with distance metrics and accuracy classification. Enables hit rate analysis by stability bucket, dominance type, expiry type, and direct magnetic strike vs max pain comparison. This is the credibility foundation of the entire GEX system. Indefinite retention.
/v1/gex/outcomesproalphaQuery Parameters
coinstringrequiredUnderlying asset. Required.
BTCETHlookback_hoursintegeroptionalFilter by lookback window: 1, 6, 12, or 24.
246expiry_typestringoptionalFilter: DAILY, WEEKLY, MONTHLY, QUARTERLY.
WEEKLYoutcome_accuracystringoptionalFilter: HIT_EXACT, HIT_CLOSE, HIT_ZONE, MISS_NEAR, MISS_FAR.
HIT_CLOSEfromstringoptionalExpiries from this date (ISO 8601).
2026-02-01T00:00:00ZtostringoptionalExpiries until this date (ISO 8601).
2026-03-10T00:00:00ZlimitintegeroptionalMax rows returned. Default 500, max 5000.
200Response Schema
Fields marked pro require a Pro subscription. Fields marked alpha require Alpha.
| Field | Type | Tier | Description |
|---|---|---|---|
coin | string | pro | Underlying asset. |
expiration_timestamp | datetime | pro | Option expiration time in UTC. |
lookback_hours | integer | pro | How far before expiry the prediction was captured: 1, 6, 12, or 24 hours. Shorter lookback = fresher prediction = should be more accurate. |
expiry_type | string | pro | Expiry classification: DAILY, WEEKLY, MONTHLY, QUARTERLY. |
prediction_timestamp | datetime | pro | When the prediction was captured (expiry minus lookback_hours). |
predicted_magnetic_strike | float | pro | Magnetic strike at prediction time. |
predicted_magnetic_gex_usd | float | pro | Net GEX at the magnetic strike at prediction time. |
predicted_concentration_pct | float | pro | Gamma concentration at prediction time. Higher concentration = stronger magnet. |
predicted_magnet_dominance | string | pro | DOMINANT, CONTESTED, or DISPERSED at prediction time. |
predicted_pinning_zone_lower | float | pro | Lower pinning zone bound at prediction time. |
predicted_pinning_zone_upper | float | pro | Upper pinning zone bound at prediction time. |
predicted_stability_score | integer | alpha | Stability score (0-100) at prediction time. |
predicted_persistence_score | integer | alpha | Persistence score (0-100) at prediction time. |
predicted_confidence | integer | alpha | Prediction confidence (0-100) at prediction time. |
predicted_pin_score | float | alpha | Pin score (0-100, uncalibrated) at prediction time. |
predicted_max_pain_strike | float | pro | Max pain strike at prediction time. The benchmark we compare against. |
spot_at_prediction | float | pro | Spot price when the prediction was captured. |
spot_at_expiry | float | pro | Actual spot price at expiry settlement. Source: deribit_spot_rates. |
distance_from_magnetic_pct | float | pro | Distance from settlement to predicted magnetic strike as pct. The core accuracy metric. |
distance_to_max_pain_pct | float | pro | Distance from settlement to max pain as pct. For direct comparison: was our magnet or max pain closer? |
closed_in_pinning_zone | boolean | pro | TRUE if settlement fell inside the predicted pinning zone. |
spot_at_prediction_distance_pct | float | pro | Distance from spot at prediction time to the magnetic strike. Shows how far price had to travel. |
price_converged_to_magnet | boolean | pro | TRUE if price moved closer to the magnet between prediction and expiry. |
magnet_closer_than_max_pain | boolean | pro | TRUE if our magnetic strike was closer to settlement than max pain. The head-to-head comparison. |
total_oi_at_expiry_usd | float | pro | Total OI in USD at expiry. Higher OI = stronger pinning mechanics. |
filled_at | datetime | alpha | When this outcome row was computed. |
outcome_accuracy | string | pro | How close did settlement land to our predicted magnetic strike? See detail ↓ |
Derived Fields
outcome_accuracystringprocollapseHow close did settlement land to our predicted magnetic strike?
Classification of prediction accuracy based on distance from settlement to magnetic strike. HIT_EXACT: within 1 pct (bull's eye). HIT_CLOSE: within 2 pct (strong hit). HIT_ZONE: inside the pinning zone but more than 2 pct from magnet. MISS_NEAR: within 5 pct (close miss). MISS_FAR: more than 5 pct away (clear miss). The 24h lookback window is the hardest test; 1h lookback is easiest.
Accuracy classification (d = distance from settlement to magnetic strike)
HIT_EXACT, HIT_CLOSE, HIT_ZONE, MISS_NEAR, MISS_FARSuggested Calculations
Not included in the API response. Compute these client-side from the fields above. Formulas and context provided.
hit_rate_by_lookbackfloatclient-sideWhat is our hit rate? Compute it yourself.expandWhat is our hit rate? Compute it yourself.
Group outcomes by lookback_hours, count HIT_EXACT + HIT_CLOSE as hits, divide by total. The 1h lookback should have the highest hit rate (freshest data). The 24h lookback is the hardest test and the most impressive when it hits. This is the most important number for evaluating our system. We expose it so you can verify it yourself.
outcome_accuracylookback_hoursHit rate per lookback window
magnet_vs_max_pain_win_ratefloatclient-sideHow often does our magnet beat max pain? The ultimate test.expandHow often does our magnet beat max pain? The ultimate test.
Percentage of expiries where our gamma-weighted magnetic strike was closer to settlement than the OI-weighted max pain. If this is consistently above 50 pct, we have a measurable edge over the industry standard. Compute it by lookback window. If we beat max pain at 24h lookback, the prediction has real lead time. All fields needed for this calculation are Pro tier.
magnet_closer_than_max_painlookback_hoursMagnet vs max pain win rate
accuracy_by_expiry_typefloatclient-sideWhich expiry types pin best?expandWhich expiry types pin best?
Group by expiry_type and compute hit rates. WEEKLY and MONTHLY expiries typically have higher OI and stronger pinning mechanics than DAILY. QUARTERLY expiries are complex (multiple competing effects). This tells you which expiries to watch most closely with the pinning system.
outcome_accuracyexpiry_typeconvergence_analysisstringclient-sideDoes price actually move toward the magnet over time?expandDoes price actually move toward the magnet over time?
Filter to price_converged_to_magnet = TRUE, compute the percentage. If convergence rate is high (say > 60 pct), the magnet is genuinely attracting price. Cross-reference with spot_at_prediction_distance_pct: does price converge more reliably when it starts close (< 2 pct) vs far (> 5 pct)?
price_converged_to_magnetspot_at_prediction_distance_pctlookback_hoursoi_vs_accuracystringclient-sideDo higher-OI expiries pin more reliably?expandDo higher-OI expiries pin more reliably?
Bucket expiries by OI magnitude and compute hit rates per bucket. Higher OI should produce stronger pinning (more gamma = more dealer hedging). If hit rates do not improve with OI, something else dominates.
total_oi_at_expiry_usdoutcome_accuracyhit_rate_by_stability_bucketfloatclient-sideDo high-stability predictions hit more often?expandDo high-stability predictions hit more often?
Bucket outcomes by predicted_stability_score (0-30 = low, 30-70 = medium, 70-100 = high) and compute hit rate per bucket. If stability above 70 has a meaningfully higher hit rate, the Stability Score is a validated signal and belongs in the calibrated Pin Score model.
outcome_accuracypredicted_stability_scorehit_rate_by_dominancefloatclient-sideDo DOMINANT magnets pin more reliably than CONTESTED ones?expandDo DOMINANT magnets pin more reliably than CONTESTED ones?
Group by predicted_magnet_dominance (DOMINANT, CONTESTED, DISPERSED) and compute hit rates. DOMINANT magnets should pin more reliably. This validates whether the dominance classification adds predictive power beyond raw concentration.
outcome_accuracypredicted_magnet_dominance