How the confirmation score
behaves after publication

Observed outcomes from logged smart_money_confirm and regime_flip calls, including in-sample tier comparisons, the forward-holdout count, and performance by horizon. These charts describe recorded outcomes; they do not establish a durable trading edge.

Observed hit rate by score bucket in-sample

HIGH and MEDIUM are categorical confirmation tiers, not predicted probabilities. The regime value is a filter score, also not a probability. This chart asks only whether higher labels or score buckets correspond to different observed hit rates. Whiskers are 95% Wilson intervals; rates are suppressed below the endpoint's minimum sample.

Score bucketSamples (n)Observed hit-rate95% CIAvg move (dir-adj)
Loading calibration…

Forward holdout since scorer freeze

The scorer-freeze timestamp is 2026-06-30. Calls generated on or after that timestamp are tracked separately. The API suppresses the overall rate until there are at least 40 outcomes spanning at least 7 calendar days; the HIGH tier also requires 30 observations.

This is stronger evidence than the in-sample window, but it can still represent a narrow market regime. It is a signal-outcome record, not a filled-trade or net-return backtest.

Overall hit-rate (forward)
n = …
HIGH-conviction (forward)
n = …
Scorer frozen since
accruing…

The freeze timestamp is defined in code (SCORER_FROZEN_TS). When the forward sample is still thin, this block reports "accruing" rather than quoting a noisy percentage. When our in-sample walk-forward showed no out-of-sample directional edge in the raw features, we published that too.

Performance by horizon in-sample

Compare observed hit rate, Wilson interval, direction-adjusted mean move, and profit factor at each horizon. A point estimate above 50% is not meaningful when its interval crosses 50%. All figures are pre-fee signal outcomes, not strategy returns. The dashed line marks 50%; bars are hit-rate with 95% CI whiskers.

HorizonSamples (n)Win-rate95% CIExpectancy %Profit factor
Loading decay curve…

Calibration uses the last 90 days of signal_log and signal_outcomes at the 4h, 12h, and 24h blend horizons. The decay table uses the edge endpoint's default 30-day window across 4h through 7d. Analytics are computed on demand and cached for 2 minutes; the outcome worker resolves eligible horizons about every 10 minutes.

calibration generated_at:
edge generated_at:
stats generated_at:

Every chart on this page is a live call you can make yourself: GET /v1/signals/analytics/calibration, GET /v1/signals/analytics/edge, and GET /v1/stats (the forward_holdout block). No key required.

See the full performance page →