Skip to content

Naming reference

Fragments

Fragment Imports Source
virtufin.core virtufin.core.yaml
virtufin.worlds virtufin.behavior.devkit--virtufin.worlds.yaml
virtufin.trading virtufin.worlds virtufin.behavior.devkit--virtufin.trading.yaml

Segment classes

Class Alphabet Used for Valid Invalid
vocab [a-z][a-z0-9-]* domain, entity, event, venue, service, worker type, indicator instance orderbook, load-failed, sma-20 OrderBook, load_failed, 20sma
identifier [A-Z0-9_]{1,32}, at least one letter scenario, world, universe, strategy name LIVE, CRASH_2020 live, 123
pair BASE_QUOTE, uppercase currency pair BTC_USDT, 1INCH_USD BTCUSDT, btc_usdt, BTC/USDT
guid lowercase canonical GUID worker, order, connection id 3f2a8c1e-0b4d-4e6f-9a7b-1c2d3e4f5a6b uppercase or braced GUIDs
interval 1s, 1m, 3m, 5m, 15m, 30m, 1h, 2h, 4h, 6h, 8h, 12h, 1d, 3d, 1w, 1mo candle interval 1m, 1mo 1M, 60s
token [a-z0-9][a-z0-9-]* opaque id, e.g. a run id 9f8e7d6c Run_1
any [A-Za-z0-9_-]+ experimental (x.) names only demo a.b

Derivation rules

Name Rule Example (Binance order book, BTC_USDT)
topic scope.path.event[.identity] (identity only if the event is partitioned) act.exchange.binance.orderbook.changed.BTC_USDT
state key scope.path.identity act.exchange.binance.orderbook.BTC_USDT
index key scope.path.index cfg.scenario.index
ce-subject entity_type/identity currency_pair/BTC_USDT
ce-type com.virtufin.path.event com.virtufin.exchange.binance.orderbook.changed
ce-source urn:com.virtufin:<service>[:<instance>], workers urn:com.virtufin:worker:<type>[:<id>] urn:com.virtufin:worker:binanceorderbook
dead letter dlq.<topic>; the pubsub component's own is dlq.pubsub dlq.sc.LIVE.trading.order.submitted
experimental x.<segments>, outside the contract x.demo.events

Topics

