479 lines
16 KiB
C#
479 lines
16 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using YLErp.Helpers;
|
|
|
|
namespace YLErp.DBModels
|
|
{
|
|
/// <summary>
|
|
/// 互换合约日终持仓归档表
|
|
/// </summary>
|
|
[Table("eod_swap_position")]
|
|
public class eod_swap_position: DBModelBaseV2
|
|
{
|
|
/// <summary>
|
|
/// 持仓日期
|
|
/// </summary>
|
|
[DisplayName("持仓日期")]
|
|
[DataChange]
|
|
public DateTime ValueDate { get; set; }
|
|
/// <summary>
|
|
/// 客户编码
|
|
/// </summary>
|
|
[DisplayName("客户编码id")]
|
|
[DataChange]
|
|
public int ClientId { get; set; }
|
|
/// <summary>
|
|
/// 互换交易编码
|
|
/// </summary>
|
|
[DisplayName("互换交易编码id")]
|
|
[DataChange]
|
|
public int SwapTradeId { get; set; }
|
|
/// <summary>
|
|
/// 互换交易腿ID
|
|
/// </summary>
|
|
[DisplayName("互换交易腿ID")]
|
|
[DataChange]
|
|
public long PositionId { get; set; }
|
|
/// <summary>
|
|
///浮动端 收取方向 1:收取,2:支付
|
|
/// </summary>
|
|
[DisplayName("收取方向")]
|
|
[DataChange]
|
|
public int PosiDirection { get; set; }
|
|
|
|
[NotMapped]
|
|
public string PosiDirectionStr
|
|
{
|
|
get
|
|
{
|
|
if (PosiDirection == 1)
|
|
{
|
|
return "收取";
|
|
}
|
|
else if (PosiDirection == 2)
|
|
{
|
|
return "支付";
|
|
}
|
|
else return "";
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 多空方向 1:多头,2:空头
|
|
/// </summary>
|
|
[DisplayName("多空方向")]
|
|
[DataChange]
|
|
public int PositionType { get; set; }
|
|
[NotMapped]
|
|
public string PositionTypeStr
|
|
{
|
|
get
|
|
{
|
|
if (PositionType == 1)
|
|
{
|
|
return "B";
|
|
}
|
|
else if (PositionType == 2)
|
|
{
|
|
return "S";
|
|
}
|
|
else return "";
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 标的代码
|
|
/// </summary>
|
|
[DisplayName("标的代码")]
|
|
[DataChange]
|
|
public string UnderlyingCode { get; set; }
|
|
/// <summary>
|
|
/// 标的名称
|
|
/// </summary>
|
|
[NotMapped]
|
|
public string UnderlyingName { get; set; }
|
|
/// <summary>
|
|
/// 合约乘数
|
|
/// </summary>
|
|
[DisplayName("合约乘数")]
|
|
[DataChange]
|
|
public decimal ContractSize { get; set; }
|
|
/// <summary>
|
|
/// 合约乘积因子
|
|
/// </summary>
|
|
[DisplayName("合约乘积因子")]
|
|
[DataChange]
|
|
public decimal CountRatio { get; set; }
|
|
/// <summary>
|
|
/// 期初标的价格
|
|
/// </summary>
|
|
[DisplayName("期初标的价格")]
|
|
[DataChange]
|
|
public decimal PosiNetPrice { get; set; }
|
|
/// <summary>
|
|
/// 期初标的价格-不含费
|
|
/// </summary>
|
|
[DisplayName("期初标的价格-不含费")]
|
|
[DataChange]
|
|
public decimal PosiGrossPrice { get; set; }
|
|
|
|
/// 收益率
|
|
|
|
/// <summary>
|
|
/// 剩余持仓数量
|
|
/// </summary>
|
|
[DisplayName("剩余持仓数量")]
|
|
[DataChange]
|
|
public decimal PosiQuantity { get; set; }
|
|
|
|
/// <summary>
|
|
/// 当前剩余的名义本金
|
|
/// </summary>
|
|
[DisplayName("当前剩余的名义本金")]
|
|
[DataChange]
|
|
public decimal PosiNotionalValue { get; set; }
|
|
|
|
/// <summary>
|
|
/// 开仓佣金交易费用
|
|
/// </summary>
|
|
[DisplayName("开仓佣金交易费用")]
|
|
[DataChange]
|
|
public decimal PosiTradingFee { get; set; }
|
|
|
|
/// <summary>
|
|
/// 开仓起始日-首次开仓日
|
|
/// </summary>
|
|
[DisplayName("开仓起始日")]
|
|
[DataChange]
|
|
public DateTime PosiStartDate { get; set; }
|
|
/// <summary>
|
|
/// 开仓到期日
|
|
/// </summary>
|
|
[DisplayName("开仓到期日")]
|
|
[DataChange]
|
|
public DateTime? PosiMatuirityDate { get; set; }
|
|
|
|
/// <summary>
|
|
/// 标的盯市价格
|
|
/// </summary>
|
|
[DisplayName("标的盯市价格")]
|
|
[DataChange]
|
|
public decimal UnderlyingPrice { get; set; }
|
|
/// <summary>
|
|
/// 标的市值,空头持仓为负数,挂钩标的价格*持仓数量*合约乘数*(多空方向)
|
|
/// </summary>
|
|
[DisplayName("标的市值")]
|
|
[DataChange]
|
|
public decimal UnderlyingMarketValue { get; set; }
|
|
/// <summary>
|
|
/// 当日浮动端分红,当日事件流水中“分红收益”的加总* 收支方向
|
|
/// </summary>
|
|
[DisplayName("当日浮动端分红")]
|
|
[DataChange]
|
|
public decimal TdPosiDividend { get; set; }
|
|
/// <summary>
|
|
/// 浮动端盯市未实现,因标的价格变化导致的收益(盯市、未实现)
|
|
/// </summary>
|
|
[DisplayName("浮动端平仓盈亏·盯市未实现")]
|
|
[DataChange]
|
|
public decimal PosiMtmPnL { get; set; }
|
|
/// <summary>
|
|
/// 浮动端盯市未实现,因分红导致的分红收益(未实现),日初的本字段值+当日浮动端分红-浮动端平仓盈亏·分红(当日实现)
|
|
/// </summary>
|
|
[DisplayName("浮动端平仓盈亏·分红未实现")]
|
|
[DataChange]
|
|
public decimal PosiDividendSum { get; set; }
|
|
/// <summary>
|
|
/// 后付的费用(未实现)
|
|
/// </summary>
|
|
[DisplayName("后付的费用(未实现)")]
|
|
[DataChange]
|
|
public decimal PosiFeePending { get; set; }
|
|
/// <summary>
|
|
/// 浮动端的所有待实现收益(当前浮动腿的价值),浮动端待实现收益盯市+浮动端待实现收益分红
|
|
/// </summary>
|
|
[DisplayName("浮动端的所有待实现收益")]
|
|
[DataChange]
|
|
public decimal PosiProfitSum { get; set; }
|
|
/// <summary>
|
|
///利息端 收取方向 1:收取,2:支付
|
|
/// </summary>
|
|
[DisplayName("收取方向")]
|
|
[DataChange]
|
|
public int InterestDirection { get; set; }
|
|
/// <summary>
|
|
/// 计息基本类型 1:固定值,2:合约名义本金规模,3:持仓名义本金,4:持仓市值,5:初始预付金,6:追加预付金
|
|
/// </summary>
|
|
[DisplayName("计息基本类型")]
|
|
[DataChange]
|
|
public int InterestMode { get; set; }
|
|
/// <summary>
|
|
/// 计息方式 0:单利,1:复利
|
|
/// </summary>
|
|
public int InterestType { get; set; }
|
|
/// <summary>
|
|
/// 计息基数固定值
|
|
/// </summary>
|
|
[DisplayName("计息基数固定值")]
|
|
[DataChange]
|
|
public decimal InterestPrincipalFix { get; set; }
|
|
/// <summary>
|
|
/// 互换利率(年化)
|
|
/// </summary>
|
|
[DisplayName("互换利率(年化)")]
|
|
[DataChange]
|
|
public decimal InterestRateDefault { get; set; }
|
|
/// <summary>
|
|
/// 互换间隔
|
|
/// </summary>
|
|
[DisplayName("互换间隔")]
|
|
[DataChange]
|
|
public string InterestSwapInterval { get; set; }
|
|
/// <summary>
|
|
/// 待结算其他费用
|
|
/// </summary>
|
|
[DisplayName("待结算其他费用")]
|
|
[DataChange]
|
|
public decimal InterestFeePending { get; set; }
|
|
/// <summary>
|
|
/// 当前交易日适用的具体计息基准值
|
|
/// </summary>
|
|
[DisplayName("当前交易日适用的具体计息基准值")]
|
|
[DataChange]
|
|
public decimal TdInterestPrincipal { get; set; }
|
|
/// <summary>
|
|
/// 当前交易日适用的具体利率值
|
|
/// </summary>
|
|
[DisplayName("当前交易日适用的具体利率值")]
|
|
[DataChange]
|
|
public decimal TdInterestRate { get; set; }
|
|
/// <summary>
|
|
/// 当日利率端新计利息
|
|
/// </summary>
|
|
[DisplayName("当日利率端新计利息")]
|
|
[DataChange]
|
|
public decimal TdInterestIncome { get; set; }
|
|
/// <summary>
|
|
/// 当日利率端新增费用
|
|
/// </summary>
|
|
[DisplayName("当日利率端新增费用")]
|
|
[DataChange]
|
|
public decimal TdInterestFee { get; set; }
|
|
/// <summary>
|
|
/// 利率端待实现收益-利息
|
|
/// </summary>
|
|
[DisplayName("利率端待实现收益-利息")]
|
|
[DataChange]
|
|
public decimal InterestIncomeSum { get; set; }
|
|
/// <summary>
|
|
/// 利率端待实现收益-其他费用
|
|
/// </summary>
|
|
[DisplayName("利率端待实现收益-其他费用")]
|
|
[DataChange]
|
|
public decimal InterestFeeSum { get; set; }
|
|
/// <summary>
|
|
/// 利率端待实现收益
|
|
/// </summary>
|
|
[DisplayName("利率端待实现收益")]
|
|
[DataChange]
|
|
public decimal InterestProfitSum { get; set; }
|
|
/// <summary>
|
|
/// 浮动腿与利息腿的价值之和
|
|
/// </summary>
|
|
[DisplayName("互换持仓价值")]
|
|
[DataChange]
|
|
public decimal SwapPositionValue { get; set; }
|
|
/// <summary>
|
|
/// 当日平仓数量
|
|
/// </summary>
|
|
[DisplayName("当日平仓数量")]
|
|
[DataChange]
|
|
public decimal TdCloseQty { get; set; }
|
|
/// <summary>
|
|
/// 当日公司行为数量,因当日公司行为事件导致的数量变化
|
|
/// </summary>
|
|
[DisplayName("当日公司行为数量")]
|
|
[DataChange]
|
|
public decimal TdChangedQty { get; set; }
|
|
/// <summary>
|
|
/// 当日浮动端平仓盈亏·盯市
|
|
/// </summary>
|
|
[DisplayName("当日浮动端平仓盈亏·盯市")]
|
|
[DataChange]
|
|
public decimal TdCloseMtmPnl { get; set; }
|
|
/// <summary>
|
|
/// 当日浮动端平仓盈亏·分红
|
|
/// </summary>
|
|
[DisplayName("当日浮动端平仓盈亏·分红")]
|
|
[DataChange]
|
|
public decimal TdCloseDividend { get; set; }
|
|
/// <summary>
|
|
/// 当日浮动端平仓盈亏·费用
|
|
/// </summary>
|
|
[DisplayName("当日浮动端平仓盈亏·费用")]
|
|
[DataChange]
|
|
public decimal TdCloseFee { get; set; }
|
|
/// <summary>
|
|
/// 当日利率端平仓盈亏·利息
|
|
/// </summary>
|
|
[DisplayName("当日利率端平仓盈亏·利息")]
|
|
[DataChange]
|
|
public decimal TdCloseInterest { get; set; }
|
|
/// <summary>
|
|
/// 当日利率端平仓盈亏·其他费用
|
|
/// </summary>
|
|
[DisplayName("当日利率端平仓盈亏·其他费用")]
|
|
[DataChange]
|
|
public decimal TdCloseInterestFee { get; set; }
|
|
/// <summary>
|
|
/// 浮动端累计已实现盈亏·盯市
|
|
/// </summary>
|
|
[DisplayName("浮动端累计已实现盈亏·盯市")]
|
|
[DataChange]
|
|
public decimal RealizedMtmPnL { get; set; }
|
|
|
|
/// <summary>
|
|
/// 浮动端累计已实现盈亏·分红
|
|
/// </summary>
|
|
[DisplayName("浮动端累计已实现盈亏·分红")]
|
|
[DataChange]
|
|
public decimal RealizedDividend { get; set; }
|
|
/// <summary>
|
|
/// 浮动端累计已实现盈亏·费用
|
|
/// </summary>
|
|
[DisplayName("浮动端累计已实现盈亏·费用")]
|
|
[DataChange]
|
|
public decimal RealizedFee { get; set; }
|
|
/// <summary>
|
|
/// 利率端累计已实现盈亏·利息
|
|
/// </summary>
|
|
[DisplayName("利率端累计已实现盈亏·利息")]
|
|
[DataChange]
|
|
public decimal RealizedInterest { get; set; }
|
|
/// <summary>
|
|
/// 利率端累计已实现盈亏·其他费用
|
|
/// </summary>
|
|
[DisplayName("利率端累计已实现盈亏·其他费用")]
|
|
[DataChange]
|
|
|
|
public decimal RealizedInterestFee { get; set; }
|
|
/// <summary>
|
|
/// 持仓累计已实现盈亏
|
|
/// </summary>
|
|
[DisplayName("持仓累计已实现盈亏")]
|
|
[DataChange]
|
|
public decimal RealizedPnl { get; set; }
|
|
/// <summary>
|
|
/// 当日适用汇率
|
|
/// </summary>
|
|
[DisplayName("当日适用汇率")]
|
|
[DataChange]
|
|
public decimal TdCurrency { get; set; }
|
|
/// <summary>
|
|
/// 持仓状态 正常0/已平1
|
|
/// </summary>
|
|
[DisplayName("持仓状态")]
|
|
[DataChange]
|
|
public int PosiStatus { get; set; }
|
|
/// <summary>
|
|
/// 是否无效 有效false/无效true
|
|
/// </summary>
|
|
[DisplayName("是否无效")]
|
|
[DataChange]
|
|
public bool Invalid { get; set; }
|
|
/// <summary>
|
|
/// 浮动利率
|
|
/// </summary>
|
|
public decimal FloatRate { get; set; }
|
|
/// <summary>
|
|
/// 浮动利率标的
|
|
/// </summary>
|
|
public string FloatRateUnderlyingCode { get; set; }
|
|
/// <summary>
|
|
/// 是否年化
|
|
/// </summary>
|
|
public bool IsAnnualized { get; set; }
|
|
|
|
/// <summary>
|
|
/// 发生日期 预付金腿用
|
|
/// </summary>
|
|
public DateTime? HappenDate { get; set; }
|
|
|
|
/// <summary>
|
|
/// 币种
|
|
/// </summary>
|
|
public string Currency { get; set; }
|
|
|
|
/// <summary>
|
|
/// 标的资产类型
|
|
/// </summary>
|
|
public string UnderlyingInstrumentType { get; set; }
|
|
/// <summary>
|
|
/// 成交净价含费
|
|
/// </summary>
|
|
public decimal? PosiNetFeePrice { get; set; }
|
|
/// <summary>
|
|
/// 成交净价不含费
|
|
/// </summary>
|
|
public decimal? PosiNetNoFeePrice { get; set; }
|
|
|
|
/// <summary>
|
|
/// 虚拟交易费用
|
|
/// </summary>
|
|
public decimal VTradingFee { get; set; }
|
|
/// <summary>
|
|
/// 重置频率(天)
|
|
/// </summary>
|
|
public int? interest_rest_days { get; set; }
|
|
/// <summary>
|
|
/// 利率准则(-1前一营业日,0当前营业日)
|
|
/// </summary>
|
|
public int? interest_rule { get; set; }
|
|
/// <summary>
|
|
/// 基点价值DV01
|
|
/// </summary>
|
|
[DataChange]
|
|
public decimal? dv01 { get; set; }
|
|
/// <summary>
|
|
/// 持仓编码
|
|
/// </summary>
|
|
[NotMapped]
|
|
public string PositionIdPadding
|
|
{
|
|
get
|
|
{
|
|
return PositionId.ToString().PadLeft(8, '0');
|
|
}
|
|
}
|
|
public eod_swap_position Clone()
|
|
{
|
|
return (eod_swap_position)MemberwiseClone();
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 合成持仓事件返回
|
|
/// </summary>
|
|
public class SwapPositionResponse
|
|
{
|
|
public eod_swap_position eodPosition { get; set; }
|
|
public swap_position position { get; set; }
|
|
public DateTime TradeDate { get; set; }
|
|
public string SwapTradeNo { get; set; }
|
|
public int ClientId { get; set; }
|
|
public string ClientNumber { get; set; }
|
|
public string ClientName { get; set; }
|
|
public string SwapTradeTypeStr { get; set; }
|
|
/// <summary>
|
|
/// 结构类型
|
|
/// </summary>
|
|
public string StructureType { get; set; }
|
|
/// <summary>
|
|
/// 权益收支方向
|
|
/// </summary>
|
|
public int InitialMarginDirection { get; set; }
|
|
}
|
|
}
|