Apex Trading Engine is an event-driven, artifact-backed trading framework with explicit module boundaries.
flowchart LR
M[MarketDataEvent] --> S[Strategy]
S --> SG[SignalEvent]
SG --> PT[PortfolioTargetEvent]
PT --> RC[RiskCheckEvent]
RC --> O[OrderEvent]
O --> E[ExecutionEvent]
E --> F[FillEvent]
F --> P[Portfolio / PnL]
P --> R[ReportArtifact]
- Rust owns deterministic envelope types, replay primitives, and the optional Python binding layer.
- Python owns synthetic data, strategy research, portfolio accounting, risk orchestration, backtests, reports, the CLI, and the dashboard.
- .NET owns local API boundaries for run inspection and orchestration skeletons.
- C++ remains optional and narrowly scoped to execution simulation / benchmarking.
- All default workflows work from local artifacts.
- Synthetic data is the default input path.
- Risk checks happen before execution.
- Reports and dashboards read artifacts rather than recomputing strategy results.
- Service layers expose run state, not live-trading claims.