Skip to content
DOCUMENTATION / Batch research
ONEPORT RESEARCH · P2

Batch research

On this page
P2

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 typeConfigurationUse it for
Parameter sensitivity1–2 parameters; GRID, RANDOM or SOBOLNeighbourhood checks and response curves around a chosen specification.
Scenario / domainNamed JSON scenarios with cost and assumption overridesCompare the same strategy under higher costs, lower leverage or other declared conditions.
Walk-forward / OOSParameter space + rolling or expanding windowsSelect parameters on past windows and evaluate the frozen choice on later OOS data.
ParameterDefaultDescription
search.methodGRIDGRID 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.count32Number 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.
objectiveSharpePrimary metric used to rank candidates from Tune evidence. Daily metrics use eligible UTC daily closes; bar metrics use real decision boundaries. observed_boundary_max_drawdown/calmar also include verified terminal accounting and are recommended for tail funding/ADL risk; the legacy max_drawdown alias remains bar-only. Undefined, stale-endpoint or partial-observation path metrics are excluded rather than ranked as zero. Missing funding evidence skips a candidate in that Tune selection when funding_pnl is this decision metric and otherwise remains visible coverage evidence; it does not rewrite physical execution status.

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.

Scenarios · JSON
[
  {"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#

ModeROLLING keeps a fixed-length training window. EXPANDING keeps the original training start and extends its end as each fold advances.
TrainHistorical window available before tuning. Duration syntax accepts ms, s, m, h, d, or w, for example 90d.
TuneWindow used to compare candidate parameters. Its evidence selects the winner; OOS results never feed back into this choice.
OOSLater out-of-sample window used only after the winning parameters are frozen. Duration uses ms, s, m, h, d, or w.
StepDistance 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.
PurgeGap removed between Train and Tune to reduce leakage from labels or features that cross the split boundary.
EmbargoGap 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 metric distributions, a parameter-response chart, a descriptive primary-metric view and window or scenario evidence. For WFO, immutable selection receipts—not the descriptive view—are authoritative for constraints and tie-breaks. Every physical run remains available from the evidence table with its own immutable report.

ONEPORT RESEARCH · DOCUMENTATION