CayøLargo
← Back to siteAPI ReferencePricingChangelog
v1.0Swagger ↗

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.

GET/v1/gex/outcomescoreproalpha

Query Parameters

coinstringrequired

Underlying asset. Required.

e.g.BTCETH
lookback_hoursintegeroptional

Filter by lookback window: 1, 6, 12, or 24.

e.g.246
expiry_typestringoptional

Filter: DAILY, WEEKLY, MONTHLY, QUARTERLY.

e.g.WEEKLY
outcome_accuracystringoptional

Filter: HIT_EXACT, HIT_CLOSE, HIT_ZONE, MISS_NEAR, MISS_FAR.

e.g.HIT_CLOSE
fromstringoptional

Expiries from this date (ISO 8601).

e.g.2026-02-01T00:00:00Z
tostringoptional

Expiries until this date (ISO 8601).

e.g.2026-03-10T00:00:00Z
limitintegeroptional

Max rows returned. Default 500. The effective ceiling is your tier row limit, see Tiers and Limits.

e.g.200

Response Schema

Fields marked pro require a Pro subscription. Fields marked alpha require Alpha.

FieldTypeTierDescription
coinstringcoreUnderlying asset.
expiration_timestampdatetimecoreOption expiration time in UTC.
lookback_hoursintegercoreHow far before expiry the prediction was captured: 1, 6, 12, or 24 hours. Shorter lookback = fresher prediction = should be more accurate.
expiry_typestringcoreExpiry classification: DAILY, WEEKLY, MONTHLY, QUARTERLY.
prediction_timestampdatetimecoreWhen the prediction was captured (expiry minus lookback_hours).
predicted_magnetic_strikefloatcoreMagnetic strike at prediction time.
predicted_magnetic_gex_usdfloatcoreNet GEX at the magnetic strike at prediction time.
predicted_concentration_pctfloatcoreGamma concentration at prediction time. Higher concentration = stronger magnet.
predicted_magnet_dominancestringcoreDOMINANT, CONTESTED, or DISPERSED at prediction time.
predicted_pinning_zone_lowerfloatcoreLower pinning zone bound at prediction time.
predicted_pinning_zone_upperfloatcoreUpper pinning zone bound at prediction time.
predicted_stability_scoreintegeralphaStability score (0-100) at prediction time.
predicted_persistence_scoreintegeralphaPersistence score (0-100) at prediction time.
predicted_confidenceintegeralphaPrediction confidence (0-100) at prediction time.
predicted_pin_scorefloatalphaPin score (0-100, uncalibrated) at prediction time.
predicted_max_pain_strikefloatcoreMax pain strike at prediction time. The benchmark we compare against.
spot_at_predictionfloatcoreSpot price when the prediction was captured.
spot_at_expiryfloatcoreActual spot price at expiry settlement. Source: deribit_spot_rates.
distance_from_magnetic_pctfloatcoreDistance from settlement to predicted magnetic strike as pct. The core accuracy metric.
distance_to_max_pain_pctfloatcoreDistance from settlement to max pain as pct. For direct comparison: was our magnet or max pain closer?
closed_in_pinning_zonebooleancoreTRUE if settlement fell inside the predicted pinning zone.
spot_at_prediction_distance_pctfloatcoreDistance from spot at prediction time to the magnetic strike. Shows how far price had to travel.
price_converged_to_magnetbooleancoreTRUE if price moved closer to the magnet between prediction and expiry.
magnet_closer_than_max_painbooleancoreTRUE if our magnetic strike was closer to settlement than max pain. The head-to-head comparison.
total_oi_at_expiry_usdfloatcoreTotal OI in USD at expiry. Higher OI = stronger pinning mechanics.
filled_atdatetimealphaWhen this outcome row was computed.
outcome_accuracystringproHow close did settlement land to our predicted magnetic strike?
See detail ↓

Derived Fields

FieldTypeTiercollapse all
▶outcome_accuracystringprocollapse

How 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)

