Skip to content

KB/signal

30Y years since a higher print

Last verified

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

30Y years since a higher print

What it is

30Y years since a higher print β€” registry key us30y_years_since_higher.

How long since the 30y yield was last as high as its trailing-one-month peak - the headline long-end-stress read. Measured from the recent-month HIGH (not the latest print) so a peak keeps its since-YEAR reading for ~a month, not just the exact peak day. long-end supply-stress carrier, Phase 1 of improvements/long-end-stress.md; scoring deferred to a pre-registered study.

Data-pyramid tier

T1 β€” Signal. This metric sits at the signal layer of the platform’s six-tier data pyramid (T0 raw inputs β†’ T5 actionable read). The tier reflects how far the value is from a raw measurement β€” not how strongly it is validated. Abstraction and validation are separate axes: a higher tier is not a claim of stronger evidence.

Horizon & validation

No validated skill horizon is on file for this metric β€” read it as context / a data carrier, not a validated edge. Stamps are added only when a gated research verdict lands.

Source

Source module: fred_macro
Data source: computed

Derived metric β€” produced inside the platform (app/sources/fred_macro.py or equivalent) rather than fetched as a raw upstream value. See the How it's computed section below for the formula.

How it’s computed

Calendar years between the trailing-one-month HIGH (the max DGS30 value over the last 21 observations, and the date it was set - us30y_1m_high / us30y_1m_high_date) and the most recent PRIOR date STRICTLY BEFORE that window whose value was at or above it, over the full DGS30 history (from 1977-02-15). Anchoring on the window high rather than the latest print keeps the β€˜highest since YEAR’ reading stable for ~a month after a peak instead of collapsing to 0 the day the yield ticks below its own peak. When no prior date qualifies the window high is an all-time high within the series and this is the span back to the first observation (see the companion us30y_at_all_time_high flag). Pure function years_since_window_high in app/sources/fred_macro.py.

Where it surfaces

Health-score / alignment role

Data carrier β€” no implication, no health-score contribution.

Persisted for downstream consumers (sparklines, base-rate matcher, calibration substrate) but does not classify into BULLISH / NEUTRAL / BEARISH and does not contribute to the 0-100 health score.

Release cadence

Recomputed each cycle from the full DGS30 history (FRED, lag 1).

See also