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