GET /api/v1/signals/gamma-rail
Last verified
Auto-generated. This article is rebuilt from FastAPI route introspection by
scripts/build_api_kb.py. Edit the route docstring inapp/and re-run the script β do not edit this file directly.
GET /api/v1/signals/gamma-rail
Handler: app.signals.routes.get_spy_gamma_rail
Methods: GET
Description
SPY gamma rail β walls + ZGL + net-GEX + zone + per-strike ladder.
Shape mirrors the company GammaRailResponse (app/company/routes.py) so
the dashboard rail component is shared between SPY and single names.
The wide grain is the stored aggregate β app/gamma.py:compute_gex_profile
folds the nearest ~4 expirations into one per-strike map. Scalar
walls/ZGL/spot/zone come from the metrics cache (same source as
/signals/gamma); the per-strike ladder (top ~20 strikes by
abs(net_gex)) comes from gamma_profile_daily.
The near grain (front-expiry / 0DTE per-strike) reads the
gamma_profile_expiry_daily per-expiration substrate (forward-only
capture, 2026-06) and aggregates the front 2 expirations into a Near
ladder + walls β mirroring the company railβs near_exps = all_exps[:2].
That substrate accrues FORWARD from deploy, so until a cycle has persisted
per-expiration rows, near is None and near_status is
"accruing" (DOCTRINE P0: honest absence, not a faked grain). Once rows
land, near populates and near_status flips to "live".
Curl
curl -s https://bigclawd.com/api/v1/signals/gamma-rail