Optimization
Optimization answers a search question: which configuration of your strategies would have maximized (or minimized) a chosen metric on the backtest, subject to constraints. Two typical asks: "how many contracts of A and B for the highest MAR?" and "pick the subset of strategies that stays under $10,000 of margin and maximizes Sortino." The engine explores the space of integer contracts (weights) or strategy inclusion and returns the configuration that scored best, with how well it holds up out-of-sample.
An optimized configuration is an in-sample result
This is the single most overfitting-prone thing in VECTOR: maximizing a metric on past data also fits noise. The result is framed as "the configuration that would have maximized X on the backtest" — never advice, never a prediction. Always read the out-of-sample hold and the resampling band (below) before trusting the headline number. The decision to trade, and how, is always yours.
Two ways in
The optimizer is one engine with two front-doors that produce the identical result:
Inputs
Global optimum vs best found
The engine picks the method by the size of the search space, and always tells you which guarantee you got:
Robustness
This is what separates a serious answer from curve-fitting. Every result (with robustness on) carries:
The objective surface
For one or two varied strategies the result includes a heatmap of the objective across the whole grid: colour is the objective value, dimmed cells break the constraints. It reveals whether the best point sits on a broad ridge (robust) or a lonely spike (fragile) — often more telling than the single winning number.
Acting on the result
How it stays accurate
Same engine as the charts and tables
The optimizer scores every candidate with the same maths that powers the metrics and equity curve, and re-checks the winner through the canonical path before returning it — so the numbers it reports match what the rest of the app would show for that configuration. Nothing is estimated.