Zero-shot foundation-model forecasting Walk-forward · naive-baseline controlled ~66 days · BTC/ETH/SOL Non-commercial research

TimesFM 3.0 × Bybit Perps
Edge test results

Eleven testable applications of Google’s TimesFM 3.0 (330M-param time-series foundation model) on real Bybit perpetual futures data — organized by edge type and expected value. Every test is measured as MAE vs the right naive baseline + p10–p90 coverage; if it doesn’t beat naive, it’s noise.

Numbers pending re-validation (alignment-fixed notebook) Directions worth pursuing
11
Hypotheses defined
3 tiers · A1–D2
7
Recommended directions
Pending re-validation
2
Not recommended
C2 vol-clustering · B3 liquidations
81–84%
Sandbox p10–90 coverage
Validated walk-forward baseline

Verdict

TimesFM-3 is a risk-input tool, not a price-direction predictor. The validated sandbox baseline shows well-calibrated uncertainty bands (p10–p90 coverage 81–84%), beats naive on funding level and volume, and has no directional skill at 3 days — which is exactly why the edge-test suite targets levels, volatility, cross-series structure, and mean reversion rather than price direction.

Status of the edge tests: early runs (Sep 9, 2026) were promising — realized-vol forecasting for sizing (A1), quantile-width as a risk-regime meter (D2), real event covariates (B2), band-breakout anomaly detection (D1), funding/carry timing (C1/A3), daily range (C3), and session-volume timing (A2). But those evaluation windows were misaligned (fixed in commit b986e09), so the numbers are pending re-validation on the alignment-fixed notebook and must not be trusted as-is.

So far only C2 (vol-clustering persistence) and B3 (liquidation precursors) show no clear edge — both are shelved until more data.

High-probability edge — 4 hypotheses

Cheap, high-confidence tests that feed existing systems: vol-based sizing (A1), session-aware volume (A2), range-based stops/TP (C3), and the quantile-width risk meter (D2).

TestDirectionStatus (repo HEAD)
A1 realized-vol → sizingPredicted 24h vol; size inverselyPromising — pending re-validation
A2 volume → session timingRank hours for breakout/ORB entriesPromising — pending re-validation
C3 daily range → stops/TPPredicted range as TP/stop multiplierPromising — pending re-validation
D2 quantile-width → risk regimeWider band → cut size / widen stopsPromising — pending re-validation
A1
Realized-volatility forecasting → position sizing
Promising — pending re-validation
What

Forecast 24h realized vol (rolling std of log returns) on BTC/ETH/SOL.

Why

Vol is strongly autocorrelated; this is the model's best skill.

Use

Size positions inversely to predicted vol instead of lagging ATR (per-trade risk input).

Success bar

Beat naive vol-persistence MAE by >5%, coverage 75–85%.

Status

Highest expected value. Early runs showed a strong signal; the fixed notebook must confirm the numbers.

Tier

Tier 1

A2
Volume-profile / session forecasting
Promising — pending re-validation
What

Forecast hourly volume over the next 24–48h, session effects included (NY/Asia/London).

Why

Volume is far more predictable than price; session structure (NY-open 8h edge) is real.

Use

Rank which hours deserve breakout/ORB entries; avoid thin-book traps.

Success bar

Beat naive per-hour volume; session-hour forecasts beat naive within those sessions.

Status

Volume forecasting for session timing.

Tier

Tier 1

C3
Intraday range (high–low) forecasting
Promising — pending re-validation
What

Forecast next-day high–low range from hourly context + volume/vol covariates.

Why

Range is much more predictable than direction.

Use

Stop and take-profit placement (TP at predicted-range multiples).

Success bar

Beat naive range-persistence by >5%; actual range inside p10–p90 70–85%.

Status

Predicted range as TP/stop distance multiplier.

Tier

Tier 1

D2
Quantile-width as a risk-regime meter
Promising — pending re-validation
What

