KB / alert
Carry Trade Unwind Critical
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.
Carry Trade Unwind Critical
Alert ID: CARRY_UNWIND_CRITICAL
Category: correlation
Cross-detection: no
Severity
CRITICAL — immediate attention; extreme stress or crash setup
Trigger condition
{
"field": "usdjpy_5d_roc",
"op": "lt",
"value": -5,
"_registry_band_intentional": true,
"_intentional_reason": "Beyond-worst-band extreme: registry's worst usdjpy_5d_roc band ends at -3.0; -5.0 represents aggressive carry-unwind tier not modeled by bands."
}
usdjpy_5d_roc < -5
Message template
USD/JPY 5d RoC at {usdjpy_5d_roc:.1f}% — aggressive yen carry unwind, global de-risking risk.
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.
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 (critical-tier).alert_escalatedwebhook (critical-only).alert_resolvedwebhook when the condition clears (non-cross-detection alerts only).
See also
- Signal fields referenced:
usdjpy_5d_roc(no dedicated KB article yet — see /humans#signal-reference). - Alert reference (legacy monolith)
- Live alerts feed