SecurityState
Per-security state for matching engine. Contains order book, order manager, and security definition.
Constructors
public SecurityState(SecurityId securityId)
securityState = SecurityState(securityId)
Per-security state for matching engine. Contains order book, order manager, and security definition.
Properties
public SecurityMessage Definition { get; }
value = securityState.Definition
The definition the venue stated for this security, or when it has stated none. What the engine matches against is derived from it; whoever has to answer what the venue lists reads it here rather than keeping a second copy.
public bool HasDepthSubscription { get; }
value = securityState.HasDepthSubscription
Whether depth subscription is active.
public bool IsMarketClosed { get; private set; }
value = securityState.IsMarketClosed
securityState.IsMarketClosed = value
Whether the market of this security is closed: its book holds only the orders resting in it, and an open position is valued at the quotes the market closed with.
public decimal? LastTradePrice { get; private set; }
value = securityState.LastTradePrice
securityState.LastTradePrice = value
The price the instrument last traded at, or when the venue has stated none. This is the price a stop is measured against, so it is also what a distance stated as a percent of the market is resolved from.
public OrderBook OrderBook { get; }
value = securityState.OrderBook
Order book for this security.
public OrderLifecycleManager OrderManager { get; }
value = securityState.OrderManager
Active order manager.
public decimal PriceStep { get; }
value = securityState.PriceStep
Price step from security definition or auto-detected.
public SecurityId SecurityId { get; }
value = securityState.SecurityId
Security identifier.
public SecurityStates? TradingState { get; private set; }
value = securityState.TradingState
securityState.TradingState = value
Trading state as the venue last stated it, or when it never has.
public decimal VolumeStep { get; }
value = securityState.VolumeStep
Volume step from security definition or auto-detected.
Methods
public void CloseMarket()
securityState.CloseMarket()
Close the market of this security: what the market offered leaves the book and the orders resting in it stay, while open positions keep the value of the best quotes it had until it quotes again.
public void ForgetBook()
securityState.ForgetBook()
Forgets the book stated so far, so an incremental feed has to state a whole one again before its increments mean anything. What the engine currently holds is left standing.
public void ProcessMarketData(MarketDataMessage msg)
securityState.ProcessMarketData(msg)
Process market data subscriptions (depth only).
public void ProcessQuoteChange(QuoteChangeMessage msg, List<Message> results)
securityState.ProcessQuoteChange(msg, results)
Process quote change (snapshot) — update order book.
public void ProcessSecurity(SecurityMessage msg)
securityState.ProcessSecurity(msg)
Process security definition message.
public void ProcessTradePrice(decimal price)
securityState.ProcessTradePrice(price)
Record the price the venue reports the instrument traded at.
- price
- Traded price.
public void ProcessTradingState(SecurityStates state)
securityState.ProcessTradingState(state)
Record the trading state the venue reports for this security.
- state
- Trading state.
public void ReopenMarket()
securityState.ReopenMarket()
The market of this security quotes again: its book values open positions from now on.
public decimal? TryGetClosePrice(Sides closeSide)
result = securityState.TryGetClosePrice(closeSide)
The price a position in this security can be closed at by an order of : the best quote on the side that order takes from, or the one the market closed with while it is closed.
- closeSide
- Side of the order that would close the position.
Returns: The price, or when the market has not named one.
public void UpdateSteps(decimal price, decimal? volume)
securityState.UpdateSteps(price, volume)
Takes the steps from what the market quotes, for an instrument whose venue never stated them.
- price
- Quoted price.
- volume
- Quoted volume.