Test whether the model's own p10–p90 spread predicts next-period realized vol.

Why

If the model's uncertainty is forward-looking, its width is a vol-of-vol indicator.

Use

As a risk-regime gauge for sizing (wider band = reduce size).

Success bar

Correlation of quantile-width with subsequent realized vol > current-vol persistence.

Status

Free — works on every forecast with no extra data.

Tier

Tier 1

Cross-series & event edge — 3 hypotheses

Harder tests: BTC→alt lead-lag (B1), real known-future event covariates (B2), and funding-spike reversion timing (C1).

TestDirectionStatus (repo HEAD)
B1 cross-asset BTC→altsHedge ratio / correlation inputDirection only — re-validation pending
B2 real event covariatesUnlock / FOMC / CPI calendar inputPromising — pending re-validation
C1 funding-spike reversionCarry entry timing (post-spike)Promising — pending re-validation
B1
Cross-asset lead-lag (BTC → alts)
Direction only — re-validation pending
What

Multivariate forecast SOL/ETH price conditioned on BTC as a past covariate; compare vs univariate.

Why

If BTC history helps predict alts, it's a hedge-ratio / correlation input (not direction).

Use

Portfolio construction, beta hedging.

Success bar

Multivariate MAE < univariate MAE on alts by a meaningful margin.

Status

Not in the repo's interim recommended list until the fixed notebook confirms it.

Tier

Tier 2

B2
Real event covariates (upgrade from Scenario A)
Promising — pending re-validation
What

Use real known-future events with magnitudes — token unlocks, halving dates, FOMC/CPI calendar, listings/airdrops — as continuous past-future covariates, short horizon (24–72h).

Why

Binary flags demonstrably didn't work; magnitudes may.

Use

Event-aware sizing (skip/half-size into known events).

Success bar

Forecast reacts to the event window AND that reaction beats naive.

Status

The covariate mechanism showed a real signal with the funding-settlement schedule; next test is real known-future events.

Tier

Tier 2

C1
Funding-spike mean reversion timing
Promising — pending re-validation
What

After |funding| > 2σ, forecast time to revert and reversion magnitude.

Why

Funding mean-reverts; level-forecasting is the model's strength.

Use

Entry timing on carry trades; avoid paying high funding into a squeeze.

Success bar

Reversion-timing MAE beats naive 'next-period revert' by >10%.

Status

Post-spike reversion + funding-level forecasts as carry-entry timing inputs.

Tier

Tier 2

Research-y, lower expected value — 4 hypotheses

Cheap speculative tests: funding-level convergence (A3), liquidation precursors (B3), vol-clustering persistence (C2), and band-breakout anomaly detection (D1).

TestDirectionStatus (repo HEAD)
A3 funding-levelCarry timing inputPromising — pending re-validation
B3 liquidation precursorPre-event warning flagNo clear edge so far
C2 vol-clustering persistenceORB/breakout regime filterNo clear edge so far
D1 band-breakout anomalyRegime-change alert for screenerPromising — pending re-validation
A3
Funding-level & convergence forecasting
Promising — pending re-validation
What

Forecast funding 1–3 days out with funding history + spikes as covariates.

Why

Predict when funding normalizes → carry entry timing.

Use

Carry entry timing.

Success bar

Beat naive on level + correct sign of convergence.

Status

Grouped with C1 as funding/carry timing.

Tier

Tier 3

B3
Liquidation-cluster precursors
No clear edge so far
What

Feed funding + OI + realized vol as covariates; target near-future vol spike (4h max abs move).

Why

Pre-event warning — reduce size / widen stops flag (not directional).

Use

Pre-event warning — reduce size / widen stops flag (not directional).

Success bar

Quantile width or vol forecast spikes significantly before actual vol spikes (lead time test).

Status

Not recommended yet — revisit only with more data.

Tier

Tier 3

C2
Volatility-clustering persistence
No clear edge so far
What

