namespace YLErp.Modules.VolatilityModule { /// /// 波动率取值请求 /// public class SingleVolReq { public SingleVolReq() { } public SingleVolReq(OtcTrade trade, underlying_manager udm) { if (trade is null) { throw new ArgumentNullException(nameof(trade)); } if (udm is null) { throw new ArgumentNullException(nameof(udm)); } VolType = trade.VolType; Strike = trade.Strike ?? 0; SpotPrice = trade.SpotPrice ?? 0; TradeDate = trade.TradeDate.Value; ExerciseDate = trade.ExerciseDate.Value; IsMoneynessOption = trade.IsMoneynessOption; CallPut = trade.CallPut; UnderlyingId = udm.id; UnderlyingCode = udm.UnderlyingCode; UnderlyingName = udm.UnderlyingName; UnderlyingTypeId = udm.UnderlyingTypeId; } /// /// 取波动率时宏源这样的多团队需要赋值此字段 /// public string UserGroup { get; set; } //-------------------------------------- // trade //-------------------------------------- public string VolType { get; set; } /// /// 行权价 /// public double Strike { get; set; } /// /// 标的价格 /// public double SpotPrice { get; set; } /// /// 成交日(波动率的日期取这个日期) /// public DateTime TradeDate { get; set; } /// /// 行权日 /// public DateTime ExerciseDate { get; set; } /// /// 是否相对行权价(是|其它值) /// public string IsMoneynessOption { get; set; } /// /// [skew]CallPut /// public string CallPut { get; set; } //-------------------------------------- // underlying //-------------------------------------- /// /// 标的ID /// public int UnderlyingId { get; set; } /// /// 标的代码 /// public string UnderlyingCode { get; set; } /// /// 标的名称 /// public string UnderlyingName { get; set; } /// /// [skew]品种ID /// public int UnderlyingTypeId { get; set; } //-------------------------------------- // skew //-------------------------------------- /// /// [skew]BaseVol /// public double? BaseVol { get; set; } /// /// [skew]BidVar /// public int? BidVar { get; set; } /// /// [skew]AskVar /// public int? AskVar { get; set; } //-------------------------------------- // vols //-------------------------------------- public Abstract.IVolatility Vols { get; set; } } }