Gradient training
LibTorch runs model training and evaluation without moving the runtime into a separate language stack.
ENZO Trading System Technical reference
ENZO-TS connects model training, exchange-aware simulation, signal distribution, portfolio allocation, risk controls, and account execution through a shared runtime.
System architecture
Signal generation, network distribution, portfolio orchestration, and account execution run as distinct process types. Shared libraries carry models, exchange access, simulation, reporting, configuration, and networking underneath them.
Models
Indicators
Simulation
Exchange
Storage
Reporting
Networking
01 Account credentials stay inside the execution clients.
02 A market process can be supervised independently of the portfolio.
03 The network hub can distribute one signal stream to multiple clients.
04 Client and exchange order IDs persist through restart reconciliation.
Model development
LibTorch carries training and model evaluation in C++, with PyTorch alongside it for research. The framework supports conventional gradient training as well as population-based search through genetic algorithms and neuroevolution.
Sub-minute candles, local cache, custom indicators
Strategy framework and candidate network structures
Backpropagation, genetic algorithms, neuroevolution
Orders, fills, commissions, and trading costs
Out-of-sample statistics and leakage controls
LibTorch runs model training and evaluation without moving the runtime into a separate language stack.
Genetic algorithms and neuroevolution operate over populations of candidate networks.
Out-of-sample evaluation and leakage controls separate development data from validation data.
Simulation + evaluation
Historical signals pass through exchange-aware order behaviour. Commissions, trading costs, positions, and trades are persisted before the reporting layer calculates return, risk, and monthly statistics.
Portfolio runs span multiple markets so allocation behaviour is evaluated inside the run.
Portfolio + risk
The orchestrator filters and sizes candidates before account clients receive an instruction. Entry, position, and recovery controls continue along the execution path.
Trading switches and active-market limits
Equal, linear, fixed, or manual modes
Skip a fill after price moves beyond tolerance
Stop-loss with a fallback stop path
Controlled follow-up after a failed action
Active-market limits are applied before weight is assigned.
Configurable leverage and per-market switches constrain account instructions.
Persistent state, reconciliation, and process restart cover interrupted runtime paths.
Interfaces
Desktop interfaces configure portfolio simulations and expose market selection, allocation, sizing, drawdown thresholds, and per-market results in one workspace.
Market selection, weight mode, drawdown threshold, and sizing rules on the left; per-market simulation panels on the right.
Open full size ↗