Skip to content

KB/api

GET /api/v1/signals/drawdown-risk

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/drawdown-risk

Handler: app.signals.routes.get_drawdown_risk
Methods: GET

Description

20-day drawdown-risk lens β€” a transparent z-score composite over nine credit / inflation / rate / funding LEVELS (hy_oas, ebp, nfci, real_yield_10y, t10y3m_spread, breakeven_5y/10y, gz_spread, ofr_fsi_funding). Each level is standardized vs its trailing window-row baseline (~2y default), oriented by economic risk-direction, and averaged into a 0-100 gauge. The response also carries trend β€” a descriptive 5-session trajectory qualifier (worsening / easing / steady from the point-in-time mean_z delta, dead-banded; abstains on thin history) β€” display context on the validated band, never a new band. Per-leg weights come from the feature_weights config map (unlisted legs default 1.0); ofr_fsi_funding carries 1.5 (highest forward-drawdown IC, ~0.278, of any tested component) and ebp + gz_spread carry 0.5 each (#111 3-B reweight β€” GZ βŠƒ EBP, so the split keeps the pair’s combined credit-premium mass at one leg, not double-counted).

The strongest leg is the dealer-gamma positioning input (net_gex_rank β€” 252d trailing percentile of the aggregate dealer net gamma, internal source dealer-gamma analytics / public label β€œdealer-gamma analytics”). It is the single strongest VALIDATED drawdown input (net-GEX-rank vs forward maxdd IC β‰ˆ +0.18/+0.25) and carries a genuine over-weight (2.0), not the 1.0 of the macro legs.

A probabilistic RISK gauge, NOT a predictor or timing trigger β€” see app/signals/drawdown_risk.py for the orientation table + caveats (one bear in-sample, equal-weight macro, regime-specific breakeven sign, eff-N caveat on the gamma IC).

Multi-horizon container. The response carries a horizons map (1-3d / 10d / 20d / 40d / 60d) β€” each slot is the standard composite shape plus horizon + skill_stamp (the honest OOS evidence behind that window) + a one-word strength grade (standard for 10d/20d, weak for 40d/60d, live_prior for 1-3d) the UI reads to label the slot instead of hard-coding horizon names. The 10d/20d slots serve the full gamma+macro composite (gamma skill lives at 10-20d); the 40d/60d slots serve a macro-legs-only composite labeled WEAK / in-sample (fails clean walk-forward β€” single 2022 bear). The 1-3d slot is the FROZEN hazard estimate (drawdown_hazard_1_3d calibration): score: None plus hazard_p15_pct / hazard_p20_pct / band / source_state, status: "live_prior", resolved from the latest row’s complacency_break_state + vix_close (abstains β€” unvalidated β€” when both are NULL). primary_horizon is now 1-3d (operator 2026-06-10); the legacy top-level keys still mirror the 20d composite.

Parameters

In Name Type Default Description
query window int 504

Curl

curl -s https://bigclawd.com/api/v1/signals/drawdown-risk