using BaseOUDAL; using System.ComponentModel; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace YLErp.DBModels { [Table("realtime_trade_risk")] public class realtime_trade_risk : DBModelWithOperator { public static string LogClass = "日间交易估值"; /// /// 估值日 /// [DisplayName("估值日")] [Required] public DateTime ValueDate { get; set; } /// /// 交易信息 /// [DisplayName("交易信息")] [Required] public int? TradeId { get; set; } /// /// exposure = underlying code /// public string Exposure { get; set; } /// /// 实时标的价格 /// public double? UnderlyingPrice { get; set; } /// /// 簿记账户 /// [DisplayName("簿记账户")] [Required] public string BookId { get; set; } /// /// 客户信息 /// [DisplayName("客户信息")] public int? ClientId { get; set; } /// /// /// [DisplayName("Pv")] public double? Pv { get; set; } /// /// 四舍五入处理后的持仓市值 /// [DisplayName("Pv")] public double? RoundedPv { get; set; } /// /// /// [DisplayName("Delta")] public double? Delta { get; set; } /// /// /// [DisplayName("Gamma")] public double? Gamma { get; set; } /// /// /// [DisplayName("Vega")] public double? Vega { get; set; } /// /// /// [DisplayName("Theta")] public double? Theta { get; set; } /// /// /// [DisplayName("Rho")] public double? Rho { get; set; } /// /// /// [DisplayName("DdeltaDt")] public double? DdeltaDt { get; set; } /// /// /// [DisplayName("DdeltaDvol")] public double? DdeltaDvol { get; set; } /// /// /// [DisplayName("DvegaDt")] public double? DvegaDt { get; set; } /// /// /// [DisplayName("DvegaDvol")] public double? DvegaDvol { get; set; } /// /// /// [DisplayName("Pnl")] public double? Pnl { get; set; } /// /// 波动率类型 /// [DisplayName("波动率类型")] [Required] public string VolType { get; set; } /// /// /// [DisplayName("DeltaCash")] public double? DeltaCash { get; set; } /// /// /// [DisplayName("GammaCash")] public double? GammaCash { get; set; } /// /// /// [DisplayName("VegaCash")] public double? VegaCash { get; set; } /// /// /// [DisplayName("可对冲Delta")] public double? DeltaInLots { get; set; } /// /// 持仓波动率 /// [DisplayName("持仓波动率")] public double? Vol { get; set; } /// /// 实现盈亏 /// [DisplayName("实现盈亏")] public double? RealizedPnl { get; set; } /// /// 持仓盈亏 /// [DisplayName("持仓盈亏")] public double? PositionPnl { get; set; } /// /// 四舍五入处理后的持仓盈亏 /// [DisplayName("持仓盈亏")] public double? RoundedPositionPnl { get; set; } /// /// 信用风险敞口 /// [DisplayName("信用风险敞口")] public double CreditExposure { get; set; } public realtime_trade_risk Clone() { return (realtime_trade_risk)MemberwiseClone(); } } public class realtime_trade_riskReq : BaseSearchReq { /// /// 估值日 /// public DateTime? ValueDate { get; set; } public DateTime ValueDateStart { get; set; } public DateTime ValueDateEnd { get; set; } public string BookIds { get; set; } public string TraderIds { get; set; } /// /// 交易编码列表 /// public List TradeNumberList { get; set; } /// /// 簿记账户列表 /// public List AssetBookNameList { get; set; } /// /// 交易类型列表 /// public List TradeTypeList { get; set; } /// /// 标的代码列表 /// public List UnderlyingCodeList { get; set; } /// /// 客户名称列表 /// public List ClientNameList { get; set; } /// /// Pv范围开始 /// public double? PvStart { get; set; } /// /// Pv范围结束 /// public double? PvEnd { get; set; } /// /// Delta范围开始 /// public double? DeltaStart { get; set; } /// /// Delta范围结束 /// public double? DeltaEnd { get; set; } /// /// Gamma范围开始 /// public double? GammaStart { get; set; } /// /// Gamma范围结束 /// public double? GammaEnd { get; set; } /// /// Vega范围开始 /// public double? VegaStart { get; set; } /// /// Vega范围结束 /// public double? VegaEnd { get; set; } /// /// Theta范围开始 /// public double? ThetaStart { get; set; } /// /// Theta范围结束 /// public double? ThetaEnd { get; set; } /// /// Rho范围开始 /// public double? RhoStart { get; set; } /// /// Rho范围结束 /// public double? RhoEnd { get; set; } /// /// DdeltaDt范围开始 /// public double? DdeltaDtStart { get; set; } /// /// DdeltaDt范围结束 /// public double? DdeltaDtEnd { get; set; } /// /// DdeltaDvol范围开始 /// public double? DdeltaDvolStart { get; set; } /// /// DdeltaDvol范围结束 /// public double? DdeltaDvolEnd { get; set; } /// /// DvegaDt范围开始 /// public double? DvegaDtStart { get; set; } /// /// DvegaDt范围结束 /// public double? DvegaDtEnd { get; set; } /// /// DvegaDvol范围开始 /// public double? DvegaDvolStart { get; set; } /// /// DvegaDvol范围结束 /// public double? DvegaDvolEnd { get; set; } } [NotMapped] public class realtime_trade_riskExtend { public string TradeNumber { get; set; } public string TraderName { get; set; } public string ClientName { get; set; } public string AssetClassName { get; set; } public string AssetBookName { get; set; } public string TradeType { get; set; } public string TradeStatus { get; set; } public string UnderLyingCode { get; set; } public string BuySell { get; set; } public DateTime? ValueDate { get; set; } public double? Pv { get; set; } public double? Delta { get; set; } public double? Gamma { get; set; } public double? Vega { get; set; } public double? Theta { get; set; } public double? Rho { get; set; } public double? DdeltaDt { get; set; } public double? DdeltaDvol { get; set; } public double? DvegaDt { get; set; } public double? DvegaDvol { get; set; } public int? OptId { get; set; } public string OptName { get; set; } public DateTime? OptDate { get; set; } public string VolType { get; set; } public double? Pnl { get; set; } public double? DeltaCash { get; set; } public double? GammaCash { get; set; } public double? DeltaInLots { get; set; } } public class RiskReason { /// /// 是否超出范围 /// public bool IsOverRange { get { return !string.IsNullOrEmpty(OverRangeReason); } } public string OverRangeReason { get; set; } public RiskReason() { RuleIds = new List(); } public List RuleIds { get; set; } } }