Skip to content
Skip to content
← all research
REJECTED

"TimesFM × Jev edge hunt — consolidated (2026-09-20)"

2026-09-21

·

Goal: find a usable edge from Google TimesFM (and Jev) beyond the house's validated momentum/PEAD. Result: none found. Every candidate is either insignificant, non-monotone, fails IS/OOS, or dies under the block bootstrap. Trial counter rose K≈110 → 127; nothing survives deflation.

#Scope (all PIT-safe, completed bars only)

axisdata
equity 1D monthly78 dates × 50 names (2020-01..2026-07)
equity 1D weekly335 dates × 50 names (new backfill, W-FRI)
equity 1H intraday70 dates × 50 names
crypto 1D monthly42 dates × 8 names
Jev × TimesFM78 dates × 50 names (echo-free Jev state)

Scripts: validation/timesfm_edges.py, timesfm_edges_validate.py, timesfm_overlay.py, timesfm_quantile.py, jev_timesfm.py.

#Results (weekly equity is the high-power sample)

Selection signals (timesfm_edges.py --cadence week, n=335):

signalICtblock CI
H0 forecast level+0.0105+1.12[−0.015, +0.037]
H1 forecast revision−0.0035−0.39[−0.020, +0.012]
H2 forecast resid vs mom+0.0161+1.78[−0.007, +0.041]
H3 acceleration+0.0014+0.16[−0.012, +0.014]
H6 revision resid vs mom−0.0055−0.65[−0.021, +0.009]
momentum126+0.0089+0.59[−0.040, +0.059]

H2 (forecast orthogonal to momentum) is the only positive lead — i.i.d. bootstrap p=0.036 — but its block CI includes zero, so it fails the house's conservative test.

Tradable validation (timesfm_edges_validate.py, n=335):

legmean 21-sess fwdblock CI
EW50+1.73%[+0.81, +2.57]
MOM_top+3.24%[+1.65, +4.87]
RESID_top+2.43%[+1.13, +3.74]
  • RESID_top − MOM_top = −0.81% (CI includes 0; IS −0.84%, OOS −0.77%): the residual signal is a weaker momentum proxy, not additive.
  • H2 IC halves out of sample (IS +0.021 → OOS +0.010); momentum IC dies OOS (+0.016 → +0.001).

Overlays on the validated momentum signal (timesfm_overlay.py, n=335):

  • O1 dispersion gate: mom top-decile fwd low +3.30% / mid +1.75% / high +4.67% — high−low +1.36% (iid p=0.16), non-monotone; positive in both halves but not significant.
  • O2 market timing: spearman(mean fc, SPY fwd)=+0.139 (CI [+0.02,+0.25]) but the long/flat rule is inconsistent IS vs OOS and scaling the momentum book by fc>0 loses −1.14% (CI excludes 0).
  • O3 double-sort (within momentum top-quintile by residual): high−low −0.23% (p=0.72; IS +0.05%, OOS −0.56%). No additive value.

Other axes: equity 1H — all null (revision negatively significant, t≈−2.3, but K=127 makes that noise); crypto 1D — all null (H4 high-dispersion "+20%" is n=14, p=0.12, pure vol). Jev × TimesFM — Jev IC −0.008, ensemble −0.0001, veto D +0.10% (p=0.45); see reports/jev_timesfm_research.md.

Quantiles (timesfm_quantile.py): no selection lift; forecast width is error-magnitude calibration (corr +0.28 with |error|), not direction.

#The one robust result: width is a volatility forecast (not alpha)

validation/timesfm_voltarget.py, monthly covered-50, n=3900 name-obs:

  • spearman(width, realized 21-session vol) = +0.577 pooled; per-date mean ρ = +0.631 (t = +55). TimesFM's forward-looking interval width forecasts realized volatility far better than trailing vol. This is the only statistically overwhelming effect found in the entire hunt.
  • But it is a risk-model asset, not a return edge: naive per-name inverse-width weighting lowers mean return (fc book +1.95→+1.77%; mom book +2.59→+2.13%, paired D −0.46%, CI excludes 0) because high-vol names carried the returns in this sample. Correct portfolio vol-targeting (expanding calibration, scale to running-median vol) cut maxDD (−23.9% → −20.1%) but left Sharpe flat (0.89 → 0.90) and exposure at 0.88.

Use: a better vol forecast is genuinely useful for position limits, stop sizing, and portfolio risk targeting — worth a separate vote on that objective. It is not an alpha or Sharpe edge and should never be sold as one.

#Verdict

NO (return/Sharpe) EDGE. TimesFM at 21-bar horizon, on any bar size or asset class tested, carries only a weak, momentum-correlated cross-sectional signal that (a) does not beat the momentum decile, (b) fails the block CI, and (c) has no additive value in gate/timing/double-sort form. Jev adds nothing on historical news-less states. Nothing here warrants wiring into a sleeve.

One durable by-product: TimesFM quantile width is a strong volatility forecaster (ρ≈0.63, t≈55) — a risk-model improvement, explicitly not alpha.

#Do not redo / what would reopen it

  • Don't re-grid thresholds or re-run these signals on the same universe — the ledger says no (data/research_trials.jsonl, K=127).
  • Reopen only with a new mechanism: e.g. a genuinely new model (TimesFM 3.0 is license-barred for production), a different horizon/target (daily path shape, realized-vol forecasting), or a real historical news series to unblock the Jev test. The live forward shadow remains the binding evidence for Jev; TimesFM stays a research shadow (C6) with no consumer.

#Follow-up work (2026-09-20) — outcomes

Three actions taken on this hunt's conclusions: two closed null, one shipped an observe-only risk tool.

  1. Vol-forecast risk tool — SHIPPED, observe-only. production/vol_forecast.py (pure: realized_vol, blend_vol_forecast, vol_target_scale; shrink-only, fail-open, never raises) + scripts/vol_forecast_shadow.py audit + tests/test_production_vol_forecast.py (7 tests) + tests/test_vol_forecast_shadow.py (3). Not wired into any sleeve — the width series is research-only; adoption is a separate risk-objective vote. Evidence: width→vol ρ≈0.63 (t≈55).

  2. TimesFM embedding classifier — NULL. validation/timesfm_embeddings.py (mean-pooled last_hidden_state, 1280-d, 68 monthly dates) + validation/timesfm_embed_model.py (purged, embargoed walk-forward; LR + LGBM; permutation control). LR AUC 0.492, LGBM 0.490, LR 8-fold 0.511 (permutation ≈0.47–0.48); pooled-OOS IC −0.02..−0.04; top-decile loses to momentum (−0.36..−0.50%). The representation does not predict forwards beyond chance. Tests: tests/test_timesfm_embed_util.py (7).

  3. Program closed. No further TimesFM/Jev backtesting without a new mechanism (rule above); Jev's binding test is the live forward shadow.

All trading described is paper (simulated). Not investment advice.

← all research