Virtufin Market Data Engines
Deployable market-data workers for the WorkManager -- a third
domain-repo pillar alongside virtufin-strategies (producer: strategy
workers deciding trades) and virtufin-execution-engines (consumer:
executor workers placing/simulating trades) -- their docs sites aren't
published yet, so not linked here. Workers here ingest and maintain
derived market-data state rather than participating in the
decide/execute trading loop directly.
flowchart LR
WS["WebSocketManagerController\n(existing)"]
HTTP["HttpGetWorker x N\n(one per pair, polls snapshots)"]
TRIG["Trigger\n(Dapr Jobs, periodic)"]
UPD(["act.exchange.binance.orderbook.update"])
SNAP(["act.exchange.binance.orderbook.snapshot"])
BOB["BinanceOrderBook\n(one instance, many pairs)"]
STATE[("State\nact.exchange.binance.orderbook.<pair>")]
CHANGED(["...orderbook.changed.<pair>"])
WS --> UPD
TRIG --> HTTP --> SNAP
UPD --> BOB
SNAP --> BOB
BOB --> STATE
BOB --> CHANGED
Workers
| Worker | What it maintains | Notes |
|---|---|---|
| BinanceOrderBook | A live local Binance SPOT order book, per pair | One instance tracks many pairs -- see its own page for the design rationale. |
Where to start
- Overview — how a market-data worker fits into the platform.
- Getting Started — build, test, and deploy a worker.