# a545996726-ctrl/xtquant_big_convert architecture

> Architecture diagram of the GitHub repository a545996726-ctrl/xtquant_big_convert, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/a545996726-ctrl/xtquant_big_convert
- Repository: https://github.com/a545996726-ctrl/xtquant_big_convert

## Overview

xtquant_big_convert is a Big QMT RPC bridge with a MiniQMT-compatible client API, plus a separate ZMQ backtest bridge. In the main workflow, an external program calls the compatibility API; requests cross a configured transport to the QMT-side runtime, which exposes market, trading, and position operations. A distinct signal-trading path fetches signals, validates and prices orders, submits them, then publishes position snapshots. The tree and excerpts support these boundaries, but do not expose enough server wiring to map every RPC dispatch or optional transport detail.

Main entry points: [`src/bigqmt_signal_trader/app.py`](https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_signal_trader/app.py) (Signal orchestrator), [`src/bigqmt_signal_trader/runtime_bigqmt.py`](https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_signal_trader/runtime_bigqmt.py) (QMT RPC runtime), [`src/bigqmt_backtest/server.py`](https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_backtest/server.py) (ZMQ server), [`src/bigqmt_backtest/engine.py`](https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_backtest/engine.py) (Backtest engine)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_client["Client API"]
  node_compat_trader["Trader API<br/>[xttrader.py]"]
  node_compat_data["Market API<br/>[xtdata.py]"]
  node_client_config["Client configuration"]
end

subgraph group_bridge["RPC Bridge"]
  node_transport_factory["Transport selection<br/>[factory.py]"]
  node_redis_transport["Redis transport<br/>[redis_transport.py]"]
  node_zmq_transport["ZMQ transport<br/>[zmq_transport.py]"]
  node_rpc_runtime["QMT RPC runtime<br/>[runtime_bigqmt.py]"]
  node_market_adapter["Market adapter<br/>[market_bigqmt.py]"]
  node_order_adapter["Order adapter<br/>[order_bigqmt.py]"]
  node_position_adapter["Position adapter<br/>[position_bigqmt.py]"]
end

subgraph group_trading["Signal Trading"]
  node_signal_app["Signal orchestrator<br/>[app.py]"]
  node_signal_source["Signal source<br/>[signal_redis.py]"]
  node_risk_guard["Signal validation<br/>[risk_guard.py]"]
  node_price_engine["Order pricing<br/>[price_engine.py]"]
  node_state_store[("Execution state<br/>[state_redis.py]")]
  node_position_sync["Position sync"]
end

subgraph group_backtest["Backtesting"]
  node_backtest_client["Strategy client<br/>[client.py]"]
  node_backtest_server["ZMQ server<br/>[server.py]"]
  node_backtest_protocol["Bridge protocol<br/>[protocol.py]"]
  node_bar_feed["CSV bar feed<br/>[data_feed.py]"]
  node_backtest_engine["Backtest engine<br/>[engine.py]"]
  node_sim_broker["Simulated broker<br/>[broker.py]"]
end

node_external_app(("External program"))

node_external_app -->|"calls API"| node_compat_trader
node_external_app -->|"calls API"| node_compat_data
node_client_config -->|"selects transport"| node_transport_factory
node_transport_factory -->|"creates"| node_redis_transport
node_transport_factory -.->|"creates"| node_zmq_transport
node_compat_trader -->|"sends RPC"| node_redis_transport
node_compat_data -->|"sends RPC"| node_redis_transport
node_compat_trader -.->|"sends RPC"| node_zmq_transport
node_compat_data -.->|"sends RPC"| node_zmq_transport
node_redis_transport -->|"delivers requests"| node_rpc_runtime
node_zmq_transport -.->|"delivers requests"| node_rpc_runtime
node_rpc_runtime -->|"uses market data"| node_market_adapter
node_rpc_runtime -->|"uses order operations"| node_order_adapter
node_rpc_runtime -->|"uses position queries"| node_position_adapter
node_signal_app -->|"fetches signals"| node_signal_source
node_signal_app -->|"claims and records"| node_state_store
node_signal_app -->|"validates signal"| node_risk_guard
node_signal_app -->|"builds price"| node_price_engine
node_signal_app -->|"requests quotes"| node_market_adapter
node_signal_app -->|"submits order"| node_order_adapter
node_signal_app -->|"reads positions"| node_position_adapter
node_signal_app -->|"publishes snapshot"| node_position_sync
node_external_app -->|"runs strategy"| node_backtest_client
node_backtest_client -->|"sends ZMQ requests"| node_backtest_server
node_backtest_server -->|"serves protocol"| node_backtest_protocol
node_backtest_server -->|"loads CSV bars"| node_bar_feed
node_backtest_server -->|"builds engine"| node_backtest_engine
node_backtest_protocol -->|"dispatches commands"| node_backtest_engine
node_backtest_engine -->|"reads bars"| node_bar_feed
node_backtest_engine -->|"simulates orders"| node_sim_broker

