Skip to content

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.