Namespace Virtufin.Base.Execution
Classes
- DeterministicExecutorBase<TState, TAction, TEvent>
Pure deterministic executor base: no randomness, no IO, no hidden state. Subclasses define the case-by-case fill logic (what event to emit for each
TActionvariant) and the initial state.
- DeterministicState
State for the DeterministicExecutor — empty, since deterministic execution has no hidden state.
- LiveExecutorBase<TState, TAction, TEvent>
Live executor base for routing actions to a real exchange. Subclasses define the exchange-routing strategy in ProcessAsync(TState, TAction). No assumptions about routing, fallback, or state evolution — all in the subclass.
- ObserveOnlyExecutor<TState, TAction, TEvent>
Decorator executor that wraps any other IExecutor<TState, TAction, TEvent> and records what would have happened without sending orders to the exchange. Used in
SHADOW_*scenarios.
- SlippageExecutorBase<TState, TAction, TEvent>
Executor base that models bid-ask slippage. Subclasses define the slippage distribution (no distribution assumed by the base) and how the slippage value is applied to the case-by-case fill logic.
- StochasticState
State for stochastic executors — a seeded PRNG. Deterministic given the seed, reproducible across runs. Mutable: the PRNG seed evolves as the executor steps.