KB / signal
CFTC Specs Z
Last verified
Auto-generated. This article is rebuilt from
app/signals/config/signal_definitions.jsonbyscripts/build_signals_kb.py. Edit the registry entry and re-run the script — do not edit this file directly.
CFTC Specs Z
What it is
CFTC Specs Z — registry key cot_specs_z.
Positioning extremes are contrarian setup signals, not direction indicators. Used by squeeze_setup composite + transitions; not in health score.
Source
Source module: cot
Data source: back_fillable
Fetched directly from app/sources/cot.py; see source code for the upstream API call and any provider-specific handling.
How it’s computed
52-week Z-score of cot_specs_net (S&P 500 e-mini speculator net positioning): (specs_net_today − mean_52w) / stdev_52w. Flags spec positioning extremes; one of the squeeze_setup triggers when ≤ −1.5. See app/sources/cot.py:117.
Where it surfaces
- API field:
positioning.cot.specs_zonGET /api/v1/signals/latest - Surface:
daily_signalsrow (daily-cadence persistence) - Surface:
/signals/sparklines(UI sparklines) - Sparkline aliases:
cot_z
Bands / thresholds
Classifier direction: range_is_better.
| Range | Label | Dot | Implication | Points |
|---|---|---|---|---|
| -0.5 – 0.5 | Neutral | favorable | NEUTRAL | — |
| -1.5 – -0.5 | Net short | leaning | NEUTRAL | — |
| 0.5 – 1.5 | Net long | leaning | NEUTRAL | — |
| < -1.5 | Extreme short | cautionary | BULLISH | — |
| ≥ 1.5 | Extreme long | cautionary | BEARISH | — |
Health-score / alignment role
Display-only — has bands for surface labeling but does not contribute to the health score (scoring is handled by a companion metric).
Release cadence
- Publishes:
weekly - Weekday: Fri (
4) - Approximate time (ET):
15:30 - Lag days:
3
CFTC COT publishes Fridays at ~15:30 ET. Within 14 days = live.
See also
- /kb/api/get-signals-latest — API endpoint that serves this field.