@model TradeViewModel @using YLErp.Modules.CalculationModule @{ Layout = null; var tradeModel = Model.Trade; var isPremiumRate = tradeModel.IsUsePremiumRate == true; var isMoneyness = tradeModel.IsMoneynessOption == "是"; var rebatFmt = isPremiumRate ? OtcFormatFlag.premiumRateP : OtcFormatFlag.tradeSinglePrice; var volFmt = PS.Config.IsTradeVol && PS.Config.ErpElement.VolMoreAccurate ? OtcFormatFlag.percent4 : OtcFormatFlag.percent; var salesNames = String.Join(",", Model.SalesCommission.Select(n => n.SalesmanName).ToArray()); var isJd = tradeModel.UnderlyingCode?.Trim().ToUpper().StartsWith("JD") ?? false; tradeModel.TradeUnit = PS.Config.IsUseDisplayNotional ? (tradeModel.QuoteUnit == "500千克" ? "半吨" : (isJd ? "吨" : tradeModel.QuoteUnit)) : tradeModel.TradeUnit; }
@if (isPremiumRate) { } else { } @if (!string.IsNullOrEmpty(Model.OriginalStockEqvNotionalV2MultipleExchangeRate)) { @if (!string.IsNullOrEmpty(tradeModel.QuoteCurrency) && tradeModel.QuoteCurrency.ToLower() == "usd(cent)") { }else{ } } @if (tradeModel.TradeType == "凤凰期权") { } else if (tradeModel.TradeType == "雪球期权") { } else if (tradeModel.TradeType == "累计期权") { } else { } @if (tradeModel.trade_asian_option?.StrikeType == "Floating") { } else { } @if (tradeModel.TradeType == "累计期权" && tradeModel.trade_accumulator_option?.AccumulatorStructureType == AccumulatorStructureTypeEnum.Segmented) { } @if (PS.Config.IsTradeVol) { } @if (PS.Config.IsTradeVol) { } else { } @if (PS.Config.Is浙期 && tradeModel.ActualExerciseDate != null){ } else{ } @if (tradeModel.TradeType == "雪球期权") { tradeModel.MetaDic.TryGetValue("AnnualizeFactor2", out var factor); } else if (tradeModel.TradeType == "凤凰期权") { tradeModel.MetaDic.TryGetValue("AnnualizeFactor2", out var factor); } else { tradeModel.MetaDic.TryGetValue("AnnualizeFactor", out var factor); } @if (!string.IsNullOrEmpty(tradeModel.QuoteCurrency) && tradeModel.QuoteCurrency != "CNY") { } @if (PS.Config.Company == CompanyEnum.国海) { tradeModel.MetaDic.TryGetValue(YLErp.DBModels.Consts.ConsTradeMetaKey.CCR_K, out var ccr_k); tradeModel.MetaDic.TryGetValue(YLErp.DBModels.Consts.ConsTradeMetaKey.ignoreRiskExposure, out var ignoreRiskExposure); } @if (Model.showInitialMargin) { } @if (PS.Config.Is润和) { } @if (AppHelper.UseFutureVersion("销售提成", "V2")) { } @{ tradeModel.MetaDic.TryGetValue(YLErp.DBModels.Consts.ConsTradeMetaKey.ClearingAgency, out var clearingAgency); tradeModel.MetaDic.TryGetValue(YLErp.DBModels.Consts.ConsTradeMetaKey.TradingPlace, out var tradingPlace); tradeModel.MetaDic.TryGetValue(YLErp.DBModels.Consts.ConsTradeMetaKey.MainProtocolCode, out var mainProtocolCode); tradeModel.MetaDic.TryGetValue(YLErp.DBModels.Consts.ConsTradeMetaKey.SupProtocolCode, out var supProtocolCode); } @if (!PS.Config.Is润和) { } @if (PS.Config.ErpElement.SecuritiesEnvironment) { } @if (!PS.Config.Is润和) { } else { } @if (!PS.Config.ErpElement.SecuritiesEnvironment) { @if (tradeModel.TradeType != "凤凰期权" && tradeModel.TradeType != "雪球期权") { if (tradeModel.TradeType == "累计期权") { } else { } } if (tradeModel.TradeType == "凤凰期权" || tradeModel.TradeType == "雪球期权") { } } @if (CurUser.交易管理_交易标签查看权限) { }
簿记账户 @(tradeModel.AssetBookName)期权费率 @(tradeModel.PremiumRate.OtcFormat(OtcFormatFlag.premiumRateP)) 权利金 @(tradeModel.TradeSinglePrice.OtcFormat(OtcFormatFlag.tradeSinglePrice)) @if (tradeModel.TradeSinglePrice != null) { @(tradeModel.QuoteUnitSingle) }
交易员 @(tradeModel.TraderName) 有效成交数量 @(tradeModel.TradeOriginalAmount.OtcFormatNotional(tradeModel.CountRatio, PS.Config.IsUseDisplayNotional)) @(tradeModel.TradeUnit)
交易对手方 @(tradeModel.ClientName) 成交数量 @(TradeCalcHelper.GetTradeAmountV(tradeModel).OtcFormatNotional(tradeModel.CountRatio, PS.Config.IsUseDisplayNotional)) @(tradeModel.TradeUnit)
交易编号 @(tradeModel.TradeNumber) 成交总额 @(tradeModel.TradePrice.OtcFormatMoney())
交易方向 @(tradeModel.BuySell) 名义本金 @(tradeModel.OriginalStockEqvNotionalV2.OtcFormat(OtcFormatFlag.StockEqvNotional))
名义本金(结算币种)@(double.Parse(Model.OriginalStockEqvNotionalV2MultipleExchangeRate)/100)@Model.OriginalStockEqvNotionalV2MultipleExchangeRate
期权类型 @(tradeModel.TradeType == "凤凰期权" ? ("凤凰" + tradeModel.OptionType) : tradeModel.TradeType) @(tradeModel.TradeType.Replace("期权", ""))@(tradeModel.OptionType) @(tradeModel.OptionType == "看涨" ? "累购" : "累沽") @(tradeModel.ExerciseModeCn) @(tradeModel.TradeType.Replace("期权", ""))@(tradeModel.OptionType) 有效持仓数量 @(tradeModel.TradeAmount.OtcFormatNotional(tradeModel.CountRatio, PS.Config.IsUseDisplayNotional))
标的代码 @if (tradeModel.TradeType == "合成价差期权") { @(tradeModel.UnderlyingCode) } else { @(tradeModel.UnderlyingCode) } 持仓数量 @(TradeCalcHelper.GetTradeAmountV(tradeModel, tradeModel.Notional).OtcFormatNotional(tradeModel.CountRatio, PS.Config.IsUseDisplayNotional))
期初标的价格 @(tradeModel.SpotPrice.OtcFormat(OtcFormatFlag.umprice)) @(tradeModel.TradeType == "累计期权" && tradeModel.trade_accumulator_option?.AccumulatorStructureType == AccumulatorStructureTypeEnum.Segmented ? "执行价格1":"执行价格")@(tradeModel.StrikeToShow)
执行价格2 @(tradeModel.trade_accumulator_option?.Strike2.OtcFormatUmPrice(isMoneyness)) 执行价格3 @(tradeModel.trade_accumulator_option?.Strike3.OtcFormatUmPrice(isMoneyness))
成交波动率 @(tradeModel.TradeOpenVolatility.OtcFormat(volFmt)) 目标波动率 @(tradeModel.TradeCloseVolatility.OtcFormat(volFmt))
成交日期 @(tradeModel.TradeDate.OtcFormatDate())平滑过渡天数 @(tradeModel.NumOfSmoothingDays)
权利金应付日 @(tradeModel.PremiumPayDate.OtcFormatDate())
保底收益 @if (isPremiumRate) { @(tradeModel.PrincipalRateWrite.OtcFormatPercent()) } else { @(tradeModel.SinglePrincipalWrite.OtcFormatMoney()) if (tradeModel.TradeSinglePrice != null) { @(tradeModel.QuoteUnitSingle) } } 保底收益总额 @(tradeModel.OriginalPrincipalSum.OtcFormatMoney())
实际到期日期 @(tradeModel.ActualExerciseDate.OtcFormatDate()) 到期日期 @(tradeModel.ExerciseDate.OtcFormatDate())
结算日期 @(tradeModel.SettlementDate.OtcFormatDate())
无风险利率 @(tradeModel.NoRiskRate.OtcFormatPercent()) 分红率 @(tradeModel.DividendRate.OtcFormatPercent())
到期日期 @(tradeModel.ExerciseDate.OtcFormatDate()) 无风险利率 @(tradeModel.NoRiskRate.OtcFormatPercent())
结算日期 @(tradeModel.SettlementDate.OtcFormatDate()) 分红率 @(tradeModel.DividendRate.OtcFormatPercent())
参与率 @(tradeModel.ParticipationRate.OtcFormatPercent()) 收益结算 @(tradeModel.SettlementTypeDesc)
期权年化 @(tradeModel.trade_snowball != null && tradeModel.trade_snowball.IsAnnualized2 ? '是' : '否') 年化系数 @(factor)
期权年化 @(tradeModel.trade_autocall.IsAnnualized2 ? '是' : '否') 年化系数 @(factor)
期权年化 @(tradeModel.IsAnnualized ? '是' : '否') 年化系数 @(factor)
交易状态 @(tradeModel.TradeStatus) 有效名义本金 @(tradeModel.StockEqvNotionalReal.OtcFormat(OtcFormatFlag.StockEqvNotional))
预付金模板 @tradeModel.MarginTemplateName 预付金算法 @(YLErp.Helpers.EnumHelper.GetDescriptionByName(tradeModel.MarginType))
计价币种 @tradeModel.QuoteCurrency 汇率 @(tradeModel.MetaDic.ContainsKey("ExchangeRate") ? tradeModel.MetaDic["ExchangeRate"] : "")
初始预付金率 @(tradeModel.MarginType <= MarginTypeEnum.NONE ? "" : tradeModel.MarginRate.OtcFormat(OtcFormatFlag.marginRateP)) 持仓预付金率 @(tradeModel.MarginType == MarginTypeEnum.FIXED || tradeModel.MarginType == MarginTypeEnum.FLOATP ? tradeModel.PositionMarginRate.OtcFormat(OtcFormatFlag.marginRateP) : "")
CCR指标k值 @ccr_k 信用风险敞口 @(ignoreRiskExposure != "1" ? "参与计算" : "忽略")
初始预付金 @(tradeModel.InitialMargin.OtcFormatMoney())
Mid Vol @if (tradeModel.MetaDic.ContainsKey("MidVol") && double.TryParse(tradeModel.MetaDic["MidVol"], out double midvol)) { @(midvol.OtcFormatPercent()) } Day1 Pnl @(tradeModel.MetaDic.ContainsKey("Day1Pnl") ? tradeModel.MetaDic["Day1Pnl"] : "")
@(PS.Config.ErpElement.SaleMode == YLErp.Configuration.Enums.SaleMode.SaleMen ? "销售员" : "客户经理") @(salesNames) 销售提成 @(Model.SalesCommission.FirstOrDefault()?.CommissionString())
交易场所 @(tradingPlace) 清算机构 @(clearingAgency)
主协议编号 @(mainProtocolCode) 补充协议编号 @(supProtocolCode)
是否有效 @(tradeModel.ValidState == "InValid" ? "否" : "是")交易对手方 @(tradeModel.OpponentRole ?? "乙方")
中央对手方清算 @{ tradeModel.MetaDic.TryGetValue(YLErp.DBModels.Consts.ConsTradeMetaKey.IsCentralClearing, out var isCentralClearing); } @(isCentralClearing == "Y" ? "是" : isCentralClearing == "I" ? "计划中央对手方清算" : "否") 中央清算平台 @{ tradeModel.MetaDic.TryGetValue(YLErp.DBModels.Consts.ConsTradeMetaKey.CentralClearingPaltform, out var centralClearingPaltform); } @centralClearingPaltform
交易平台 @{ tradeModel.MetaDic.TryGetValue(YLErp.DBModels.Consts.ConsTradeMetaKey.TradingPaltform, out var tradingPaltform); } @tradingPaltform 报送观察频率 @{ tradeModel.MetaDic.TryGetValue(YLErp.DBModels.Consts.ConsTradeMetaKey.koObservationRate, out var koObservationRate); @(!string.IsNullOrEmpty(koObservationRate) && koObservationRate.IndexOf("|") > 0 ? koObservationRate.Substring(koObservationRate.IndexOf('|') + 1).Replace("DAIL", " 日度").Replace("WEEK", " 周度").Replace("MNTH", " 月度").Replace("YEAR", " 年度").Replace("OTHER", "其他") : "1 日度") } @{ tradeModel.MetaDic.TryGetValue(YLErp.DBModels.Consts.ConsTradeMetaKey.kiObservationRate, out var kiObservationDate); @(!string.IsNullOrEmpty(kiObservationDate) && kiObservationDate.IndexOf("|") > 0 ? kiObservationDate.Substring(kiObservationDate.IndexOf('|') + 1).Replace("DAIL", " 日度").Replace("WEEK", " 周度").Replace("MNTH", " 月度").Replace("YEAR", " 年度").Replace("OTHER", "其他") : "1 日度") }
敲出报送观察频率 @{ tradeModel.MetaDic.TryGetValue(YLErp.DBModels.Consts.ConsTradeMetaKey.koObservationRate, out var koObservationRate); @(!string.IsNullOrEmpty(koObservationRate) && koObservationRate.IndexOf("|") > 0 ? koObservationRate.Substring(koObservationRate.IndexOf('|') + 1).Replace("DAIL", " 日度").Replace("WEEK", " 周度").Replace("MNTH", " 月度").Replace("YEAR", " 年度").Replace("OTHER", "其他") : "1 月度") } 敲入报送观察频率 @{ tradeModel.MetaDic.TryGetValue(YLErp.DBModels.Consts.ConsTradeMetaKey.kiObservationRate, out var kiObservationDate); @(!string.IsNullOrEmpty(kiObservationDate) && kiObservationDate.IndexOf("|") > 0 ? kiObservationDate.Substring(kiObservationDate.IndexOf('|') + 1).Replace("DAIL", " 日度").Replace("WEEK", " 周度").Replace("MNTH", " 月度").Replace("YEAR", " 年度").Replace("OTHER", "其他") : "1 日度") }
备注 @if (tradeModel.RemarkInfo != null && tradeModel.RemarkInfo.StartsWith("http://")) { @(tradeModel.RemarkInfo) } else { @(tradeModel.RemarkInfo) }
标签
@if (Model.Tags != null && Model.Tags.Any()) { foreach (var tag in Model.Tags) { @tag.Name @if (CurUser.交易管理_交易标签调整权限) { x } } } @if (CurUser.交易管理_交易标签调整权限) { + }
@if (tradeModel.Propertys != null) { var i = 0; var length = tradeModel.Propertys.Count; var preProperty = new ExtendInfoModel(); @foreach (var property in tradeModel.Propertys) { i++; if (i % 2 == 1) { preProperty = property; if (i == length) { } } else { } }
@property.name @property.value
@preProperty.name @preProperty.value @property.name @property.value
} @if (tradeModel.TradeType == "合成价差期权") { var sulist = YLErp.DBModels.Helpers.TradeHelper.GetSyntheticPriceModel(tradeModel)?.SuList; if (sulist != null) { var suItems = sulist.Select(n => n.UnderlyingCode + "," + n.Price.ToString("F3")).Concat(new string[] { null, null }).ToArray(); @for (var i = 0; i < suItems.Length; i += 2) { if ((suItems[i]) == null) { break; } if ((suItems[i + 1]) == null) { break; } }
标的@(i + 1) @(suItems[i]) 标的@(i + 2) @(suItems[i + 1])
} } else if (tradeModel.TradeType == "亚式期权") { var asian = tradeModel.trade_asian_option; @if (asian.PayoffTypeCn.Contains("增强")) { @if (asian.StrikeType == "Fixed") { var enhancedPrice = asian.EnhancedPrice.OtcFormatUmPrice(); if (tradeModel.IsMoneynessOptionData) { enhancedPrice = asian.EnhancedPrice.OtcFormatPercent(); } } else { } }
执行价类型 @(asian.StrikeTypeCn) 均价起算日 @(asian.AveragingPeriodStartDate.OtcFormatDate())
均价起算方式 @(asian.PayoffTypeCn) 杠杆率 @(asian.StrikeGearingFactor.OtcFormatPercent())
结算类型 @(asian.SettleMode == "AtEnd" ? "递延" : "立即")增强价格 @enhancedPrice
} else if (tradeModel.TradeType == "障碍期权") { var barrier = tradeModel.trade_barrier_option; var barrierRebat = isPremiumRate ? barrier.RebateRate : barrier.Rebate; var barrierRebateHigh = isPremiumRate ? barrier.RebateHighRate : barrier.RebateHigh;
障碍类型 @(barrier.BarrierType) 观察方式 @(barrier.Discrete)
障碍价格 @(barrier.BarrierPrice.OtcFormatUmPrice(isMoneyness)) 补偿方式 @(barrier.RebateTypeCn)
高障碍价格 @(barrier.UpperBarrierPrice.OtcFormatUmPrice(isMoneyness)) 障碍偏移 @(barrier.BarrierShift)
敲入敲出状态 @(barrier.KnockInOutStatusCn) 敲入敲出日期 @(barrier.KnockInOutDate.OtcFormatDate())
补偿按敲出日年化 @(barrier.RebateAnnualizedAtKO ? "是" : "否") 补偿计息规则 @(barrier.RebateDayCount)
补偿金额 @(barrierRebat.OtcFormat(rebatFmt)) 高障碍补偿金额 @(barrierRebateHigh.OtcFormat(rebatFmt))
观察信息 @{ if (!barrier.ObservationDates.IsNullOrWhiteSpace()) { var colInfos = "['日期']"; @MyControls.Btn("查看", string.Format("showObservationInfos('{0}',{1},'{2}')", "观察信息", colInfos, barrier.ObservationDates)) } } 观察频率 @{ tradeModel.MetaDic.TryGetValue(YLErp.DBModels.Consts.ConsTradeMetaKey.kiObservationRate, out var kiObservationDate); @(!string.IsNullOrEmpty(kiObservationDate) ? kiObservationDate.IndexOf("|") > 0 ? "每" + kiObservationDate.Substring(0, kiObservationDate.IndexOf('|')).Replace('D', '天').Replace('W', '周').Replace('M', '月').Replace('Y', '年') : "每" + kiObservationDate.Replace('D', '天').Replace('W', '周').Replace('M', '月').Replace('Y', '年') : "") }
} else if (tradeModel.TradeType == "二元期权") { var binary = tradeModel.trade_binary_option; var isTouch = binary.PayoffType.Contains("Touch"); var CashOrNothingAmount = isPremiumRate ? binary.CashOrNothingAmountRate : binary.CashOrNothingAmount; @if (isTouch) { } else { } @if (isTouch) { } else { } @if (binary.PayoffType.Contains("Double")) { var CashOrNothingAmountHigh = isPremiumRate ? binary.CashOrNothingAmountHighRate : binary.CashOrNothingAmountHigh; }
二元类型 @(binary.PayoffType)是否离散观察 @(binary.IsDiscreteMonitored ? "是" : "否")
补偿金额 @(CashOrNothingAmount.OtcFormat(rebatFmt))补偿方式 @(binary.RebateTypeCn)
补偿按敲出日年化 @(binary.RebateAnnualizedAtKO ? "是" : "否") 补偿计息规则 @(binary.RebateDayCount)
高障碍价格 @(binary.UpperBarrier.OtcFormatUmPrice(isMoneyness)) 高障碍补偿金额 @(CashOrNothingAmountHigh.OtcFormat(rebatFmt))
} else if (tradeModel.TradeType == "双鲨期权") { var dshark = tradeModel.trade_double_sharkfin_option; var dsharkRebate = isPremiumRate ? dshark.RebateRate : dshark.Rebate; var dsharkRebateHigh = isPremiumRate ? dshark.RebateHighRate : dshark.RebateHigh;
高障碍价格 @(dshark.BarrierHigh.OtcFormatUmPrice(isMoneyness)) 低障碍价格 @(dshark.BarrierLow.OtcFormatUmPrice(isMoneyness))
高行权价 @(dshark.StrikeHigh.OtcFormatUmPrice(isMoneyness)) 低行权价 @(tradeModel.StrikeToShow)
补偿金额 @(dsharkRebate.OtcFormat(rebatFmt)) 高障碍补偿金额 @(dsharkRebateHigh.OtcFormat(rebatFmt))
高参与率 @(dshark.CallParticipationRate.OtcFormatPercent()) 低参与率 @(dshark.PutParticipationRate.OtcFormatPercent())
敲入敲出状态 @(dshark.KnockInOutStatusCn) 敲入敲出日期 @(dshark.KnockInOutDate.OtcFormatDate())
观察类型 @(dshark.Discrete) 观察信息 @{ if (!dshark.ObservationDates.IsNullOrWhiteSpace()) { var colInfos = "['日期']"; @MyControls.Btn("查看", string.Format("showObservationInfos('{0}',{1},'{2}')", "观察信息", colInfos, dshark.ObservationDates)) } }
} else if (tradeModel.TradeType == "凤凰期权") { var autocall = tradeModel.trade_autocall;
敲出观察信息 @{ if (!autocall.KOObservationDates.IsNullOrWhiteSpace()) { var colInfos = "[{name:'日期',type:'text'},{name:'障碍价格',type:'" + (tradeModel.IsMoneynessOptionData ? "percent" : "number") + "'}]"; @MyControls.Btn("查看", string.Format("showObservationInfos('{0}',{1},'{2}')", "敲出观察信息", colInfos, autocall.KOObservationDates)) } } 敲出观察频率 @{ tradeModel.MetaDic.TryGetValue(YLErp.DBModels.Consts.ConsTradeMetaKey.koObservationRate, out var koObservationRate); @(!string.IsNullOrEmpty(koObservationRate) ? koObservationRate.IndexOf("|") > 0 ? "每" + koObservationRate.Substring(0, koObservationRate.IndexOf('|')).Replace('D', '天').Replace('W', '周').Replace('M', '月').Replace('Y', '年') : "每" + koObservationRate.Replace('D', '天').Replace('W', '周').Replace('M', '月').Replace('Y', '年') : "") }
敲入观察信息 @{ if (!autocall.ObservationDates.IsNullOrWhiteSpace()) { var colInfos = "['日期']"; @MyControls.Btn("查看", string.Format("showObservationInfos('{0}',{1},'{2}')", "敲入观察信息", colInfos, autocall.ObservationDates)) } } 敲入观察频率 @{ tradeModel.MetaDic.TryGetValue(YLErp.DBModels.Consts.ConsTradeMetaKey.kiObservationRate, out var kiObservationDate); @(!string.IsNullOrEmpty(kiObservationDate) ? kiObservationDate.IndexOf("|")>0? "每" + kiObservationDate.Substring(0, kiObservationDate.IndexOf('|')).Replace('D', '天').Replace('W', '周').Replace('M', '月').Replace('Y', '年') : "每" + kiObservationDate.Replace('D', '天').Replace('W', '周').Replace('M', '月').Replace('Y', '年') : "") }
票息观察信息 @{ if (!autocall.KOObservationDates.IsNullOrWhiteSpace()) { var colInfos = "[{name:'日期',type:'text'},{name:'票息障碍价格',type:'" + (tradeModel.IsMoneynessOptionData ? "percent" : "number") + "'},{name:'票息',type:'percent'}]"; @MyControls.Btn("查看", string.Format("showObservationInfos('{0}',{1},'{2}')", "票息观察信息", colInfos, autocall.CouponObservation)) } } 票息率 @(autocall.Coupon.OtcFormat(OtcFormatFlag.premiumRateP))
票息是否年化 @(autocall.IsFixedCoupon ? "否" : "是") 票息日历规则 @(autocall.CouponDayCount)
票息包含首日 @(autocall.CouponIncludeStartDate == true ? "是" : "否") 票息障碍价格 @(autocall.CouponBarrier.OtcFormatUmPrice(isMoneyness))
票息结算方式 @(autocall.CouponPayTypeDesc()) 敲出障碍价格 @(autocall.KOBarrier.OtcFormatUmPrice(isMoneyness))
敲入障碍价格 @(autocall.KIBarrier.OtcFormatUmPrice(isMoneyness)) 敲入到期是否支付票息 @(autocall.IncludeCouponAfterKI ? "是" : "否")
敲入到期支付类别 @(autocall.KIPayoffTypeDesc()) 敲入行权价 @(autocall.SpreadStrike1.OtcFormatUmPrice(isMoneyness))
封顶/封底行权价 @(autocall.SpreadStrike.OtcFormatUmPrice(isMoneyness)) 敲入敲出状态 @(autocall.KnockInOutStatusCn)
敲入敲出日期 @(autocall.KnockInOutDate.OtcFormatDate())
} else if (tradeModel.TradeType == "雪球期权") { @await Html.PartialAsync("_tradeview/snowball") } else if (tradeModel.TradeType == "彩虹期权") { var rainbow = tradeModel.trade_rainbow_option;
标的资产2 @(rainbow.UnderlyingAssetCode2) 行权价2 @(rainbow.Strike2)
彩虹类型 @(rainbow.RainbowType)
} else if (tradeModel.TradeType == "区间累积期权") { var rangeacc = tradeModel.trade_rangeaccrual;
观察信息 @{ if (!rangeacc.ObservationDates.IsNullOrWhiteSpace()) { var colInfos = "['日期']"; @MyControls.Btn("查看", string.Format("showObservationInfos('{0}',{1},'{2}')", "观察信息", colInfos, rangeacc.ObservationDates)) } }
区间上限 @(rangeacc.UpperRange.OtcFormatUmPrice(isMoneyness)) 区间收益 @(rangeacc.BonusRate.OtcFormatPercent(4))
区间下限 @(rangeacc.LowerRange.OtcFormatUmPrice(isMoneyness))
} else if (tradeModel.TradeType == "气囊结构") { var airbag = tradeModel.trade_airbag;
敲入障碍价 @(airbag.Barrier.OtcFormatUmPrice(isMoneyness)) 收益封顶 @(airbag.HasPayoffLimit ? "是" : "否")
是否离散观察 @(airbag.IsDiscreteMonitored ? "是" : "否") 收益封顶价格 @(airbag.HighStrike.OtcFormatUmPrice(isMoneyness))
敲入参与率 @(airbag.KIParticipationRate.OtcFormatPercent()) 敲入敲出状态 @(airbag.KnockInOutStatusCn)
敲入敲出日期 @(airbag.KnockInOutDate.OtcFormatDate())
} else if (tradeModel.TradeType == "收益增强结构") { var enhance = tradeModel.trade_underlying_enhance;
年化增强收益 @(enhance.AnnualizedEnhanceRate.OtcFormatPercent(4))
} else if (tradeModel.TradeType == "累计期权") { var ext = tradeModel.trade_accumulator_option; @if (ext?.AccumulatorStructureType != AccumulatorStructureTypeEnum.Segmented) { @if (ext?.PayoffType == "固定") { } @if (PS.Config.ErpElement.AccumulatorShowMultiplier1) { } else { } @if (ext?.SettlementMode == "实物交割" || ext?.SettlementMode == "现金实物合并结算") { } } else { @if (ext?.PayoffType == "固定") { } else { } }
敲出观察信息 @{ if (!(ext?.KOObservationDates).IsNullOrWhiteSpace()) { var colInfos = "[{name:'日期',type:'text'},{name:'障碍价格',type:'" + (tradeModel.IsMoneynessOptionData ? "percent" : "number") + "'}]"; @MyControls.Btn("查看", string.Format("showObservationInfos('{0}',{1},'{2}')", "敲出观察信息", colInfos, ext.KOObservationDates)) } } 敲出观察频率 @{ tradeModel.MetaDic.TryGetValue(YLErp.DBModels.Consts.ConsTradeMetaKey.koObservationRate, out var koObservationRate); @(!string.IsNullOrEmpty(koObservationRate) ? koObservationRate.IndexOf("|") > 0 ? "每" + koObservationRate.Substring(0, koObservationRate.IndexOf('|')).Replace('D', '天').Replace('W', '周').Replace('M', '月').Replace('Y', '年') : "每" + koObservationRate.Replace('D', '天').Replace('W', '周').Replace('M', '月').Replace('Y', '年') : "") }
结算日信息 @{ if (!(ext?.KOObservationSettleDates).IsNullOrWhiteSpace()) { var colInfos = "['日期']"; @MyControls.Btn("查看", string.Format("showObservationInfos('{0}',{1},'{2}')", "结算信息", colInfos, ext.KOObservationSettleDates)) } }
敲出障碍价格 @(ext?.KOBarrier.OtcFormatUmPrice(isMoneyness)) 累计类型 @(ext?.AccumuType)
结算方式 @(ext?.GetSettlementModeDesc()) 上端收益类型 @(ext?.PayoffType)
票息年化 @(ext == null ? "" : ext.IsFixedCoupon ? "否" : "是") 票息金额 @(ext?.Coupon.OtcFormat(ext.CouponPercent ? OtcFormatFlag.premiumRateP : OtcFormatFlag.tradePrice))
票息日历规则 @(ext?.CouponDayCount)
@(tradeModel.OptionType == "看涨" ? "看涨乘数" : "看跌乘数") @((tradeModel.OptionType == "看涨" ? ext?.CallMultiplier : ext?.PutMultiplier)?.ToString("F2")) 杠杆倍数 @((tradeModel.OptionType == "看涨" ? ext?.PutMultiplier : ext?.CallMultiplier)?.ToString("F2"))
看涨乘数 @(ext?.CallMultiplier.ToString("F2")) 看跌乘数 @(ext?.PutMultiplier.ToString("F2"))
远期期初价类型 @(ext?.ForwardPriceType) 远期到期日类型 @(ext?.ForwardDateType)
敲出是否终止 @(ext == null ? "" : ext.EarlyTerminate ? "是" : "否")
敲出障碍价格 @(ext?.KOBarrier.OtcFormatUmPrice(isMoneyness)) 累计结构类型 三段式
上端收益类型 @(ext?.PayoffType) 票息1 @(ext?.Coupon.OtcFormat(ext.CouponPercent ? OtcFormatFlag.premiumRateP : OtcFormatFlag.tradePrice))
票息2 @(ext?.Coupon2.OtcFormat(ext.CouponPercent ? OtcFormatFlag.premiumRateP : OtcFormatFlag.tradePrice)) 票息年化 @(ext == null ? "" : ext.IsFixedCoupon ? "否" : "是")
票息日历规则 @(ext?.CouponDayCount) 乘数 @(tradeModel.OptionType == "看涨"?(ext?.Multiplier):ext?.Multiplier3)
上端收益类型 @(ext?.PayoffType) 乘数1 @(ext?.Multiplier)
乘数2 @(ext?.Multiplier2) 乘数3 @(ext?.Multiplier3)
敲出是否终止 @(ext == null ? "" : ext.EarlyTerminate ? "是" : "否") 结算方式1 @(ext?.GetSettlementModeDesc())
远期期初价类型1 @(ext?.SettlementMode=="现金当日"?"":ext?.ForwardPriceType) 远期到期日类型1 @(ext?.SettlementMode=="现金当日"?"":ext?.ForwardDateType)
结算方式2 @(ext?.SettlementMode2=="现金当日"?"现金结算(当日)":ext?.SettlementMode2) 远期期初价类型2 @(ext?.SettlementMode2=="现金当日"?"":ext?.ForwardPriceType2)
远期到期日类型2 @(ext?.SettlementMode2=="现金当日"?"":ext?.ForwardDateType2) 结算方式3 @(ext?.SettlementMode3=="现金当日"?"现金结算(当日)":ext?.SettlementMode3)
远期期初价类型3 @(ext?.SettlementMode3=="现金当日"?"":ext?.ForwardPriceType3) 远期到期日类型3 @(ext?.SettlementMode3=="现金当日"?"":ext?.ForwardDateType3)
是否敲出 @(ext == null ? "" : ext.KnockOutDate.HasValue ? "是" : "观察中") 敲出日期 @(ext?.KnockOutDate?.OtcFormatDate())
}
@if (Model.autoCallObsercationList != null) {
@await Html.PartialAsync(tradeModel.TradeType == "累计期权" ? "_tradeview/autoCallObsercationListAccumulator" : "_tradeview/autoCallObsercationList")
} @if (Model.unWindTradeCashList != null) { var index = 1;
@foreach (var tradeCash in Model.unWindTradeCashList) { if (tradeCash.Action == "系统操作-行权费") { @if (isPremiumRate) { } else { } @if (tradeModel.TradeType == "亚式期权") { } else { }
提前终止序号 @(index++)行权比例 @(tradeCash.NotionalPercent.OtcFormatPercent())行权数量 @(tradeCash.TradeAmount.OtcFormatNotional(tradeModel.CountRatio, PS.Config.IsUseDisplayNotional))
行权日期 @(tradeCash.ValueDate.OtcFormatDate()) 收益总额 @(tradeCash.Amount.OtcFormatMoney())
行权收益 @(tradeCash.SingleWinPrice.OtcFormat(OtcFormatFlag.tradeSinglePrice)) 实现盈亏 @(tradeCash.WinLoss)
行权标的价格 @(tradeCash.SpotPrice.OtcFormat(OtcFormatFlag.umprice)) 行权标的均价 @(tradeCash.FinalPrice.OtcFormat(OtcFormatFlag.umprice))行权标的价格 @(tradeCash.FinalPrice.OtcFormat(OtcFormatFlag.umprice))
} else { @if (isPremiumRate) { } else { } @if (isPremiumRate) { } else { }
提前终止序号 @(index++)平仓单价 @(tradeCash.UnwindPricePercentRate.OtcFormat(OtcFormatFlag.premiumRateP))平仓单价 @(tradeCash.UnwindPrice.OtcFormat(OtcFormatFlag.tradeSinglePrice))
平仓日期 @(tradeCash.ValueDate.OtcFormatDate())平仓比例 @(tradeCash.UnwindPercentRate.OtcFormatPercent())平仓数量 @(tradeCash.UnwindTradeAmount.OtcFormatNotional(tradeModel.CountRatio, PS.Config.IsUseDisplayNotional))
平仓标的价格 @(tradeCash.FinalPrice.OtcFormat(OtcFormatFlag.umprice)) 平仓总额 @(tradeCash.Amount.OtcFormatMoney())
平仓波动率 @(tradeCash.UnwindVol.OtcFormat(volFmt)) 实现盈亏 @(tradeCash.WinLoss)
} }
} @if (Model.maturityTradeCash != null) { var mtc = Model.maturityTradeCash; var asianStrikeType = tradeModel.TradeType != "亚式期权" ? string.Empty : (tradeModel.trade_asian_option?.StrikeType == "Floating" ? "Floating" : "Fixed");
@if (tradeModel.TradeType == "累计期权") { } else if (isPremiumRate) { } else { } @if (isPremiumRate && mtc.Action != "系统操作-行权费") { } else { } @if (!string.IsNullOrEmpty(asianStrikeType)) { @if (asianStrikeType == "Fixed") { } else { } }
到期日期 @(mtc.ValueDateString) 到期比例 @(mtc.NotionalPercent.OtcFormatPercent())到期数量 @(mtc.TradeAmount.OtcFormatNotional(tradeModel.CountRatio, PS.Config.IsUseDisplayNotional))
到期收益 @(mtc.SingleWinPricePercent.OtcFormat(OtcFormatFlag.premiumRateP))到期收益 @(mtc.SingleWinPrice.OtcFormat(OtcFormatFlag.tradeSinglePrice))实现盈亏 @(mtc.WinLoss)
@(asianStrikeType == "Fixed" ? "到期标的均价" : "到期标的价格") @(mtc.FinalPrice.OtcFormat(OtcFormatFlag.umprice)) 收益总额 @(mtc.Amount.OtcFormatMoney())
到期标的价格 @(mtc.SpotPrice.OtcFormat(OtcFormatFlag.umprice))浮动行权价 @(mtc.Strike.OtcFormat(OtcFormatFlag.umprice))
} @if (Model.tradeMarginTemplates != null && Model.tradeMarginTemplates.Any()) {
@foreach (var tradeMarginTemplate in Model.tradeMarginTemplates) { }
模板名称 预付金规则 规则类型 生效日期 操作时间 规则说明
@(tradeMarginTemplate.MarginTemplateName) @(tradeMarginTemplate.MarginRuleTypeName) @(tradeMarginTemplate.MarginTypeName) @(tradeMarginTemplate.ValueDate.ToString("yyyy-MM-dd")) @(tradeMarginTemplate.OptDate) @(tradeMarginTemplate.Comments)
} @if (ConsTrade.TradeStatusAfterConfirmed.Contains(Model.Trade.TradeStatus)) {
@if (CurUser.交易管理_交易资金维护 && (!Model.IsOnlyCloseButton || Context.Request.Query["fromZiJinMingXi"] == "1")) { } @if ((CurUser.交易管理_交易资金维护 || CurUser.交易管理_已确认交易资金维护) && (!Model.IsOnlyCloseButton || Context.Request.Query["fromZiJinMingXi"] == "1")) { }
}