Entity Event Topic template Example topic ce-type ce-subject Status
virtufin.core/worker command wrk.<worker_type>.command.<worker_id> wrk.httpgetworker.command.3f2a8c1e-0b4d-4e6f-9a7b-1c2d3e4f5a6b com.virtufin.httpgetworker.command worker/3f2a8c1e-0b4d-4e6f-9a7b-1c2d3e4f5a6b live
virtufin.core/worker error (unpartitioned) wrk.<worker_type>.error wrk.httpgetworker.error com.virtufin.httpgetworker.error worker/3f2a8c1e-0b4d-4e6f-9a7b-1c2d3e4f5a6b live
virtufin.core/worker response (unpartitioned) wrk.<worker_type>.response wrk.httpgetworker.response com.virtufin.httpgetworker.response worker/3f2a8c1e-0b4d-4e6f-9a7b-1c2d3e4f5a6b live
virtufin.core/reply reply rpc.<caller>.reply.<run_id> rpc.notebook.reply.9f8e7d6c com.virtufin.notebook.reply run/9f8e7d6c live
virtufin.trading/order accepted (unpartitioned) sc.<scenario>.trading.order.accepted sc.LIVE.trading.order.accepted com.virtufin.trading.order.accepted order/3f2a8c1e-0b4d-4e6f-9a7b-1c2d3e4f5a6b live
virtufin.trading/order amended (unpartitioned) sc.<scenario>.trading.order.amended sc.LIVE.trading.order.amended com.virtufin.trading.order.amended order/3f2a8c1e-0b4d-4e6f-9a7b-1c2d3e4f5a6b live
virtufin.trading/order canceled (unpartitioned) sc.<scenario>.trading.order.canceled sc.LIVE.trading.order.canceled com.virtufin.trading.order.canceled order/3f2a8c1e-0b4d-4e6f-9a7b-1c2d3e4f5a6b live
virtufin.trading/order expired (unpartitioned) sc.<scenario>.trading.order.expired sc.LIVE.trading.order.expired com.virtufin.trading.order.expired order/3f2a8c1e-0b4d-4e6f-9a7b-1c2d3e4f5a6b live
virtufin.trading/order filled (unpartitioned) sc.<scenario>.trading.order.filled sc.LIVE.trading.order.filled com.virtufin.trading.order.filled order/3f2a8c1e-0b4d-4e6f-9a7b-1c2d3e4f5a6b live
virtufin.trading/order rejected (unpartitioned) sc.<scenario>.trading.order.rejected sc.LIVE.trading.order.rejected com.virtufin.trading.order.rejected order/3f2a8c1e-0b4d-4e6f-9a7b-1c2d3e4f5a6b live
virtufin.trading/order submitted (unpartitioned) sc.<scenario>.trading.order.submitted sc.LIVE.trading.order.submitted com.virtufin.trading.order.submitted order/3f2a8c1e-0b4d-4e6f-9a7b-1c2d3e4f5a6b live
virtufin.trading/trade cleared (unpartitioned) sc.<scenario>.trading.trade.cleared sc.LIVE.trading.trade.cleared com.virtufin.trading.trade.cleared trade/3f2a8c1e-0b4d-4e6f-9a7b-1c2d3e4f5a6b reserved
virtufin.trading/trade settled (unpartitioned) sc.<scenario>.trading.trade.settled sc.LIVE.trading.trade.settled com.virtufin.trading.trade.settled trade/3f2a8c1e-0b4d-4e6f-9a7b-1c2d3e4f5a6b reserved
virtufin.trading/position adjustment (unpartitioned) sc.<scenario>.position.adjustment sc.LIVE.position.adjustment com.virtufin.position.adjustment position/BTC_USDT reserved
virtufin.trading/position closed (unpartitioned) sc.<scenario>.position.closed sc.LIVE.position.closed com.virtufin.position.closed position/BTC_USDT reserved
virtufin.trading/position decreased (unpartitioned) sc.<scenario>.position.decreased sc.LIVE.position.decreased com.virtufin.position.decreased position/BTC_USDT reserved
virtufin.trading/position flipped (unpartitioned) sc.<scenario>.position.flipped sc.LIVE.position.flipped com.virtufin.position.flipped position/BTC_USDT reserved
virtufin.trading/position increased (unpartitioned) sc.<scenario>.position.increased sc.LIVE.position.increased com.virtufin.position.increased position/BTC_USDT reserved
virtufin.trading/position liquidated (unpartitioned) sc.<scenario>.position.liquidated sc.LIVE.position.liquidated com.virtufin.position.liquidated position/BTC_USDT reserved
virtufin.trading/position liquidation-warning (unpartitioned) sc.<scenario>.position.liquidation-warning sc.LIVE.position.liquidation-warning com.virtufin.position.liquidation-warning position/BTC_USDT reserved
virtufin.trading/position opened (unpartitioned) sc.<scenario>.position.opened sc.LIVE.position.opened com.virtufin.position.opened position/BTC_USDT reserved
virtufin.trading/position snapshot (unpartitioned) sc.<scenario>.position.snapshot sc.LIVE.position.snapshot com.virtufin.position.snapshot position/BTC_USDT reserved
virtufin.trading/position updated (unpartitioned) sc.<scenario>.position.updated sc.LIVE.position.updated com.virtufin.position.updated position/BTC_USDT reserved
virtufin.trading/position updated-attributed (unpartitioned) sc.<scenario>.position.updated-attributed sc.LIVE.position.updated-attributed com.virtufin.position.updated-attributed position/BTC_USDT reserved
virtufin.trading/risk alert (unpartitioned) sc.<scenario>.risk.<metric>.alert sc.LIVE.risk.name.alert com.virtufin.risk.name.alert currency_pair/BTC_USDT reserved
virtufin.trading/risk breach (unpartitioned) sc.<scenario>.risk.<metric>.breach sc.LIVE.risk.name.breach com.virtufin.risk.name.breach currency_pair/BTC_USDT reserved
virtufin.trading/risk pnl (unpartitioned) sc.<scenario>.risk.<metric>.pnl sc.LIVE.risk.name.pnl com.virtufin.risk.name.pnl currency_pair/BTC_USDT reserved
virtufin.trading/risk update (unpartitioned) sc.<scenario>.risk.<metric>.update sc.LIVE.risk.name.update com.virtufin.risk.name.update currency_pair/BTC_USDT reserved
virtufin.trading/pnl update (unpartitioned) sc.<scenario>.pnl.<metric>.update sc.LIVE.pnl.name.update com.virtufin.pnl.name.update currency_pair/BTC_USDT reserved

State keys

Entity Key template Example key Index key
virtufin.worlds/scenario_registry cfg.scenario.<scenario> cfg.scenario.LIVE cfg.scenario.index
virtufin.worlds/world_registry cfg.world.<world> cfg.world.CRASH_2020 cfg.world.index
virtufin.worlds/strategy_registry cfg.strategy.<strategy> cfg.strategy.MA_CROSS cfg.strategy.index
virtufin.trading/order sc.<scenario>.trading.order.<order_id> sc.LIVE.trading.order.3f2a8c1e-0b4d-4e6f-9a7b-1c2d3e4f5a6b
virtufin.trading/trade sc.<scenario>.trading.trade.<trade_id> sc.LIVE.trading.trade.3f2a8c1e-0b4d-4e6f-9a7b-1c2d3e4f5a6b
virtufin.trading/position sc.<scenario>.position.<pair> sc.LIVE.position.BTC_USDT
virtufin.trading/portfolio sc.<scenario>.position.portfolio sc.LIVE.position.portfolio

Worker types

No worker types.

Venues

No venues.