VIX9D/VIX Stressed Inversion
Last verified
Auto-generated. This article is rebuilt from
app/signals/config/alert_thresholds.jsonbyscripts/build_alerts_kb.py. Edit the alert config and re-run the script β do not edit this file directly.
VIX9D/VIX Stressed Inversion
Alert ID: VIX9D_VIX_STRESSED
Category: volatility
Cross-detection: yes
Severity
WARNING β conditions deteriorating; worth monitoring
Trigger condition
{
"field": "vix9d_vix_ratio",
"op": "gte",
"value": 1.05,
"prev_op": "lt",
"prev_value": 1.05
}
vix9d_vix_ratio >= 1.05
Previous read must have satisfied vix9d_vix_ratio < 1.05 (cross-detection: fires only on the transition, not while the condition persists).
Cross-detection alerts fire only on the transition into the trigger state β the condition must have been false on the previous evaluation. Persistent states do not re-fire.
Message template
VIX9D/VIX ratio crossed above 1.05 to {vix9d_vix_ratio:.3f} β stressed front-month inversion (top-decile band). Strongest W1 amplification band (q90 lift 2.62x on the stored series): expect bigger moves BOTH ways, 1-5 sessions. Not a directional signal.
Rendered with the current signals dict via Python str.format. Placeholders that fail to resolve fall back to the raw template (see _format_message in app/signals/alerts.py).
Cooldown / dedup
- Cooldown: none. Re-evaluation on every cycle.
- Dedup: at most one
active(oracknowledged) row peralert_idat a time. Re-firing while active updatesfired_atand the message but keeps the originalfirst_fired_at. - Cross-detection: does not auto-resolve when the condition clears β the alert row stays as the historical record of the transition itself.
Notifies
- Active alert feed (
/api/v1/alerts/active,/alerts/summary). - SSE stream (
/api/v1/agents/stream) for real-time consumers. alert_firedwebhook on first fire.alert_resolvedwebhook when the condition clears (non-cross-detection alerts only).
See also
- Signal fields referenced:
vix9d_vix_ratio(see the signals reference). - Alert reference
- Live alerts feed