Glossary
Quick-reference definitions for the platform's vocabulary. For the "why" —
the design rationale behind each concept — see Concepts; for
the full, implementation-level technical glossary (event ADTs, CloudEvent
extension attributes, executor types, and more), see
lib.docs.virtufin.com/glossary.
Core domain concepts
| Term |
Definition |
| Market |
The exogenous price universe the system observes — nothing inside the platform influences it. See the pubsub-topics spec's Market Data Events. |
| Portfolio |
The collection of all positions a scenario holds (holdings per symbol, including cash). |
| Position |
The holding of a specific symbol at a point in time — quantity, average entry price, and unrealized P&L. See the pubsub-topics spec's Position Lifecycle Events. |
| Strategy |
The pair of decisions — what to do (decide) and how to carry it out (execute) — that turns market and portfolio state into trade actions. See lib's Behavior Layer. |
| Scenario |
A named, registered configuration tying together a market data source, an initial portfolio, and a strategy — production trading, paper trading, a backtest, or a shadow run are all scenarios. See the scenarios spec. |
| Event |
An immutable fact that occurred at a specific point in time — a tick, a fill, a position change. Everything in the platform is either an event, a derived state, or a stream of events. See the pubsub-topics spec's CloudEvents Envelope. |
| Signal |
A value continuously derived from a log of events (e.g. current P&L) — never transported on the wire, always recomputed on demand. See lib's Behavior Layer. |
| Indicator |
A signal that also folds in new data as it arrives, updating its own running state — a moving average is the classic example. See lib.docs.virtufin.com/glossary for the implementation-level definition. |
The act/hyp dimension
Every scenario's market, portfolio, and strategy legs are independently
either actual or hypothetical — this is what lets the same producer
code serve production, paper trading, and backtesting without a code
change (see Concepts's "Worlds & scenarios" section
and the scenarios spec).
| Term |
Definition |
| act |
The "actual" leg — a live data source, or a real account. |
| hyp |
The "hypothetical" leg — replayed/synthetic data, or a simulated account. Always names a specific hypothetical world (bare hyp alone is never valid). |
| world |
Which reality a market/portfolio/strategy leg runs against: act, or hyp.<name> for a specific named hypothetical (e.g. hyp.STRESS). |
| universe |
The data-universe name for market data (e.g. EQ_EUROPE, BTC_202101_202206, or ALL for unrestricted) — present whether the market leg is act or hyp. |
| scenario triplet |
The three legs — market {world, universe}, portfolio {world}, strategy {world} — that together fully define a scenario. |
LIVE |
The reserved scenario ID for production — {act, act, act}, auto-registered at service start. |
| Term |
Definition |
| API Gateway |
The single service every client talks to over gRPC, and the only service that talks to Dapr pub/sub and state directly on behalf of the rest of the platform. |
| WorkManager |
The host process for workers — loads worker code (via pluggable engines) and dispatches incoming events to it. |
| WebSocketManager |
The proxy for outbound WebSocket connections to exchanges (Binance, Alpaca, …); workers talk to it through the API gateway. |
| Worker |
A piece of code — a .NET DLL, a Python script, a native shared library — that WorkManager loads and runs, subscribed to events or commands. |
| TUI |
The Textual-based Python operator dashboard (package virtufin-tui); a pure gRPC consumer of the API gateway, playing the role kubectl plays for Kubernetes. |
| OpenSpec |
The platform's normative, scenario-driven (WHEN/THEN/AND) specification — every cross-cutting contract is defined there before any service implements it. |