Skip to content

Trading subsystem overview

VerifiedOwner Backend / platformLast verified backend@efa38e04e2db37a444e9f17100323c2ad4b83647 nautilus@2.0.0rc3

ONIX's trading subsystem covers four things, each documented on its own page:

  • strategy-authoring.md — how a Python Strategy/StrategyConfig project is authored, saved as an immutable content-addressed revision, and admitted for execution.
  • backtesting.md — how a sealed revision runs through the official Nautilus BacktestNode and 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.py
  • backend@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.