Skip to content

Virtufin Domain DevKit

The domain basics every Virtufin domain devkit builds on. It sits between the generic worker-devkit (which holds no domain code) and the domain devkits (market data, indicators, portfolio, strategy, execution):

  • the domain envelope: the CloudEvent extensions that say where an event belongs: scenarioid, runid, exchange, clocktype, marketworld, marketuniverse, portfolioworld, strategyworld (Envelope);
  • the virtufin.worlds naming fragment: the market-data worlds act / hyp.<WORLD>, the scenario scope sc.<SCENARIO> and the scenario, world and strategy registries (cfg.scenario.<S>, cfg.world.<W>, cfg.strategy.<N>) (Naming).
flowchart LR
  W[worker-devkit<br/>generic] --> D[domain-devkit]
  D --> M[market-data-devkit]
  D --> I[indicator-devkit]
  D --> P[portfolio-devkit]
  D --> S[strategy-devkit]
  S --> E[execution-devkit]

Packages

Package Feed Contents
Virtufin.Domain.DevKit NuGet DomainAttributes, DomainEnvelopeExtensions, DomainEnvelope, DomainNames, the embedded fragment
virtufin-domain-devkit PyPI virtufin.domain_devkit.envelope, the fragment through the virtufin.naming entry point
@virtufin/domain-devkit npm NAMING_FRAGMENTS, WORLDS_FRAGMENT_ID

All three share LIBRARY_VERSION from versions.env.