219 lines
5.5 KiB
C#
219 lines
5.5 KiB
C#
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 = "交易持仓表";
|
|
|
|
/// <summary>
|
|
/// 簿记账户信息
|
|
/// </summary>
|
|
[DisplayName("簿记账户信息")]
|
|
[Required]
|
|
public int BookId { get; set; }
|
|
|
|
/// <summary>
|
|
/// UnRealizedPnL
|
|
/// </summary>
|
|
[DisplayName("客户ID")]
|
|
public int ClientId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 交易方向
|
|
/// </summary>
|
|
[DisplayName("交易方向")]
|
|
[Required]
|
|
public string BuySell { get; set; }
|
|
|
|
/// <summary>
|
|
/// 估值日
|
|
/// </summary>
|
|
[DisplayName("估值日")]
|
|
[Required]
|
|
public DateTime ValueDate { get; set; }
|
|
|
|
/// <summary>
|
|
/// 交易信息
|
|
/// </summary>
|
|
[DisplayName("交易信息")]
|
|
[Required]
|
|
public int TradeId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 结构类型
|
|
/// </summary>
|
|
[DisplayName("结构类型")]
|
|
|
|
public string TradeType { get; set; }
|
|
|
|
/// <summary>
|
|
/// 持仓份额
|
|
/// </summary>
|
|
[DisplayName("持仓份额")]
|
|
public double Amount { get; set; }
|
|
|
|
/// <summary>
|
|
/// 昨日价值
|
|
/// </summary>
|
|
[DisplayName("昨日价值")]
|
|
|
|
public decimal LastPv { get; set; }
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
[DisplayName("Pv")]
|
|
|
|
public decimal Pv { get; set; }
|
|
|
|
/// <summary>
|
|
/// 四舍五入处理后的持仓市值
|
|
/// </summary>
|
|
public decimal RoundedPv { get; set; }
|
|
|
|
/// <summary>
|
|
/// 当日价值
|
|
/// </summary>
|
|
[DisplayName("当日价值")]
|
|
|
|
public decimal DailyPnL { get; set; }
|
|
|
|
/// <summary>
|
|
/// 总盈亏
|
|
/// </summary>
|
|
[DisplayName("总盈亏")]
|
|
public double TotalPnL { get; set; }
|
|
|
|
/// <summary>
|
|
/// 持仓盈亏
|
|
/// </summary>
|
|
[DisplayName("持仓盈亏")]
|
|
public double PositionPnL { get; set; }
|
|
|
|
/// <summary>
|
|
/// 四舍五入处理后的持仓盈亏
|
|
/// </summary>
|
|
public double RoundedPositionPnl { get; set; }
|
|
|
|
/// <summary>
|
|
/// 交易编号
|
|
/// </summary>
|
|
[DisplayName("交易编号")]
|
|
public string TradeNumber { get; set; }
|
|
|
|
/// <summary>
|
|
/// 交易编号
|
|
/// </summary>
|
|
[DisplayName("持仓类型")]
|
|
public string PositionType { get; set; }
|
|
|
|
/// <summary>
|
|
/// 标的代码
|
|
/// </summary>
|
|
[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; }
|
|
|
|
/// <summary>
|
|
/// 持仓实现金额(目前指持仓时的票息和互换金额)
|
|
/// </summary>
|
|
[DisplayName("持仓实现盈亏")]
|
|
public double PositionRelizedAmount { get; set; }
|
|
|
|
/// <summary>
|
|
/// 交易状态
|
|
/// </summary>
|
|
[DisplayName("交易状态")]
|
|
public string TradeStatus { get; set; }
|
|
|
|
/// <summary>
|
|
/// 昨日实际价值
|
|
/// </summary>
|
|
[DisplayName("昨日实际价值")]
|
|
|
|
public double ActualLastPv { get; set; }
|
|
|
|
/// <summary>
|
|
/// 当日实际价值
|
|
/// </summary>
|
|
[DisplayName("当日实际价值")]
|
|
|
|
public double ActualPv { get; set; }
|
|
|
|
/// <summary>
|
|
/// 当日实际浮动盈亏
|
|
/// </summary>
|
|
[DisplayName("当日实际浮动盈亏")]
|
|
|
|
public double ActualDailyPnL { get; set; }
|
|
|
|
/// <summary>
|
|
/// 实际总盈亏
|
|
/// </summary>
|
|
[DisplayName("实际总盈亏")]
|
|
public double ActualTotalPnL { get; set; }
|
|
|
|
[NotMapped]
|
|
public double RealizedPnL { get; set; }
|
|
|
|
/// <summary>
|
|
/// 对冲交易唯一编码
|
|
/// </summary>
|
|
[DisplayName("对冲交易唯一编码")]
|
|
|
|
public string HedgeUniqueCode { get; set; }
|
|
|
|
/// <summary>
|
|
/// 交易所代码
|
|
/// </summary>
|
|
public string ExchangeOptionCode { get; set; }
|
|
|
|
/// <summary>
|
|
/// 主交易ID
|
|
/// </summary>
|
|
[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();
|
|
}
|
|
}
|
|
}
|