Forecast 6–24h vol given a recent vol spike (regime persistence).

Why

Regime-state input for ORB/breakout filters.

Use

Regime-state input for ORB/breakout filters.

Success bar

Distinguishes spike-sustained vs spike-decay regimes better than AR(1) vol.

Status

Not recommended yet — revisit only with more data.

Tier

Tier 3

D1
Band-breakout as anomaly detector
Promising — pending re-validation
What

When actual deviates outside the model's p10–p90 band, treat it as an anomaly / change-point event.

Why

Band-breaks cluster before large moves (lead time > random).

Use

Change-point detector rather than forecaster; regime-change alert for the screener.

Success bar

Band-breaks cluster before large moves (lead time > random).

Status

Actuals leaving the p10–p90 band as an anomaly/change-point flag.

Tier

Tier 3

How every test is run

All tests run in timesfm3_bybit_edge_tests.ipynb on the same data layer as the sandbox (Bybit hourly klines + funding, with automatic Hyperliquid fallback). Walk-forward windows are validated: context = forecast_start − CTX … forecast_start, actual = forecast_start … forecast_end.

1 · Right naive baseline

Persistence for vol/range, last-value for funding level, session-average for volume. A test passes only when it beats its own baseline.

2 · p10–p90 coverage

≈80% is ideal. Funding and volume runs land 81–84% — the model's uncertainty intervals are trustworthy.

3 · Walk-forward only

No look-ahead: context ends exactly where forecasting begins; 8–24 iterations per test depending on horizon.

4 · Normalized targets

log-price / log-volume scaled for the model, inverted for reporting. Rows below are in original units.

Validated sandbox baseline (walk-forward, 8 iterations, 48h horizon, 256h context, Sep 2026)

TargetSeriesMAEnaive MAEBeat naive?p10–90 cov%
FundingBTC2.33e-63.59e-684.1
VolumeBTC9051,00183.3
VolumeETH12,38312,76282.6
VolumeSOL125,645158,73081.5

Consistent picture across runs: well-calibrated baselines, beats naive on funding level and volume, no price-direction skill at 3 days, and synthetic binary covariates ignored — which motivated the real-event test (B2).

Alignment fix. Early edge-test runs (Sep 9, 2026) used misaligned evaluation windows; the notebook was fixed in commit b986e09. Per-test numbers from the earlier runs are not published here — they must be re-validated on the alignment-fixed notebook and recorded in HYPOTHESES.md before being trusted.

Where the directions fit (pending re-validation)

Ranked by fit with the existing stack, as recorded in the repo.

1 · A1 → position sizing

Replace lagging-ATR input with TimesFM predicted 24h vol; size inversely. Vol is strongly autocorrelated — highest expected value.

2 · D2 → risk regime

The model's own p10–p90 width as a forward-looking uncertainty gauge — wider band → cut size / widen stops. Free, no extra data.

3 · B2 → event calendar

The covariate mechanism showed a real signal with the funding-settlement schedule; next test is real known-future events (unlock / FOMC / CPI) with magnitudes.

4 · D1 → regime-change alert

Actuals leaving the p10–p90 band as an anomaly/change-point flag for the screener.

5 · C1/A3 → funding & carry timing

Post-spike reversion and funding-level forecasts as carry-entry timing inputs.

6 · C3 → stops/TP

Predicted range as TP/stop distance multiplier.

7 · A2 → session timing

Forecast volume to rank which hours deserve breakout/ORB entries.

Not recommended so far

C2 (vol-clustering persistence) and B3 (liquidation precursors) — no clear edge; revisit only with more data.

Caveats. ~66 days of data (Bybit caps funding/history at 200 records), a single regime, and edges that still need out-of-sample validation across more months before anything live. TimesFM 3.0 weights are licensed non-commercial / research-only — fine for backtesting, but production use needs TimesFM 2.5 weights or your own model.