Files
zszq-trs/YLErpDAL/Modules/CalculationModule/Models/HedgePnl.cs
T
2024-05-09 14:06:26 +08:00

162 lines
4.3 KiB
C#

using System.ComponentModel;
namespace YLErp.BLL.Hedge
{
/// <summary>
/// 对冲交易盈亏
/// </summary>
public class HedgePnl
{
[DisplayName("估值日")]
public DateTime ValueDate { get; set; }
[DisplayName("簿记账户信息")]
public int BookId { get; set; }
[DisplayName("结构类型")]
public string TradeType { get; set; }
[DisplayName("持仓类型")]
public string PositionType { get; set; }
[DisplayName("看涨看跌")]
public string CallPut { get; set; }
[DisplayName("买入卖出")]
public string BuySell { get; set; }
[DisplayName("标的ID")]
public int UnderlyingId { get; set; }
[DisplayName("标的代码")]
public string UnderlyingCode { get; set; }
[DisplayName("对冲交易唯一编码")]
public string HedgeUniqueCode { get; set; }
[DisplayName("份额")]
public double Notional { get; set; }
[DisplayName("是否有新增交易")]
public bool HasNewTrade { get; set; }
[DisplayName("昨日价值")]
public double LastPv { get; set; }
[DisplayName("当日价值")]
public double Pv { get; set; }
[DisplayName("时间价值")]
public double TimeValue { get; set; }
[DisplayName("当日盈亏")]
public double DailyPnL { get; set; }
[DisplayName("已实现盈亏")]
public double RealizedPnL { get; set; }
[DisplayName("总盈亏")]
public double TotalPnl { get; set; }
[DisplayName("昨日总盈亏")]
public double LastTotalPnl { get; set; }
[DisplayName("成本")]
public double Cost { get; set; }
/// <summary>
/// 当日成本
/// </summary>
public double TdCost { get; set; }
[DisplayName("手续费")]
public double Commission { get; set; }
[DisplayName("场内期权合约号")]
public string ExchangeOptionCode { get; set; }
[DisplayName("行权价")]
public double Strike { get; set; }
[DisplayName("结算价格")]
public double SettlePrice { get; set; }
[DisplayName("信用风险敞口")]
public int CreditExposure { get; set; }
/// <summary>
/// 场内期权价格(20200927新增)
/// </summary>
public double? ExOptionPrice { get; set; }
#region 风险参数 场内期权使用
[DisplayName("Delta")]
public double Delta { get; set; }
/// <summary>
/// T+1日Delta
/// </summary>
public double? DeltaT1 { get; set; }
[DisplayName("SA_Delta")]
public double SA_Delta { get; set; }
[DisplayName("Gamma")]
public double Gamma { get; set; }
[DisplayName("Vega")]
public double Vega { get; set; }
[DisplayName("Delta")]
public double DeltaCash { get; set; }
[DisplayName("Delta")]
public double GammaCash { get; set; }
[DisplayName("可对冲Delta")]
public double DeltaInLots { get; set; }
[DisplayName("可对冲Gamma手数")]
public double GammaInLots { 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("Vol")]
public double Vol { get; set; }
[DisplayName("手数")]
public double Lots { get; set; }
#endregion
/// <summary>
/// 行权日(20190328新增)
/// </summary>
public DateTime? ExerciseDate { get; set; }
[DisplayName("持仓盈亏")]
public double PositionPnl { get; internal set; }
public override string ToString()
{
return string.IsNullOrWhiteSpace(HedgeUniqueCode) ?
$"{TradeType}-{UnderlyingCode}-{Notional}-HasNewTrade:{HasNewTrade}" : HedgeUniqueCode;
}
}
}