Table of Contents

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 TAction variant) 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.