Skip to content

KB/api

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 in app/ 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