Batch research
On this page
Batch research
Configure from Run#
Batch work begins in the same Run panel as a single backtest. Dates, universe, frequency, capital, leverage, fees, slippage, fixed parameters and the frozen project version are shared by the complete batch.
| Run type | Configuration | Use it for |
|---|---|---|
| Parameter sensitivity | 1–2 parameters; GRID, RANDOM or SOBOL | Neighbourhood checks and response curves around a chosen specification. |
| Scenario / domain | Named JSON scenarios with cost and assumption overrides | Compare the same strategy under higher costs, lower leverage or other declared conditions. |
| Walk-forward / OOS | Parameter space + rolling or expanding windows | Select parameters on past windows and evaluate the frozen choice on later OOS data. |
Parameter search and objective#
| Parameter | Default | Description |
|---|---|---|
| search.method | GRID | GRID enumerates the declared grid. RANDOM draws a deterministic seeded sample. SOBOL uses a low-discrepancy sample for broader numeric-space coverage. RANDOM and SOBOL require a sample count. |
| search.count | 32 | Number of candidates for RANDOM or SOBOL, from 1 to 10,000. GRID ignores this field and derives its count from the complete Cartesian product. |
| parameter range | — | Declare an ASCII name, INT or FLOAT type, inclusive bounds and a positive multipleOf step. Candidates are exact multiples of step inside the bounds—not minimum + n × step. Strategy code must read the same ctx.params name for the search to affect behaviour; the platform cannot infer an unused parameter. |
| fixed parameters | {} | A JSON object exposed to strategy code as ctx.params. Keys and meanings are defined by the project; values must be finite JSON and the encoded object must not exceed 64 KiB. Fixed and searched parameter names cannot overlap. |
| objective | Sharpe | Metric used to order candidates and select each walk-forward winner from Tune evidence. Daily metrics use eligible UTC daily closes; bar metrics use every configured decision bar. Intrabar drawdown is negative, so a value closer to zero ranks higher. The exact estimator is frozen before execution, and an undefined metric is excluded rather than treated as zero. |
Scenario JSON#
JSON array of 1–32 scenarios. Each needs id and label; optional window and universe must be subsets of the base run. maker_fee and taker_fee use decimal rates (0.0004 = 4 bps), while slippage_bps uses bps; leverage_max is a multiplier.
[
{"id": "base", "label": "Base assumptions"},
{"id": "higher-costs", "label": "Higher costs",
"costs": {"taker_fee": 0.0008, "slippage_bps": 5}},
{"id": "lower-leverage", "label": "Lower leverage",
"costs": {"leverage_max": 1.5}}
]Scenario cost rates use decimal form because this is the frozen API contract: 0.0008 equals 8 bps. A scenario window must lie inside the base [start, end) interval, and its universe must be a non-empty subset of the base universe.
Walk-forward & OOS#
| Mode | ROLLING keeps a fixed-length training window. EXPANDING keeps the original training start and extends its end as each fold advances. |
| Train | Historical window available before tuning. Duration syntax accepts ms, s, m, h, d, or w, for example 90d. |
| Tune | Window used to compare candidate parameters. Its evidence selects the winner; OOS results never feed back into this choice. |
| OOS | Later out-of-sample window used only after the winning parameters are frozen. Duration uses ms, s, m, h, d, or w. |
| Step | Distance from one fold anchor to the next. The Run panel submits non-overlapping OOS windows, so step must be at least the OOS duration; the lower-level Study API can explicitly opt into overlap. |
| Purge | Gap removed between Train and Tune to reduce leakage from labels or features that cross the split boundary. |
| Embargo | Gap between Tune and OOS that prevents observations near selection time from leaking into evaluation. |
Batch report#
A batch appears as one research record in Backtests. Its report combines the metric distribution, parameter-response chart, objective leaderboard and window or scenario evidence. Every physical run remains available from the evidence table with its own immutable report.