Files
zszq-trs/YLErpDAL/Modules/ClientModule/ClientPositionModel.cs
2024-05-09 14:06:26 +08:00

315 lines
8.4 KiB
C#

namespace YLErp.Modules.ClientModule
{
/// <summary>
/// 客户持仓模型
/// </summary>
public class ClientPositionModel
{
/// <summary>
/// 客户ID
/// </summary>
public int ClientId { get; set; }
/// <summary>
/// 客户编号
/// </summary>
public string ClientNumber { get; set; }
/// <summary>
/// 交易编号
/// </summary>
public string TradeNumber { get; set; }
/// <summary>
/// 交易方向
/// </summary>
public string BuySell { get; set; }
/// <summary>
/// 交易日期
/// </summary>
public DateTime? TradeDate { get; set; }
/// <summary>
/// 到期日期
/// </summary>
public DateTime? ExerciseDate { get; set; }
/// <summary>
/// 行权模式(American|European)
/// </summary>
public string ExerciseMode { get; set; }
/// <summary>
/// 看涨看跌(Call|Put)
/// </summary>
public string CallPut { get; set; }
/// <summary>
/// 期权类型
/// </summary>
public string TradeType { get; set; }
/// <summary>
/// 期权结构类型
/// </summary>
public string StructureType { get; set; }
/// <summary>
/// 标的代码
/// </summary>
public string UnderlyingCode { get; set; }
/// <summary>
/// 标的名称
/// </summary>
public string UnderlyingName { get; set; }
/// <summary>
/// 期初标的价格
/// </summary>
public double InitialSpotPrice { get; set; }
/// <summary>
/// 执行价格
/// </summary>
public double Strike { get; set; }
/// <summary>
/// 成交波动率
/// </summary>
public double TradeOpenVolatility { get; set; }
/// <summary>
/// 权利金(单价)
/// </summary>
public double TradeSinglePrice { get; set; }
/// <summary>
/// 成交数量
/// </summary>
public double TradeOriginalAmount { get; set; }
/// <summary>
/// 交易总额
/// </summary>
public double TradePrice { get; set; }
/// <summary>
/// 名义本金
/// </summary>
public double OriginalStockEqvNotional { get; set; }
/// <summary>
/// 当前标的价格
/// </summary>
public double? UnderlyingPrice { get; set; }
/// <summary>
/// 持仓波动率
/// </summary>
public double? Vol { get; set; }
/// <summary>
/// 期权现价(单价)
/// </summary>
public double CurrentPrice { get; set; }
/// <summary>
/// 持仓数量
/// </summary>
public double TradeAmount { get; set; }
/// <summary>
/// 持仓市值
/// </summary>
public double? RoundedPv { get; set; }
/// <summary>
/// 持仓盈亏
/// </summary>
public double? RoundedPnl { get; set; }
/// <summary>
/// Delta手数
/// </summary>
public double DeltaLots { get; set; }
/// <summary>
/// Gamma手数
/// </summary>
public double GammaLots { get; set; }
/// <summary>
/// Delta
/// </summary>
public double? Delta { get; set; }
/// <summary>
/// Gamma
/// </summary>
public double? Gamma { get; set; }
/// <summary>
/// Vega
/// </summary>
public double? Vega { get; set; }
/// <summary>
/// Theta
/// </summary>
public double? Theta { get; set; }
/// <summary>
/// Rho
/// </summary>
public double? Rho { get; set; }
//======================================
public int TradeId { get; set; }
internal double? Pv { get; set; }
/// <summary>
/// 持仓份额
/// </summary>
public double Notional { get; set; }
/// <summary>
/// 成交份额
/// </summary>
public double OriginalNotional { get; set; }
internal string InstrumentType { get; set; }
/// <summary>
/// 参与率
/// </summary>
public double ParticipationRate { get; set; }
internal double PrincipalSum { get; set; }
internal double AnnualizeFactor { get; set; }
//============20191113===================
/// <summary>
/// 交易备注
/// </summary>
public string Comments { get; set; }
/// <summary>
/// 交易状态
/// </summary>
internal string TradeStatusProxy
{
set { TradeStatus = DBModels.Helpers.TradeHelper.GetTradeStatus(value); }
}
/// <summary>
/// 交易状态
/// </summary>
public DBModels.Enums.EnumTradeStatus TradeStatus { get; set; }
/// <summary>
/// 平仓波动率
/// </summary>
public double TradeCloseVolatility { get; set; }
/// <summary>
/// 平仓价(多次平仓取均价)(用于V2)
/// </summary>
public double? UnwindPrice { get; set; }
/// <summary>
/// 平仓标的价(多次平仓取均价)(用于V2)
/// </summary>
public double? FinalPrice { get; set; }
//============奇异期权要素===================
public trade_barrier_option BarrierOption { get; set; }
public trade_asian_option AsianOption { get; set; }
public trade_snowball SnowballOption { get; set; }
public trade_binary_option BinaryOption { get; set; }
public trade_double_sharkfin_option DoubleSharkfinOption { get; set; }
public trade_rangeaccrual RangeaccrualOption { get; set; }
public trade_underlying_enhance UnderlyingEnhanceOption { get; set; }
public trade_airbag AirbagOption { get; set; }
public trade_autocall AutocallOption { get; set; }
public trade_forward Forward { get; set; }
public trade_swap Swap { get; set; }
public trade_cashflow CashFlow { get; set; }
public trade_accumulator_option AccumulatorOption { get; set; }
public trade_custom CustomOption { get; set; }
/// <summary>
/// 组合标的
/// </summary>
public SyntheticPriceModel Synthetic { get; set; }
//============20200618===================
/// <summary>
/// 对冲波动率
/// </summary>
public double? HedgeVol { get; set; }
//============20200717===================
/// <summary>
/// 平仓日期(多次平仓取最后一次)(用于V2)
/// </summary>
public DateTime? UnwindDate { get; set; }
//============20201119===================
/// <summary>
/// 组合交易ID
/// </summary>
public int ParentTradeId { get; set; }
/// <summary>
/// 是否名义本金方式
/// </summary>
public bool IsUsePremiumRate { get; set; }
/// <summary>
/// 是否总额成交
/// </summary>
public bool IsUseTotalPremium { get; set; }
/// <summary>
/// 是否相对行权价
/// </summary>
public bool IsMoneynessOption { get; set; }
/// <summary>
/// 簿记账户
/// </summary>
public string AssetBookName { get; set; }
//============20211210===================
/// <summary>
/// 持仓预付金
/// </summary>
public double? Margin { get; set; }
/// <summary>
/// 维持预付金
/// </summary>
public double KeepMargin { get; set; }
/// <summary>
/// 初始预付金
/// </summary>
public double InitMargin { get; set; }
/// <summary>
/// 持仓结算标的价格
/// </summary>
public double? PosiSettlePrice { get; set; }
Dictionary<string, string> _metaDic;
/// <summary>
/// 元数据字典
/// </summary>
public Dictionary<string, string> MetaDic
{
get => _metaDic ?? (_metaDic = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase));
set => _metaDic = value;
}
}
}