Playground
Walk-Forward Validator
Rolling or expanding IS/OOS windows from a returns CSV. Per-window Sharpe, walk-forward efficiency ratio, concatenated OOS equity curve. Free, client-side.
- Inputs
- Paste + configure
- Runtime
- 1–15 s
- Privacy
- Client-side · no upload
- API key
- Not required
- Methodology
- Open →
Load a returns CSV
Long format: date,returns. Simple daily returns. Walk-forward is meaningful only with enough observations — aim for 2+ years (~500+ rows). Entirely client-side.
See methodology for the formal definition of walk-forward efficiency, window sliding, and purged K-fold considerations. Combine this with Backtest Overfitting Score for the PBO / DSR angle.
How to use
Step-by-step
- 1
Upload your return series (CSV).
- 2
Set the in-sample length, out-of-sample length, and step, and choose rolling or expanding mode. The number of windows follows from these versus the length of the series.
- 3
Run the validator. It reports each window's in-sample and out-of-sample Sharpe plus a concatenated out-of-sample curve.
- 4
Read the walk-forward efficiency (mean out-of-sample Sharpe divided by mean in-sample Sharpe): below 0.4 is likely overfit, 0.4 to 0.7 is some decay, above 0.7 is robust. An aggregate out-of-sample Sharpe below 0.3 flags a weak edge regardless.
- 5
If validation fails, do not iteratively re-tune until it passes — that defeats the purpose. Reformulate the strategy from first principles instead.
For agents
Use in an agent
Same math, same result shape as the UI above — as a static ES module. No HTTP request, no auth, no rate limit.
import { compute } from "https://aifinhub.io/engines/walk-forward-validator.js"; Contract: /contracts/walk-forward-validator.json Full agent guide →
Glossary references
Terms used by this tool
Questions people ask next
FAQ
What does this validate?
Whether an optimization generalizes out of sample. You give it a return series; it slides in-sample / out-of-sample windows across the series and reports each window's in-sample and out-of-sample Sharpe plus an aggregate walk-forward efficiency. It does not see your strategy's parameters — it works from the returns you supply.
What's the difference between this and the visualizer?
The visualizer shows window-by-window detail interactively. The validator runs the full walk-forward and reports per-window Sharpes plus an aggregate efficiency verdict band. Use the validator for a quick robust-versus-fragile read; use the visualizer to diagnose which windows fail.
What decides the verdict?
There is no strategy-parameter check, median rule, or lifetime-P&L rule. The verdict is a band on two aggregate numbers: walk-forward efficiency (mean out-of-sample Sharpe divided by mean in-sample Sharpe) and the aggregate out-of-sample Sharpe. Efficiency below 0.4 flags likely overfitting, 0.4 to 0.7 is some decay, above 0.7 is robust; an aggregate out-of-sample Sharpe below 0.3 flags a weak edge regardless.
How many windows do I need?
You don't set a window count directly — the number of windows falls out of your in-sample length, out-of-sample length, and step versus the length of the series. More windows give a steadier efficiency estimate; a handful is enough for a rough read but leaves the aggregate Sharpe noisy.
Can I tune the strategy based on validator feedback?
If you tune until validation passes, you've used the validator as just another in-sample fit, which defeats the purpose. The validator should be a final gate, not an iterative optimizer. Use a held-out 'final' window that's never seen by the validator until the strategy is otherwise locked.
Related deep dive
All articles →Read further
Long-form context behind the tool output.
- Tutorial · Runnable·14 min
Building a Production Claude Agent for Finance
Production Claude agent for finance: price-blind research, idempotent execution, heartbeat + watchdog + circuit breaker, under $225/month at small scale.
Read - Tutorial · Runnable·9 min
How to Read a Backtest Report: 2026 Cheat Sheet
Five questions a backtest report must answer — edge real, persistent, cheap to trade, bearable, explainable — with the statistics that verify each.
Read - Tutorial · Runnable·11 min
Walk-Forward Validation: A Cookbook
Walk-forward is the cheapest honest backtest you can run. Anchored vs rolling windows, the four parameters that matter, and a 60-line Python template.
Read
Used in
Decision workflows that use this tool
Goal-driven flows that bundle this tool with adjacent ones.
Complementary tools
Users of this tool often explore
Backtest Overfitting Score
Upload a backtest trade log and compute Probability of Backtest Overfitting (PBO), Deflated Sharpe Ratio, and the odds your edge survives live trading.
Risk-Adjusted Returns Calculator
Paste a returns CSV. Sharpe, Sortino, Calmar, Omega, alpha, beta, tracking error, information ratio, max drawdown, and tail moments — plus.
Pair Trading Cointegration Tester
Paste two price series. Engle-Granger cointegration test: OLS hedge ratio, Augmented Dickey-Fuller on residuals, Ornstein-Uhlenbeck half-life, z-score.