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; }
}
}