Trading subsystem overview¶
ONIX's trading subsystem covers four things, each documented on its own page:
strategy-authoring.md— how a PythonStrategy/StrategyConfigproject is authored, saved as an immutable content-addressed revision, and admitted for execution.backtesting.md— how a sealed revision runs through the official NautilusBacktestNodeand what a backtest result is and is not.execution-runtime.md— the sandbox/live boundary, stated as precisely and conservatively as the pin allows.portfolio-risk.md— account, position and risk surfaces.
The hard safety boundary, stated once¶
No process in the currently deployed or currently developed ONIX fleet registers a real venue
execution client. This is not a policy choice enforced by convention; it is structural. The
market-spine node that ingests live data for every venue explicitly configures zero execution and
zero risk clients — Nautilus's own data/portfolio/risk engine scaffolding runs with defaults and
nothing attached. Separately, a dedicated code-level guard wraps Nautilus's own live-node builder
so that calling the one method that would register a real venue execution client
(add_exec_client) raises immediately, while Nautilus's own simulated/sandbox execution
(add_simulated_exec_client) remains explicitly reachable. The one place ONIX code has ever
constructed a real-broker execution client (Interactive Brokers, which is a genuine multi-account
broker rather than simulated venue execution) is currently disabled in the deployment
activation roster and outside the tracked production record.
Read this precisely: ONIX has execution infrastructure — order/fill/position wire shapes, a
sandbox runtime, and (for one broker) real-account execution code — but nothing in the pinned
source, the development activation roster, or the tracked production record shows a path by which
this deployment currently places a real-money order on a live venue. Every operation that mutates
real venue order/execution state is additionally governed to be exercised only in paper/sandbox
mode under the backend's own contract discipline. See
execution-runtime.md for the full, evidence-by-evidence account of this
boundary.
Evidence and source pins for this page
Verified. Current behaviour, confirmed in source at the pinned commit.
Verified on against the following immutable sources:
backend@efa38e04:python/src/onix_engine/venues/execution_guard.pybackend@efa38e04:docs/contracts/strategy-studio-v2.md
Status tokens are defined on the documentation and status model page. Every pin on this site is listed under versions and source pins.