Virtufin Market Data DevKit
Builds world-scoped market-data workers on Virtufin.Behavior.DevKit and
owns the market-data contracts, starting with the OHLCV candle.
flowchart LR
RAW(["venue frames\n(e.g. Binance klines)"])
WORKER["venue worker\n: MarketDataWorkerBase"]
ENV["MarketDataEnvelope\nexchange, worlds, eventtime"]
OUT(["act.exchange.<venue>.ohlcv.candle.<interval>.<PAIR>"])
IND["indicator workers\n(indicator-engines)"]
STRATEGY["strategies\n(strategy-devkit)"]
RAW --> WORKER --> ENV --> OUT
OUT --> IND
OUT --> STRATEGY
Package
| Package | What it provides |
|---|---|
Virtufin.MarketData.DevKit |
MarketDataWorkerBase, MarketDataEnvelope, MarketDataConfig, and the candle contract (Candle, CandleJson, CandleTopics, CandleInterval) |
Market data or indicator?
Market data is a fact about one market stream, raw or derived with no tuning
choice: every consumer would derive the identical value. Trades, book
updates and candles at a venue's standard intervals are market data, and
world-scoped. An analytic that depends on a strategy's choice, such as SMA(n),
log return or entropy, is an indicator: scenario-scoped, built on
indicator-devkit. The rule is the Glossary requirement of the openspec
behaviour spec.
Where to start
- Contracts: the envelope and the candle contract.
- Development: build, test, publish.
Concrete venue workers are consumers of this package, in
market-data-engines.