Skip to content

KB/alert

Oil Price Spike

Last verified

Auto-generated. This article is rebuilt from app/signals/config/alert_thresholds.json by scripts/build_alerts_kb.py. Edit the alert config and re-run the script β€” do not edit this file directly.

Oil Price Spike

Alert ID: OIL_SPIKE
Category: geopolitical
Cross-detection: no

Severity

WARNING β€” conditions deteriorating; worth monitoring

Trigger condition

{
  "type": "computed",
  "computation": "vol_scaled_spike",
  "field": "uso_close",
  "value": 75,
  "_registry_band_intentional": true,
  "_intentional_reason": "Recalibrated 2026-07 (audit item #8) \u2014 collapses the prior OR(uso_close>75, uso_day_spike) into the vol-scaled gate alone (see REAL_YIELD_RESTRICTIVE's condition comment for the pattern). uso_close>75 alone fired repeatedly off a structurally elevated oil price with no acute move; a genuine uso_day_spike-class 5%+ single-session jump against a 20d baseline whose daily stdev is normally a small fraction of that already clears the sigma gate, so no real detection is lost. _eval_computed's uso_day_spike branch (alerts.py) is left in place, orphaned, in case a future alert wants a pure single-cycle-spike leg again."
}

uso_close > 75 AND its deviation from the trailing 20-trading-day baseline exceeds the vol-scaled sigma multiplier (_VOL_SCALED_K in app/signals/alerts.py:_vol_scaled_fires). Falls back to the floor alone when no baseline was injected (missing history, <10 observations, or zero variance β€” see app/signals/capture.py:_inject_alert_baselines).

Message template

Oil spike alert: USO at ${uso_close} {_uso_close_baseline_note}, floor $75.00 β€” potential geopolitical disruption or supply shock.

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

Notifies

See also