Two ways to build a portfolio, and when each is right
AlgoCrucible has two portfolio pages, and they are not two grades of the same test. They answer different questions, and which one is honest for you depends on what you intend to do live.
| Portfolio walk-forward | Portfolio | |
|---|---|---|
| Each member enters as | a search space | one fixed parameter set |
| Parameters are | re-optimized every window | frozen |
| Prerequisites | none | member must pass Audit + Perturbation |
| Answers | is this combination worth building? | should I deploy this? |
| Gives you something to trade | no | yes |
The distinction that matters
A walk-forward validates a procedure. A fixed portfolio validates a configuration.
That sounds like hair-splitting. It isn't, and it's the single most useful idea on this page.
A portfolio walk-forward re-optimizes each member every window — so window 1 traded one set of parameters, window 2 traded another, and so on through twenty-seven windows. The out-of-sample result is genuinely honest: every trade came from data the optimizer hadn't seen. But there is no parameter set in that result. You cannot put "the walk-forward" on a chart. What it validated was the rule "re-optimize this strategy every 30 days and trade whatever comes out."
That result is a forecast of your live trading only if you actually run that rule — re-fitting on the same cadence, with the same search space, and taking whatever it produces. Most people don't. Most people optimize, pick a setting, and trade it for months. For them the walk-forward number describes a business they aren't running.
The fixed portfolio is the opposite. It combines members at exactly the settings you'd trade, so it describes something real — but only if those settings were chosen honestly. That's what Audit and Perturbation are for, and it's why the Portfolio page requires them.
So which is "the number you can actually trust"?
Neither, unconditionally. The honest answer is:
- If you'll re-optimize on a schedule — the portfolio walk-forward is your estimate, and you should run the schedule you tested.
- If you'll set parameters once and leave them — you need each member through Audit and Perturbation, then the fixed portfolio. The walk-forward is encouraging context, not the answer.
Is a portfolio walk-forward enough on its own?
No — and the reason is specific rather than a general call for more caution.
A walk-forward re-fits, so it never tests whether one setting is any good. Two failure modes sail straight through it:
- Cliff-edge parameters. Each window's winner might sit on a knife-edge where a one-step change destroys the edge. Averaged over twenty-seven windows the portfolio still looks fine. The setting you eventually deploy is one of those knife-edges — and live, you're on it alone, with real fills. Perturbation is the only stage that asks this.
- A strategy that only works when re-fitted. Some edges are real but decay in weeks. The walk-forward keeps catching them because it re-tunes; frozen, they die. Audit — one fixed setting, two separate unseen periods — is where this shows up.
Both are per-member questions. Neither is visible in a combined portfolio number, however honest that number is.
The recommended order
- Portfolio walk-forward — cheap in prerequisites, so ask it first. Does this combination have a persistent joint edge? Do the members actually diversify each other? Correlation measured here is more trustworthy than correlation measured on one hindsight-fitted history, because these are out-of-sample trades.
- If yes, take each member individually through Audit and Perturbation to find a setting that survives frozen, and isn't sitting on a cliff.
- Combine those settings on the Portfolio page and certify there.
Step 1 tells you whether steps 2 and 3 are worth the hours. Steps 2 and 3 are what you actually deploy. Skipping step 1 wastes time on combinations that were never going to work; skipping steps 2 and 3 means deploying settings that nothing ever tested.
See it done: the portfolio walkthrough follows two real strategies through all three steps, with the screens and the numbers — including a book that clears a prop-firm preset and still misses its owner's own return bar.
A third route: one system across several markets
Both routes above combine different strategies, each tuned on its own market. There is a third question, and it is the one neither platform can answer on its own: does one strategy, with one set of settings, hold up across several markets at once?
That is basket mode (Portfolio walk-forward page → One system, several markets). Pick a strategy with a search space and list the markets. The app draws a spread of candidate settings, runs every candidate once on every market — one Analyzer run per market — and then walks the basket forward: in each window the setting with the best combined in-sample result is chosen and graded on the combined out-of-sample slice. A setting that only works because it suits one market's quirks fails on the others and is dropped, so overfitting is prevented during the search rather than detected afterwards.
What to read on the result:
- The split by market. Every market's share of the out-of-sample trades and profit. A market that barely trades is refused; from three markets up, a market carrying twice its fair share of the trades is refused too — a basket that is really one market in disguise.
- Without each market. The same out-of-sample trades with one market left out, no re-run. The other way a basket goes wrong is a market that takes part fully and loses consistently; this table names it. Dropping it is a decision about the basket, not a re-optimization.
- Setting stability. Usually the basket's strongest exhibit: the winners barely move from window to window, because one setting that must work everywhere has little room to fit noise.
- How many positions at once. With several markets the basket will hold positions simultaneously; the table shows what each cap would have cost, first-come-first-served.
Why NinjaTrader and MultiCharts cannot do this themselves: NinjaTrader's Strategy Analyzer runs an instrument list one market at a time, each with its own winner; MultiCharts' Portfolio Trader runs a basket but has no walk-forward, so every result is a single fitted backtest. The division of labour is real: validate the setting here, allocate capital there — Portfolio Trader on MultiCharts, inside the strategy or per-chart Deploy on NinjaTrader — and bring the trades back for robustness and certification.
A note on costs
Both routes apply costs per member using that instrument's own tick value — a tick of GC is $10, a tick of ES is $12.50. Once a run finishes, check its Cost sensitivity panel: a portfolio can look healthy overall while one member is already underwater at realistic fills and the other is carrying it.