ENZO-TS

ENZO Trading System Technical reference

One system for models, capital, and execution.

ENZO-TS connects model training, exchange-aware simulation, signal distribution, portfolio allocation, risk controls, and account execution through a shared runtime.

C++20 LibTorch REST + WebSocket TCP/IP + IPC
System paths Shared core
01
Research Data → train → simulate → evaluate
02
Portfolio Rank → gate → size → allocate
03
Execution Signal → order → state → reconcile
TSP TSM TSL TSC
Model work Gradient training, genetic algorithms, neuroevolution
Risk path Allocation, gating, entry tolerance, stops, retry
Venue path Market data, account events, orders, reconciliation
01

System architecture

A process boundary for each responsibility.

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.

Runtime topology Signal to account state
Input Market data Streams + cached candles
TSP Signal generators One process per market
TSM Network hub Signal distribution
TSL Orchestrator Ranking + allocation
TSC Account clients Orders + reconciliation
Output Venue APIs REST + WebSocket
Shared libraries

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.

02

Model development

Models train and evaluate inside the runtime.

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.

Model development loop Data to evaluation
  1. 01 / Prepare Historical store

    Sub-minute candles, local cache, custom indicators

  2. 02 / Define Model families

    Strategy framework and candidate network structures

  3. 03 / Train Search parameters

    Backpropagation, genetic algorithms, neuroevolution

  4. 04 / Simulate Exchange behaviour

    Orders, fills, commissions, and trading costs

  5. 05 / Evaluate Compare candidates

    Out-of-sample statistics and leakage controls

TRAIN / 01

Gradient training

LibTorch runs model training and evaluation without moving the runtime into a separate language stack.

SEARCH / 02

Population search

Genetic algorithms and neuroevolution operate over populations of candidate networks.

VALIDATE / 03

Evaluation discipline

Out-of-sample evaluation and leakage controls separate development data from validation data.

03

Simulation + evaluation

The simulator models orders, not ideal closing-price fills.

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.

Historical path Exchange-aware
InputCandles + signals
OrdersVenue rules + costs
StatePositions + trades
OutputEvaluation report

Portfolio runs span multiple markets so allocation behaviour is evaluated inside the run.

04

Portfolio + risk

Risk is expressed as executable controls.

The orchestrator filters and sizes candidates before account clients receive an instruction. Entry, position, and recovery controls continue along the execution path.

Control path Signal to supervised position
  1. 01
    EligibilityMarket gating

    Trading switches and active-market limits

  2. 02
    CapitalSize + allocate

    Equal, linear, fixed, or manual modes

  3. 03
    EntryDrift tolerance

    Skip a fill after price moves beyond tolerance

  4. 04
    PositionStop paths

    Stop-loss with a fallback stop path

  5. 05
    RecoveryCooldown + retry

    Controlled follow-up after a failed action

Portfolio boundary

Active-market limits are applied before weight is assigned.

Position boundary

Configurable leverage and per-market switches constrain account instructions.

Operational boundary

Persistent state, reconciliation, and process restart cover interrupted runtime paths.

05

Interfaces

Research and controls remain inspectable.

Desktop interfaces configure portfolio simulations and expose market selection, allocation, sizing, drawdown thresholds, and per-market results in one workspace.

ENZO-TS / PORTFOLIO SIMULATOR RESEARCH INTERFACE
Portfolio simulator showing market selection, weighting and sizing controls, and per-market result panels
Portfolio simulator

Market selection, weight mode, drawdown threshold, and sizing rules on the left; per-market simulation panels on the right.

Open full size ↗

Technical conversation

Discuss ENZO-TS and systems engineering.