Files
zszq-trs/YLErpDAL/Model/RealtimeTradeRisk.cs
T
2024-06-12 10:28:49 +08:00

334 lines
9.7 KiB
C#

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 = "日间交易估值";
/// <summary>
/// 估值日
/// </summary>
[DisplayName("估值日")]
[Required]
public DateTime ValueDate { get; set; }
/// <summary>
/// 交易信息
/// </summary>
[DisplayName("交易信息")]
[Required]
public int? TradeId
{
get; set;
}
/// <summary>
/// exposure = underlying code
/// </summary>
public string Exposure
{
get; set;
}
/// <summary>
/// 实时标的价格
/// </summary>
public double? UnderlyingPrice { get; set; }
/// <summary>
/// 簿记账户
/// </summary>
[DisplayName("簿记账户")]
[Required]
public string BookId { get; set; }
/// <summary>
/// 客户信息
/// </summary>
[DisplayName("客户信息")]
public int? ClientId { get; set; }
/// <summary>
///
/// </summary>
[DisplayName("Pv")]
public double? Pv { get; set; }
/// <summary>
/// 四舍五入处理后的持仓市值
/// </summary>
[DisplayName("Pv")]
public double? RoundedPv { get; set; }
/// <summary>
///
/// </summary>
[DisplayName("Delta")]
public double? Delta { get; set; }
/// <summary>
///
/// </summary>
[DisplayName("Gamma")]
public double? Gamma { get; set; }
/// <summary>
///
/// </summary>
[DisplayName("Vega")]
public double? Vega { get; set; }
/// <summary>
///
/// </summary>
[DisplayName("Theta")]
public double? Theta { get; set; }
/// <summary>
///
/// </summary>
[DisplayName("Rho")]
public double? Rho { get; set; }
/// <summary>
///
/// </summary>
[DisplayName("DdeltaDt")]
public double? DdeltaDt { get; set; }
/// <summary>
///
/// </summary>
[DisplayName("DdeltaDvol")]
public double? DdeltaDvol { get; set; }
/// <summary>
///
/// </summary>
[DisplayName("DvegaDt")]
public double? DvegaDt { get; set; }
/// <summary>
///
/// </summary>
[DisplayName("DvegaDvol")]
public double? DvegaDvol { get; set; }
/// <summary>
///
/// </summary>
[DisplayName("Pnl")]
public double? Pnl { get; set; }
/// <summary>
/// 波动率类型
/// </summary>
[DisplayName("波动率类型")]
[Required]
public string VolType { get; set; }
/// <summary>
///
/// </summary>
[DisplayName("DeltaCash")]
public double? DeltaCash { get; set; }
/// <summary>
///
/// </summary>
[DisplayName("GammaCash")]
public double? GammaCash { get; set; }
/// <summary>
///
/// </summary>
[DisplayName("VegaCash")]
public double? VegaCash { get; set; }
/// <summary>
///
/// </summary>
[DisplayName("可对冲Delta")]
public double? DeltaInLots { get; set; }
/// <summary>
/// 持仓波动率
/// </summary>
[DisplayName("持仓波动率")]
public double? Vol { get; set; }
/// <summary>
/// 实现盈亏
/// </summary>
[DisplayName("实现盈亏")]
public double? RealizedPnl { get; set; }
/// <summary>
/// 持仓盈亏
/// </summary>
[DisplayName("持仓盈亏")]
public double? PositionPnl { get; set; }
/// <summary>
/// 四舍五入处理后的持仓盈亏
/// </summary>
[DisplayName("持仓盈亏")]
public double? RoundedPositionPnl { get; set; }
/// <summary>
/// 信用风险敞口
/// </summary>
[DisplayName("信用风险敞口")]
public double CreditExposure { get; set; }
public realtime_trade_risk Clone()
{
return (realtime_trade_risk)MemberwiseClone();
}
}
public class realtime_trade_riskReq : BaseSearchReq
{
/// <summary>
/// 估值日
/// </summary>
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; }
/// <summary>
/// 交易编码列表
/// </summary>
public List<string> TradeNumberList { get; set; }
/// <summary>
/// 簿记账户列表
/// </summary>
public List<string> AssetBookNameList { get; set; }
/// <summary>
/// 交易类型列表
/// </summary>
public List<string> TradeTypeList { get; set; }
/// <summary>
/// 标的代码列表
/// </summary>
public List<string> UnderlyingCodeList { get; set; }
/// <summary>
/// 客户名称列表
/// </summary>
public List<string> ClientNameList { get; set; }
/// <summary>
/// Pv范围开始
/// </summary>
public double? PvStart { get; set; }
/// <summary>
/// Pv范围结束
/// </summary>
public double? PvEnd { get; set; }
/// <summary>
/// Delta范围开始
/// </summary>
public double? DeltaStart { get; set; }
/// <summary>
/// Delta范围结束
/// </summary>
public double? DeltaEnd { get; set; }
/// <summary>
/// Gamma范围开始
/// </summary>
public double? GammaStart { get; set; }
/// <summary>
/// Gamma范围结束
/// </summary>
public double? GammaEnd { get; set; }
/// <summary>
/// Vega范围开始
/// </summary>
public double? VegaStart { get; set; }
/// <summary>
/// Vega范围结束
/// </summary>
public double? VegaEnd { get; set; }
/// <summary>
/// Theta范围开始
/// </summary>
public double? ThetaStart { get; set; }
/// <summary>
/// Theta范围结束
/// </summary>
public double? ThetaEnd { get; set; }
/// <summary>
/// Rho范围开始
/// </summary>
public double? RhoStart { get; set; }
/// <summary>
/// Rho范围结束
/// </summary>
public double? RhoEnd { get; set; }
/// <summary>
/// DdeltaDt范围开始
/// </summary>
public double? DdeltaDtStart { get; set; }
/// <summary>
/// DdeltaDt范围结束
/// </summary>
public double? DdeltaDtEnd { get; set; }
/// <summary>
/// DdeltaDvol范围开始
/// </summary>
public double? DdeltaDvolStart { get; set; }
/// <summary>
/// DdeltaDvol范围结束
/// </summary>
public double? DdeltaDvolEnd { get; set; }
/// <summary>
/// DvegaDt范围开始
/// </summary>
public double? DvegaDtStart { get; set; }
/// <summary>
/// DvegaDt范围结束
/// </summary>
public double? DvegaDtEnd { get; set; }
/// <summary>
/// DvegaDvol范围开始
/// </summary>
public double? DvegaDvolStart { get; set; }
/// <summary>
/// DvegaDvol范围结束
/// </summary>
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
{
/// <summary>
/// 是否超出范围
/// </summary>
public bool IsOverRange
{
get
{
return !string.IsNullOrEmpty(OverRangeReason);
}
}
public string OverRangeReason { get; set; }
public RiskReason()
{
RuleIds = new List<int>();
}
public List<int> RuleIds { get; set; }
}
}