Case 001 · October 2026
Held at the gate.
A forecasting model of its own. Measured in the open, held at the gate.

- 17.8%Lower forecast error than its baseCRPS, day-level paired p 0.006
- 0 of 3Simple baselines beatenLast value, EWMA, GARCH(1,1)
- 57.3%Band coverageTarget 80%
- +4.4%Paper tradingBase model +15.0%
One model, four numbers, one decision
- Client
- Our first client, a forecasting model for trading. It shares founders with Eigna, and we say so up front.
- Industry
- Digital asset trading
- Task
- Forecast BTC and ETH 24 hours ahead from hourly history, as a range
- Model
- Eigna TLM, a time-series model of the client’s own
- Base
- Kronos-small, open weights, MIT licence
- Run mode
- Research on a rented H200 GPU. Not deployed.
- Period
- 13 to 23 October 2026. Test days 5 February to 12 October 2026.
- Team
- Eigna engineering, led by Omar Garcia
A trading desk needs forecasts it can size risk on
The client trades digital assets. It wanted a forecaster of its own: a range for the next 24 hours it can size risk on, not a single guess.
- Own the modelTrained on the client’s approved history; the weights stay the client’s.
- Ranges that holdPosition size follows risk, so the forecast bands must be honest.
- Proof before useNothing goes live unless it beats what the desk already has.
- Input
- 512 hours of hourly price history
- Output
- A forecast distribution for 24 hours ahead, 64 samples
- Markets
- BTC and ETH; 15 markets in a later test
- Use
- Risk and position sizing, on paper only
- The bar
- Beat the base, beat the simple baselines, hold 80% of outcomes inside the 10 to 90 band
An open base plus the client’s history
14 October: LoRA adapters, rank 16, alpha 32, dropout 0.05, 200 steps at a learning rate of 2e-4, bf16; four seeds plus one single run, on one rented H200 GPU. 23 October: a full fine-tune of 200 steps at 1e-5 plus a shrinkage head, on 15 markets.
Sealed first, then scored on days it never saw
The test was fixed before the model saw it. 243 whole days, 5 February to 12 October 2026, held out from training: 486 windows of BTC and ETH, 512 hours in, 24 hours out, 64 samples, four training runs.
- 01SealEach checkpoint is sealed and hashed before scoring.
- 02Hold out243 whole days, 5 February to 12 October 2026: 486 windows, BTC and ETH.
- 03Forecast512 hours of history in, 24 hours ahead out, 64 samples.
- 04ScoreCRPS, MAE and band coverage; direction and rank IC as secondary.
- 05TestDay by day, paired; blocks of days resampled 10,000 times; 5% level.
Results, losses next to wins
On 243 held-out days, each of the four runs beat its base, Kronos-small: forecast error 17.8% lower. Three simple baselines still score lower. The bands are too narrow, and on paper the base traded better.
Held at the gate. Not released
The release rule: strictly better on the sealed test and no worse on calibration. A tie keeps the current version.
Candidate 3
23 October, shrinkage head
HeldCandidate 2
14 October, calibrated
HeldCandidate 1
14 October, LoRA, 4 runs
HeldRelease 1
Not issued
No release
Release gate
Candidate 1 against the best simple baseline
CRPS on 243 held-out days. Lower is better. Held: 3.4% higher error.
- Behind three simple baselines1.392 to 1.407% against 1.439%.
- Bands too narrow57.3% against 80%. Calibration failed.
- Worse on paper+4.4% against +15.0% for the base.
- The newest version ties3rd of 9 in replay 018, no gap significant.
The gate doing its job: no candidate reached the client’s desk.
What we learned, and what runs next
- 01Domain training moves a small base17.8% lower forecast error from 200 adapter steps, in all four runs.
- 02Beat the baseline, not only the baseThree one-line rules still win. Compare with the simplest first.
- 03Calibration is part of accuracyBands that hold 57% of outcomes overstate certainty. A quick fix overshot to 88%.
- 04Better forecasts are not better tradesThe decision rule needs its own test before money depends on it.
- 05Bigger is not the shortcutKronos-base, four times the size, scored worse than Kronos-small in replay 018.
Six experiments, each with a target
- 01Calibrate on untouched dataBand coverage 76 to 84% on a pre-registered validation split, CRPS no worse.Next
- 02Beat the simple baselinesA paired, significant CRPS win over last value and GARCH(1,1), at the 5% level.Planned
- 03More runs, more marketsFive or more runs; from 2 markets to 15, then all of the client’s markets.Planned
- 04Rung c, the decision layerA Qwen2.5-7B-Instruct decision adapter on 972 records a run beats the fixed rule on paper, after step 1.Planned
- 05The live paper sessionRung b live on one 4 vCPU machine, read only.Blocked: compute quota 0
- 06Public suitesfev-bench (100 tasks) and Chronos Benchmark II; TimesFM 2.5, Chronos-2, TiRex-2 and Toto 2.0 on the 243-day table, licences checked first.Planned
The next candidate meets the same gate. Results go public, losses included.
Ten days, three candidates, one decision
- 12 OctLast held-out test day.
- 13 OctFirst training run finishes.
- 14 OctRuns 2 to 4. Benchmark 001 published. The calibration gate fails: candidates 1 and 2 held.
- 15 OctLive paper session blocked: compute quota 0.
- 17 OctEnd-to-end run on one H200: $5.22.
- 23 OctShrinkage head and replay 018: a tie. Candidate 3 held.
- 24 OctResults read again at benchmarks.eigna.ai.
- 25 OctCase 001 written.
Every number can be checked
How to quote this case
Our first training run cut forecast error 17.8% against its base model. It is not yet ahead of a simple last value baseline, and we publish that too.
Sources
- Benchmark 001, run 14 October 2026, benchmarks.eigna.ai, read again 24 October 2026.
- Replays 016 and 018, scores files.
- Calibration gate 81ddea423d0d, 14 October 2026.
- Shrinkage head scorecards, 23 October 2026.
- Engineering notes: the H200 cost, 17 October 2026.
Disclosure and limits
- The client shares founders with Eigna.
- Training data: the client’s hourly market history, labelled internal test data.
- Two assets, one test period: an internal diagnostic, not a product claim.
- Weights private, results public. Not trading advice.
Test Lab
Held today. Learning for the next release.
Every number in this case is public, losses included. Bring one task, and Case 002 could be yours.