click node_compat_trader "https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/xtquant/xttrader.py"
click node_compat_data "https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/xtquant/xtdata.py"
click node_client_config "https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_signal_trader_client_config.example.py"
click node_transport_factory "https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_signal_trader/transports/factory.py"
click node_redis_transport "https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_signal_trader/transports/redis_transport.py"
click node_zmq_transport "https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_signal_trader/transports/zmq_transport.py"
click node_rpc_runtime "https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_signal_trader/runtime_bigqmt.py"
click node_market_adapter "https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_signal_trader/adapters/market_bigqmt.py"
click node_order_adapter "https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_signal_trader/adapters/order_bigqmt.py"
click node_position_adapter "https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_signal_trader/adapters/position_bigqmt.py"
click node_signal_app "https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_signal_trader/app.py"
click node_signal_source "https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_signal_trader/adapters/signal_redis.py"
click node_risk_guard "https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_signal_trader/risk_guard.py"
click node_price_engine "https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_signal_trader/price_engine.py"
click node_state_store "https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_signal_trader/adapters/state_redis.py"
click node_position_sync "https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_signal_trader/adapters/position_sync_redis.py"
click node_backtest_client "https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_backtest/client.py"
click node_backtest_server "https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_backtest/server.py"
click node_backtest_protocol "https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_backtest/protocol.py"
click node_bar_feed "https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_backtest/data_feed.py"
click node_backtest_engine "https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_backtest/engine.py"
click node_sim_broker "https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_backtest/broker.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_compat_trader,node_compat_data,node_client_config toneBlue
class node_transport_factory,node_redis_transport,node_zmq_transport,node_rpc_runtime,node_market_adapter,node_order_adapter,node_position_adapter toneAmber
class node_signal_app,node_signal_source,node_risk_guard,node_price_engine,node_state_store,node_position_sync toneMint
class node_backtest_client,node_backtest_server,node_backtest_protocol,node_bar_feed,node_backtest_engine,node_sim_broker toneRose
class node_external_app toneIndigo
```

## Components

### Client API

- [Trader API](https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/xtquant/xttrader.py): `src/xtquant/xttrader.py`
- [Market API](https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/xtquant/xtdata.py): `src/xtquant/xtdata.py`
- [Client configuration](https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_signal_trader_client_config.example.py): `src/bigqmt_signal_trader_client_config.example.py`

### RPC Bridge

- [Transport selection](https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_signal_trader/transports/factory.py): `src/bigqmt_signal_trader/transports/factory.py`
- [Redis transport](https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_signal_trader/transports/redis_transport.py): `src/bigqmt_signal_trader/transports/redis_transport.py`
- [ZMQ transport](https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_signal_trader/transports/zmq_transport.py): `src/bigqmt_signal_trader/transports/zmq_transport.py`
- [QMT RPC runtime](https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_signal_trader/runtime_bigqmt.py): `src/bigqmt_signal_trader/runtime_bigqmt.py`
- [Market adapter](https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_signal_trader/adapters/market_bigqmt.py): `src/bigqmt_signal_trader/adapters/market_bigqmt.py`
- [Order adapter](https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_signal_trader/adapters/order_bigqmt.py): `src/bigqmt_signal_trader/adapters/order_bigqmt.py`
- [Position adapter](https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_signal_trader/adapters/position_bigqmt.py): `src/bigqmt_signal_trader/adapters/position_bigqmt.py`

### Signal Trading

- [Signal orchestrator](https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_signal_trader/app.py): `src/bigqmt_signal_trader/app.py`
- [Signal source](https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_signal_trader/adapters/signal_redis.py): `src/bigqmt_signal_trader/adapters/signal_redis.py`
- [Signal validation](https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_signal_trader/risk_guard.py): `src/bigqmt_signal_trader/risk_guard.py`
- [Order pricing](https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_signal_trader/price_engine.py): `src/bigqmt_signal_trader/price_engine.py`
- [Execution state](https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_signal_trader/adapters/state_redis.py): `src/bigqmt_signal_trader/adapters/state_redis.py`
- [Position sync](https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_signal_trader/adapters/position_sync_redis.py): `src/bigqmt_signal_trader/adapters/position_sync_redis.py`

### Backtesting

- [Strategy client](https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_backtest/client.py): `src/bigqmt_backtest/client.py`
- [ZMQ server](https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_backtest/server.py): `src/bigqmt_backtest/server.py`
- [Bridge protocol](https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_backtest/protocol.py): `src/bigqmt_backtest/protocol.py`
- [CSV bar feed](https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_backtest/data_feed.py): `src/bigqmt_backtest/data_feed.py`
- [Backtest engine](https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_backtest/engine.py): `src/bigqmt_backtest/engine.py`
- [Simulated broker](https://github.com/a545996726-ctrl/xtquant_big_convert/blob/main/src/bigqmt_backtest/broker.py): `src/bigqmt_backtest/broker.py`

### Other components

- **External program**

## Connections

- External program → Trader API: calls API
- External program → Market API: calls API
- Client configuration → Transport selection: selects transport
- Transport selection → Redis transport: creates
- Transport selection → ZMQ transport: creates
- Trader API → Redis transport: sends RPC
- Market API → Redis transport: sends RPC
- Trader API → ZMQ transport: sends RPC
- Market API → ZMQ transport: sends RPC
- Redis transport → QMT RPC runtime: delivers requests
- ZMQ transport → QMT RPC runtime: delivers requests
- QMT RPC runtime → Market adapter: uses market data
- QMT RPC runtime → Order adapter: uses order operations
- QMT RPC runtime → Position adapter: uses position queries
- Signal orchestrator → Signal source: fetches signals
- Signal orchestrator → Execution state: claims and records
- Signal orchestrator → Signal validation: validates signal
- Signal orchestrator → Order pricing: builds price
- Signal orchestrator → Market adapter: requests quotes
- Signal orchestrator → Order adapter: submits order
- Signal orchestrator → Position adapter: reads positions
- Signal orchestrator → Position sync: publishes snapshot
- External program → Strategy client: runs strategy
- Strategy client → ZMQ server: sends ZMQ requests
- ZMQ server → Bridge protocol: serves protocol
- ZMQ server → CSV bar feed: loads CSV bars
- ZMQ server → Backtest engine: builds engine
- Bridge protocol → Backtest engine: dispatches commands
- Backtest engine → CSV bar feed: reads bars
- Backtest engine → Simulated broker: simulates orders
