A run is one execution of a specific strategy version, with one config, in one execution mode. Create a run, start it, watch the portfolio update, and inspect the issues feed if something goes wrong.
What a run contains
Every run pins three things.
-
A strategy version. Captured at creation time as a
strategy_version_id. Editing the strategy later does not change the run. -
A config with three sections:
environment(mode-specific inputs, e.g. start and end times for backtest),strategy(parameter values for this run), andcore(platform-level settings). - An execution mode: Backtest, Paper, or Live. See Execution Modes.
Run status
new. Created but not started. You can still edit the config.starting. Start requested; waiting for the runner to come up.running. Executing. Performance updates every ten seconds.complete. Finished on its own schedule (for example a backtest reached its end time).stopped. You killed it, or it stopped gracefully.error. The run failed. The app automatically switches you to the Issues & Logs tab.
Creating a run
From the Runs page, click New Run. The dialog asks for:
- A description.
- A strategy, which resolves to its latest version.
- An execution mode.
- Environment fields (for backtest: start and end times).
- The strategy's parameters, rendered as form fields.
You can also reach this dialog from a successful Publish toast, or by clicking Copy on an existing run.
Parameter inputs
Generic parameters (text, integer, decimal, boolean, choice) render as the corresponding input or dropdown. Two parameter types render with extra affordances:
- Symbol fields show the expected asset type as a badge next to the label and validate the ticker in-line against the security master. Recognized tickers display the company name; unrecognized tickers offer corrections, and tickers that exist under a different asset type display an explanation (for example, the form can show that a ticker was found as Equity while the field expects Future). A search popover lets you browse by symbol or name.
- Bar Frequency fields render as a disabled input when the strategy pins a fixed frequency, or as a dropdown when the strategy lets the operator choose.
When the dialog detects any symbol that doesn't match its declared asset type, it blocks submit with an inline summary listing the mismatches. To proceed, fix the ticker, or open the strategy editor and change the field's declared asset type.
Run actions
Available on the run detail panel.
- Start Run. Visible while the run is
new. Disabled if the config is incomplete. - Kill Run. Visible while the run is
running. The confirmation copy changes by mode. In Live, killing stops trading on the broker account immediately and does not auto close positions. - Copy. Always available. Creates a new run with the same strategy version and config, ready for you to edit. This is the main way to iterate on parameters.
- Reset. Available in Backtest and Paper for runs that have been started. Clears the recorded results so you can start fresh without creating a new run. Not available in Live.
- Edit Config. Available while the run is
new. After Start the config becomes read only. - Download Orders. Downloads the EMS orders CSV for the run. Available once the run has started.
The three tabs
Configuration
Shows the exact inputs the run was created with, in the same form used to
create it. Editable while the run is new, read only
afterward. The initial tab selection is Configuration for new or starting
runs.
Performance
Portfolio value, cash, unrealized P&L, open positions, open positions detail, order metrics, and orders by state (filled, pending, cancelled, rejected). While the run is running, Performance auto refreshes every ten seconds and the ledger is updated alongside it. A timeline shows start, kill requested, and stop times.
Issues & Logs
Classified issues plus a tail of strategy logs. This is the tab you use
to diagnose failures; a run in error status opens here by
default. See Run Diagnostics for
what lives on it.
Iterating on a run
Two patterns. Pick the one that matches what changed.
For sweeping a parameter across many values at once, a Backtest run's detail panel exposes an Optimize button that opens the Create Study dialog with the current run pre-selected as the base. See Optimize.