EmulatedPortfolio

StockSharp.MatchingEngine

ポジションとお金のインメモリーを追跡するポートフォリオの実装をエミュレートしました。

実装: IPortfolio

コンストラクター

EmulatedPortfolio
public EmulatedPortfolio(string name)
emulatedPortfolio = EmulatedPortfolio(name)

新規インスタンスを初期化します。

name
ポートフォリオ名

プロパティ

AvailableMoney
public decimal AvailableMoney { get; }
value = emulatedPortfolio.AvailableMoney

利用可能なお金(current - ブロック)。

BeginMoney
public decimal BeginMoney { get; }
value = emulatedPortfolio.BeginMoney

初期費用額。

BlockedMoney
public decimal BlockedMoney { get; }
value = emulatedPortfolio.BlockedMoney

注文を終わらせるためのブロックされたお金。

Commission
public decimal Commission { get; }
value = emulatedPortfolio.Commission

トータルコミッション

CurrentMoney
public decimal CurrentMoney { get; }
value = emulatedPortfolio.CurrentMoney

現行の送金手数料(PnL)

EnableStopOut
public bool EnableStopOut { get; set; }
value = emulatedPortfolio.EnableStopOut
emulatedPortfolio.EnableStopOut = value

停止時に自動位置の清算を有効にします。

MarginCallLevel
public decimal MarginCallLevel { get; set; }
value = emulatedPortfolio.MarginCallLevel
emulatedPortfolio.MarginCallLevel = value

マージンコールレベルのしきい値。マージンレベルがこの値に落ちると、警告がトリガーされます。

Name
public string Name { get; }
value = emulatedPortfolio.Name

お名前.

RealizedPnL
public decimal RealizedPnL { get; }
value = emulatedPortfolio.RealizedPnL

利益損失に気付いた価値。

StopOutLevel
public decimal StopOutLevel { get; set; }
value = emulatedPortfolio.StopOutLevel
emulatedPortfolio.StopOutLevel = value

ストップアウトレベルのしきい値。マージンレベルがこの値に落ちると、ポジションは清算されます。

TotalPnL
public decimal TotalPnL { get; }
value = emulatedPortfolio.TotalPnL

総合PnL(実現 - 手数料)。

メソッド

CalculateUnrealizedPnL
public decimal CalculateUnrealizedPnL(Func<SecurityId, decimal?> getCurrentPrice)
result = emulatedPortfolio.CalculateUnrealizedPnL(getCurrentPrice)

あらゆるポジションで非実現 PnL を計算します。

getCurrentPrice
金融商品取引業者の現在の市場価格を取得する機能。価格が利用できなくなった場合は、nullを返します。

戻り値: 総合非正規化 PnL@

Clear
internal void Clear()
emulatedPortfolio.Clear()

すべての状態をクリア(リセットによって使用されます)。

GetAllPositions
public IEnumerable<PositionInfo> GetAllPositions()
result = emulatedPortfolio.GetAllPositions()

すべての位置情報オブジェクトを取得します。

GetPosition
public PositionInfo GetPosition(SecurityId securityId)
result = emulatedPortfolio.GetPosition(securityId)

金融商品取引業者のポジションをゲット

securityId
金融商品ID

戻り値: 位置情報またはnull。

GetPositions
public IEnumerable<ValueTuple<SecurityId, decimal, decimal>> GetPositions()
result = emulatedPortfolio.GetPositions()

すべてのポジションを取得します。

戻り値: ポジションの列挙

ProcessOrderCancellation
public void ProcessOrderCancellation(SecurityId securityId, Sides side, decimal volume, decimal price)
emulatedPortfolio.ProcessOrderCancellation(securityId, side, volume, price)

プロセスオーダーキャンセル(資金のブロック解除)

securityId
金融商品ID
side
注文側。
volume
キャンセルされた容積。
price
証拠金計算に使われる価格。
ProcessOrderRegistration
public void ProcessOrderRegistration(SecurityId securityId, Sides side, decimal volume, decimal price)
emulatedPortfolio.ProcessOrderRegistration(securityId, side, volume, price)

プロセスオーダー登録(ブロックファンド)

securityId
金融商品ID
side
注文側。
volume
注文数量。
price
証拠金計算の注文価格。
ProcessTrade
public TradeProcessingResult ProcessTrade(SecurityId securityId, Sides side, decimal price, decimal volume, decimal? commission)
result = emulatedPortfolio.ProcessTrade(securityId, side, price, volume, commission)

取引執行を処理します。

securityId
金融商品ID
side
貿易側面。
price
貿易価格。
volume
貿易量。
commission
手数料の量。

戻り値: 取引処理結果。

SetMoney
public void SetMoney(decimal money)
emulatedPortfolio.SetMoney(money)

初期費用を設定します。

money
お金の量。
SetPosition
public void SetPosition(SecurityId securityId, decimal volume, decimal avgPrice)
emulatedPortfolio.SetPosition(securityId, volume, avgPrice)

初期位置を設定します。

securityId
金融商品ID
volume
位置の容積。
avgPrice
平均エントリー価格。