Skip to content

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.

Platform / service names

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 worker catalog and router; its Runtime hosts the workers, loads their code (via pluggable engines) and dispatches incoming events to them.
WebSocketFeed One outbound WebSocket connection to an exchange or data feed (Binance, Alpaca, …) as a WorkManager worker: it logs in, serves the topics an orchestrator tells it (serve), subscribing their venue items, and publishes each frame on its topic; it is driven with the worker RPCs and InvokeWorkerCommand. Workers never name a feed: their input topics are their whole dependency. It replaces the retired WebSocketManager service.
Worker A piece of code — a .NET DLL, a Python script, C# source, a native shared library — that the WorkManager Runtime 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.