EmulatedPortfolio

StockSharp.MatchingEngine

Emulated portfolio implementation that tracks positions and money in-memory.

Implementa: IPortfolio

Construtores

EmulatedPortfolio(string)

Initializes a new instance.

name
Portfolio name.

Propriedades

AvailableMoney : decimal

Available money (current - blocked).

BeginMoney : decimal

Initial money amount.

BlockedMoney : decimal

Blocked money for pending orders.

Commission : decimal

Total commission.

CurrentMoney : decimal

Current money (begin + PnL).

EnableStopOut : bool

Enable automatic position liquidation on stop-out.

MarginCallLevel : decimal

Margin call level threshold. When margin level falls to this value, a warning is triggered.

Name : string

Name.

RealizedPnL : decimal

The value of realized profit-loss.

StopOutLevel : decimal

Stop-out level threshold. When margin level falls to this value, positions are liquidated.

TotalPnL : decimal

Total PnL (realized - commission).

Métodos

CalculateUnrealizedPnL(Func<SecurityId, decimal?>) : decimal

Calculate unrealized PnL across all positions.

getCurrentPrice
Function to get current market price for a security. Returns null if price unavailable.

Retorna: Total unrealized PnL.

Clear()

Clear all state (used by Reset).

GetAllPositions() : IEnumerable<PositionInfo>

Get all position info objects.

GetPosition(SecurityId) : PositionInfo

Get position for security.

securityId
Security ID.

Retorna: Position info or null.

GetPositions() : IEnumerable<ValueTuple<SecurityId, decimal, decimal>>

Get all positions.

Retorna: Enumeration of positions.

ProcessOrderCancellation(SecurityId, Sides, decimal, decimal)

Process order cancellation (unblock funds).

securityId
Security ID.
side
Order side.
volume
Cancelled volume.
price
Price used for margin calculation.
ProcessOrderRegistration(SecurityId, Sides, decimal, decimal)

Process order registration (block funds).

securityId
Security ID.
side
Order side.
volume
Order volume.
price
Order price for margin calculation.
ProcessTrade(SecurityId, Sides, decimal, decimal, decimal?) : TradeProcessingResult

Process a trade execution.

securityId
Security ID.
side
Trade side.
price
Trade price.
volume
Trade volume.
commission
Commission amount.

Retorna: Trade processing result.

SetMoney(decimal)

Set initial money.

money
Money amount.
SetPosition(SecurityId, decimal, decimal)

Set initial position.

securityId
Security ID.
volume
Position volume.
avgPrice
Average entry price.