Execute a parameter sweep over prepared data
Runs a parameter matrix over the single immutable dataset identified by requestId.
The backend expands and executes the matrix internally; clients poll the returned
sweepId for incremental results.
type must be ticker or kline; a kline sweep, walk-forward included, runs over bars of
the cadence the request was prepared at. funding can be prepared but not swept yet: it is
rejected with 400 before anything is queued.
Supplying walkForward runs the sweep in a different mode entirely. Instead of scoring
every parameter vector once over the whole range, the data is split into F sequential
folds; each fold optimizes the full grid on its own window and then scores only its winner
on the window immediately after — data that winner was not chosen on. It answers a harder
question than a leaderboard: not "which parameters won", but "does re-optimizing this
periodically actually work". Omit the block and nothing changes, including the response.
The cost is the reason it is opt-in rather than always on: F folds × N vectors, so a
4-fold run over a 500-point grid is 2004 backtests where the plain sweep is 500. The
request is rejected when folds × totalRuns exceeds the server's sweep budget.
Execute a parameter sweep over prepared data Runs a parameter matrix over the single immutable dataset identified by
requestId. The backend expands and executes the matrix internally; clients poll the returnedsweepIdfor incremental results.typemust betickerorkline; aklinesweep, walk-forward included, runs over bars of the cadence the request was prepared at.fundingcan be prepared but not swept yet: it is rejected with400before anything is queued.Supplying
walkForwardruns the sweep in a different mode entirely. Instead of scoring every parameter vector once over the whole range, the data is split into F sequential folds; each fold optimizes the full grid on its own window and then scores only its winner on the window immediately after — data that winner was not chosen on. It answers a harder question than a leaderboard: not "which parameters won", but "does re-optimizing this periodically actually work". Omit the block and nothing changes, including the response.The cost is the reason it is opt-in rather than always on: F folds × N vectors, so a 4-fold run over a 500-point grid is 2004 backtests where the plain sweep is 500. The request is rejected when
folds × totalRunsexceeds the server's sweep budget.