Walk-Forward Efficiency Calculator
A walk-forward efficiency calculator compares aggregate out-of-sample result per entered period with aggregate in-sample result per entered period. It preserves negative out-of-sample values and discloses every window. The ratio does not run an optimization, verify a testing process, assign a pass grade or predict future strategy performance.
Enter aligned walk-forward windows
Enter 1 to 50 rows as IS result, IS periods, OOS result, OOS periods. Use one result unit and one period unit throughout.
One row per chronological window: IS result, IS periods, OOS result, OOS periods.
Aggregate OOS versus IS rate
Entered Strategy Robustness 1.0.0.
On smaller screens, scroll horizontally to inspect the complete calculation table.
| Window | IS result | IS periods | IS rate | OOS result | OOS periods | OOS rate | Window efficiency |
|---|
How walk-forward efficiency is calculated
Aggregate OOS rate = Total OOS result ÷ Total OOS periods
Efficiency = Aggregate OOS rate ÷ Aggregate IS rate × 100
Version 1.0.0 receives already separated in-sample and out-of-sample results. It does not select parameters, reconstruct trades or decide which observations belong in either window.
The calculator first adds all entered IS results and durations, then does the same for OOS. Dividing each total result by its total periods prevents unequal window lengths from receiving the same weight simply because they occupy one row.
The OOS rate is divided by the strictly positive IS rate. A common annualization factor would cancel when both durations use the same entered period unit, so the page does not invent trading days, weeks or calendar conventions.
Worked example from the audited fixture
The audited fixture enters one window with an IS result of 120 across 12 periods and an OOS result of 30 across 6 periods.
- The entered IS rate is 120 ÷ 12 = 10 per period. The entered OOS rate is 30 ÷ 6 = 5 per period.
- Efficiency is 5 ÷ 10 × 100 = 50%. The page reports the ratio without calling it passing, robust, adequate or predictive.
Reproduce it: select “Load audited example” above. The engine retains full precision and rounds only visible output.
How to interpret the result
- A 50% result means the entered aggregate OOS result rate is half the entered aggregate IS result rate.
- A value above 100% means the entered OOS rate exceeds the entered IS rate. It does not prove improvement will persist.
- A negative value preserves an entered aggregate OOS loss rate relative to a positive IS rate and must not be hidden or clamped.
- Window rows help identify concentration and sign changes, but the calculator does not test whether windows are independent or whether one exceptional result dominates the process.
Assumptions and limits
- The calculator cannot verify chronological separation, look-ahead bias, parameter leakage, re-optimization rules or whether test windows were selected after seeing results.
- Result units can be money, percentage points, pips or R only when the same unit and cost convention is used in every row.
- Linear result-per-period comparison is not CAGR and does not compound unequal returns.
- A ratio alone omits trade count, variance, drawdown, costs, parameter stability and multiple-testing effects.
- No 50% rule, pass/fail status, robustness score, optimization setting, forecast, signal or recommendation is generated.
Monte Carlo vs bootstrap vs walk-forward efficiency
These tools answer separate questions. Monte Carlo summarizes hypothetical resampled paths, bootstrap estimates uncertainty around one entered statistic, and walk-forward efficiency compares entered IS and OOS rates. None substitutes for audited records, a documented test design or execution evidence.
| Measure | Evidence entered | Question answered | Main boundary |
|---|---|---|---|
| Monte Carlo equity | Entered percentage returns | Seeded terminal-equity and drawdown path distribution | Not a forecast or exhaustive loss boundary. |
| Bootstrap expectancy | Entered signed outcomes | Percentile interval for resampled arithmetic means | Not a next-trade prediction interval. |
| Walk-forward efficiency | Entered IS and OOS window results | Aggregate OOS result rate divided by aggregate IS result rate | Not an optimisation or robustness verdict. |
| Risk of ruin | Assumed win rate, payoff and fixed risk | Finite-horizon threshold-hit estimate | A separate parametric two-outcome model. |
Frequently asked questions
- Version 1.0.0 divides aggregate entered out-of-sample result per period by aggregate entered in-sample result per period and multiplies by 100.
- Duration adjustment prevents unequal windows from receiving identical weight solely because each occupies one entered row.
- It means the aggregate entered out-of-sample result rate is half the aggregate entered in-sample result rate; the page does not label that passing or failing.
- Yes. A negative aggregate out-of-sample result rate divided by a positive in-sample rate remains negative and is not hidden or clamped.
- A zero denominator is undefined, while a negative in-sample rate makes the conventional efficiency ratio unsuitable for the disclosed interpretation.
- No. It receives already separated IS and OOS results and does not select parameters, windows, strategies or settings.
- Use one result unit and one duration unit throughout all rows, with the same gross-or-net cost convention.
- No. It cannot verify chronology, look-ahead bias, leakage, parameter stability, cost completeness or future performance and assigns no robustness grade.
Sources and methodology
- TradeStation — Walk-Forward Summary — Official documentation describing comparison of annualized IS and OOS result rates.
- CFTC — Commodity trading systems — Official warning about hypothetical and selected performance evidence.
The immutable implementation contract fixes the seed, resampling count, quantile convention, duration weighting, invalid states and permanent exclusions so later copy or layout edits cannot silently alter the arithmetic.
Continue the robustness review
Verify the execution records behind your sample
Before treating any return, outcome or window result as net and comparable, confirm which spread, commission, financing, conversion and execution conventions apply to the broker entity and account used. These browser calculations do not retrieve statements or certify that entered records are complete.
FXOpen
Verify statement fields, charges and execution records before entering results.
Check FXOpen termsRisk and affiliate disclosure: Leveraged forex and CFD trading can result in substantial losses. These are affiliate links, so ForexMT4Indicators.com may receive compensation if you register or trade through them, at no additional cost to you. Availability and terms vary by jurisdiction and broker entity.

