334 lines
9.7 KiB
C#
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; }
|
|
}
|
|
}
|