using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace YLErp.DBModels { [Table("intraday_trade_position")] public class intraday_trade_position : DBModelWithOperator { public static string LogClass = "交易持仓表"; /// /// 簿记账户信息 /// [DisplayName("簿记账户信息")] [Required] public int BookId { get; set; } /// /// UnRealizedPnL /// [DisplayName("客户ID")] public int ClientId { get; set; } /// /// 交易方向 /// [DisplayName("交易方向")] [Required] public string BuySell { get; set; } /// /// 估值日 /// [DisplayName("估值日")] [Required] public DateTime ValueDate { get; set; } /// /// 交易信息 /// [DisplayName("交易信息")] [Required] public int TradeId { get; set; } /// /// 结构类型 /// [DisplayName("结构类型")] public string TradeType { get; set; } /// /// 持仓份额 /// [DisplayName("持仓份额")] public double Amount { get; set; } /// /// 昨日价值 /// [DisplayName("昨日价值")] public decimal LastPv { get; set; } /// /// /// [DisplayName("Pv")] public decimal Pv { get; set; } /// /// 四舍五入处理后的持仓市值 /// public decimal RoundedPv { get; set; } /// /// 当日价值 /// [DisplayName("当日价值")] public decimal DailyPnL { get; set; } /// /// 总盈亏 /// [DisplayName("总盈亏")] public double TotalPnL { get; set; } /// /// 持仓盈亏 /// [DisplayName("持仓盈亏")] public double PositionPnL { get; set; } /// /// 四舍五入处理后的持仓盈亏 /// public double RoundedPositionPnl { get; set; } /// /// 交易编号 /// [DisplayName("交易编号")] public string TradeNumber { get; set; } /// /// 交易编号 /// [DisplayName("持仓类型")] public string PositionType { get; set; } /// /// 标的代码 /// [DisplayName("标的代码")] public string UnderlyingCode { get; set; } [DisplayName("成本")] public double Cost { get; set; } //为了解决mysql insert时使用NAN代替null double _Notional; [DisplayName("名义本金")] public double Notional { get { return _Notional; } set { if (double.IsNaN(value)) { _Notional = 0; } else { _Notional = value; } } } [DisplayName("预付金")] public double Margin { get; set; } /// /// 持仓实现金额(目前指持仓时的票息和互换金额) /// [DisplayName("持仓实现盈亏")] public double PositionRelizedAmount { get; set; } /// /// 交易状态 /// [DisplayName("交易状态")] public string TradeStatus { get; set; } /// /// 昨日实际价值 /// [DisplayName("昨日实际价值")] public double ActualLastPv { get; set; } /// /// 当日实际价值 /// [DisplayName("当日实际价值")] public double ActualPv { get; set; } /// /// 当日实际浮动盈亏 /// [DisplayName("当日实际浮动盈亏")] public double ActualDailyPnL { get; set; } /// /// 实际总盈亏 /// [DisplayName("实际总盈亏")] public double ActualTotalPnL { get; set; } [NotMapped] public double RealizedPnL { get; set; } /// /// 对冲交易唯一编码 /// [DisplayName("对冲交易唯一编码")] public string HedgeUniqueCode { get; set; } /// /// 交易所代码 /// public string ExchangeOptionCode { get; set; } /// /// 主交易ID /// [DisplayName("主交易ID")] public int ParentTradeId { get; set; } [DisplayName("收益互换初始预付金")] public double SwapInitMargin { get; set; } [DisplayName("收益互换交易盈亏")] public double SwapWinLoss { get; set; } [DisplayName("互换容忍金额")] public double SwapUnMargin { get; set; } public intraday_trade_position Clone() { return (intraday_trade_position)MemberwiseClone(); } } }