A Forecast You Can't Cheat
Optional bias gate with causal context windows
veto vs strict · refresh bars · reversal skip
July 8, 2026 · 8 min read
Foundation models for K-lines are tempting: plug in a forecast, filter bad trades, print alpha. They're also a lookahead trap wearing a lab coat.
Filter, not signal
VuManChu and fib logic still generate entries. Kronos adds a directional bias column — bullish, neutral, bearish — from a short forward forecast. Veto mode blocks longs into bearish bias and shorts into bullish bias. Strict mode is harsher. The strategy remains the strategy.
Causal or useless
- Context window ends strictly before the bar being gated — no peeking at the entry candle.
- Forecast refreshes every N bars, not every tick — bias held constant between refreshes.
- Results cached to disk keyed by data window — second research pass doesn't torch the GPU.
- Optional skip for reversal-tagged entries — don't veto the trades your system explicitly labels as reversals.
What we learned sweeeping
On a already-filtered dual-timeframe reversal stack, Kronos often trimmed trades without beating the baseline risk-adjusted stats. That's a useful result — it means the filter works as designed (it blocks things) but isn't free alpha. Research belongs in A/B backtests, not in live deploy by default.
Submodule vendored, CPU inference fine, GPU optional. If the model isn't checked out, backtest fails with a clear error — not a silent neutral bias.