Table of Contents

Interface IDecide<TState, TMarket, TPortfolio, TAction>

Namespace
Virtufin.Core.Behaviour
Assembly
Virtufin.Core.dll

The decide morphism of the trading loop: given the strategy's hidden state, a market observation, and the folded portfolio state, produce the next strategy state and zero or more trade actions. This is the coalgebra StrategyState × MarketEvent × PortfolioState → StrategyState × TradeAction[] of the domain spec (§6.4), exposed as an IProcess<TState, TInput, TOutput> so strategies compose with the generic scan/fold drivers (ProcessExtensions).

public interface IDecide<TState, TMarket, TPortfolio, TAction> : IProcess<TState, (TMarket, TPortfolio), TAction[]> where TState : IStrategyState where TMarket : IMarketEvent<DateTimeOffset> where TPortfolio : IPortfolioState where TAction : ITradeAction

Type Parameters

TState

The strategy's internal state.

TMarket

The market event type observed.

TPortfolio

The portfolio state type observed.

TAction

The trade action type emitted; the step output is an array of TAction because a single observation may yield zero or more intents.

Inherited Members
Extension Methods