outcome_accuracy={HIT_EXACTif ∣d∣≤1%HIT_CLOSEif ∣d∣≤2%HIT_ZONEif in zone AND ∣d∣>2%MISS_NEARif ∣d∣≤5%MISS_FARif ∣d∣>5%\text{outcome\_accuracy} = \begin{cases} \text{HIT\_EXACT} & \text{if } |d| \leq 1\% \\ \text{HIT\_CLOSE} & \text{if } |d| \leq 2\% \\ \text{HIT\_ZONE} & \text{if in zone AND } |d| > 2\% \\ \text{MISS\_NEAR} & \text{if } |d| \leq 5\% \\ \text{MISS\_FAR} & \text{if } |d| > 5\% \end{cases}
RangeHIT_EXACT, HIT_CLOSE, HIT_ZONE, MISS_NEAR, MISS_FAR

Suggested Calculations

Not included in the API response. Compute these client-side from the fields above. Formulas and context provided.

FieldTypeInputsexpand all
▶hit_rate_by_lookbackfloatclient-sideWhat is our hit rate? Compute it yourself.expand

What 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.

Inputsoutcome_accuracylookback_hours

Hit rate per lookback window

hit_rate(w)=COUNT(HIT_EXACT+HIT_CLOSE)COUNT(∗)WHERE lookback_hours=w\text{hit\_rate}(w) = \frac{\text{COUNT}(\text{HIT\_EXACT} + \text{HIT\_CLOSE})}{\text{COUNT}(*)} \quad \text{WHERE lookback\_hours} = w
▶magnet_vs_max_pain_win_ratefloatclient-sideHow often does our magnet beat max pain? The ultimate test.expand

How 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.

Inputsmagnet_closer_than_max_painlookback_hours

Magnet vs max pain win rate

win_rate=COUNT(magnet_closer=TRUE)COUNT(∗)\text{win\_rate} = \frac{\text{COUNT}(\text{magnet\_closer} = \text{TRUE})}{\text{COUNT}(*)}
▶accuracy_by_expiry_typefloatclient-sideWhich expiry types pin best?expand

Which 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.

Inputsoutcome_accuracyexpiry_type
▶convergence_analysisstringclient-sideDoes price actually move toward the magnet over time?expand

Does 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)?

Inputsprice_converged_to_magnetspot_at_prediction_distance_pctlookback_hours
▶oi_vs_accuracystringclient-sideDo higher-OI expiries pin more reliably?expand

Do 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.

Inputstotal_oi_at_expiry_usdoutcome_accuracy
▶hit_rate_by_stability_bucketfloatclient-sideDo high-stability predictions hit more often?expand

Do 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.

Inputsoutcome_accuracypredicted_stability_score
▶hit_rate_by_dominancefloatclient-sideDo DOMINANT magnets pin more reliably than CONTESTED ones?expand

Do 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.

Inputsoutcome_accuracypredicted_magnet_dominance

Bi-weekly notes on crypto options and volatility, written for people who trade and study the market.

We use your email to send this newsletter and nothing else. Unsubscribe any time; each email carries a one-click link.

CayøLargo

Crypto options analytics platform: 37 Greeks, volatility surface intelligence, GEX gamma pinning, and flow analysis for BTC, ETH, SOL, XRP, AVAX, TRX. Updated every 10 minutes* from Deribit.

* - optimised data processing of 2500+ options every 10 min

Built by HAlcyon WAters

Halcyon Waters sp. z o.o. (LLC)

pl. Solny 2/3, 50-060 Wrocław, Poland

KRS: 0001245653, NIP: 8971973382

REGON: 54494305100000

© 2026 Halcyon Waters. All rights reserved.

Deribit today. Onchain options via Derive and Thalex ingesting now, cross-venue Greeks next • Supporting BTC, ETH, SOL, XRP, AVAX, TRX options, futures, perpetuals, spot rates

Risk Disclaimer: Cryptocurrency options trading involves substantial risk and may not be suitable for all investors. Past performance does not guarantee future results. This platform provides analytical tools for informational purposes only and should not be considered as financial advice. Please consult with a qualified financial advisor before making investment decisions.