修复分红型自动互换在互换Tab显示期初/期末价未×100及期初净价为0
DealDividends生成分红型自动互换事件时,漏赋了UnderlyingInstrumentType和 TradingAmountNetAvg两个字段,导致互换Tab(TradeView)显示异常: 1. UnderlyingInstrumentType缺失:TradeView第654行IsBond判断为false, multiplier=1,走了非债券分支(不×100),使期初/期末价显示为相对价(1.00) 而非百分比(100%)。补赋eodPosi.UnderlyingInstrumentType后, 与手动互换一致走债券分支(×100)。 2. TradingAmountNetAvg缺失:TradeView第993行显示期初净价取该字段, 缺失导致显示0。补赋eodPosi.PosiNetNoFeePrice修复。 入库的TradingAmountAvg(相对价)本来就正确,仅显示层判断缺字段。 仅改动DealDividends,不影响平仓/手动互换/显示层逻辑。
This commit is contained in:
@@ -450,12 +450,14 @@ namespace YLErp.Modules.SwapModule
|
||||
PayDate = dividendPayDate,
|
||||
PositionId = eodPosi.PositionId,
|
||||
UnderlyingCode = eodPosi.UnderlyingCode,
|
||||
UnderlyingInstrumentType = eodPosi.UnderlyingInstrumentType,
|
||||
PayDirection = eodPosi.PosiDirection,
|
||||
PositionType = eodPosi.PositionType,
|
||||
PositionQty = eodPosi.PosiQuantity,
|
||||
Quantity = 0,
|
||||
ContractSize = eodPosi.ContractSize,
|
||||
TradingAmountAvg = eodPosi.PosiNetPrice,
|
||||
TradingAmountNetAvg = eodPosi.PosiNetNoFeePrice,
|
||||
PosiGrossPrice = eodPosi.PosiGrossPrice,
|
||||
PosiNetPrice = eodPosi.PosiNetPrice,
|
||||
MarkClosePnl = eodPosi.PosiDividendSum,
|
||||
|
||||
Reference in New Issue
Block a user