Files
zszq-trs/YLErpDAL/Model/FinancialSummaryOptionExportModel.cs
T
2024-05-09 14:06:26 +08:00

219 lines
6.6 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace YLErp.Model
{
/// <summary>
/// 财务汇总 导出场外期权账单model
/// </summary>
public class FinancialSummaryOptionExportModel
{
public FinancialSummaryOptionExportModel()
{
BuyClientSummaryOptions = new List<ClientSummaryOption>();
SellClientSummaryOptions = new List<ClientSummaryOption>();
BuyClientOptionOpens = new List<ClientOptionOpen>();
SellClientOptionOpens = new List<ClientOptionOpen>();
BuyClientOptionUnwinds = new List<ClientOptionUnwind>();
SellClientOptionUnwinds=new List<ClientOptionUnwind>();
BuyClientOptionPositions=new List<ClientOptionPosition>();
SellClientOptionPositions=new List<ClientOptionPosition>();
}
/// <summary>
/// 区间开始日期
/// </summary>
public DateTime StartDate { get; set; }
/// <summary>
/// 区间结束日期
/// </summary>
public DateTime EndDate { get; set; }
/// <summary>
/// 客户买权合计
/// </summary>
public List<ClientSummaryOption> BuyClientSummaryOptions { get; set; }
/// <summary>
/// 客户卖权合计
/// </summary>
public List<ClientSummaryOption> SellClientSummaryOptions { get; set; }
/// <summary>
/// 客户买权开仓情况
/// </summary>
public List<ClientOptionOpen> BuyClientOptionOpens { get; set; }
/// <summary>
/// 客户卖权开仓情况
/// </summary>
public List<ClientOptionOpen> SellClientOptionOpens { get; set; }
/// <summary>
/// 客户买权平仓情况
/// </summary>
public List<ClientOptionUnwind> BuyClientOptionUnwinds { get; set; }
/// <summary>
/// 客户卖权平仓情况
/// </summary>
public List<ClientOptionUnwind> SellClientOptionUnwinds { get; set; }
/// <summary>
/// 客户买权持仓情况
/// </summary>
public List<ClientOptionPosition> BuyClientOptionPositions { get; set; }
/// <summary>
/// 客户卖权持仓情况
/// </summary>
public List<ClientOptionPosition> SellClientOptionPositions { get; set; }
}
/// <summary>
/// 客户合计情况
/// </summary>
public class ClientSummaryOption: ClientOptionSummaryBase
{
/// <summary>
/// 期初权益(买权不含持仓盈亏)=期末权益不含持仓盈亏-入金-平仓盈亏-票息+出金
/// </summary>
public double LastMonthRemainFund { get; set; }
/// <summary>
/// 入金 -绝对值
/// </summary>
public double CashIn { get; set; }
/// <summary>
/// 出金-绝对值
/// </summary>
public double CashOut { get; set; }
/// <summary>
/// 权利金 买方为客户角度
/// </summary>
public double TradePrice { get; set; }
/// <summary>
/// 平仓盈亏
/// </summary>
public double UnwindPnl { get; set; }
/// <summary>
/// 持仓盈亏
/// </summary>
public double PosiPnl { get; set; }
/// <summary>
/// 票息
/// </summary>
public double CouponRate { get; set; }
/// <summary>
/// 期末权益
/// </summary>
public double LastRemainFund { get; set; }
/// <summary>
/// 期末权益(不含持仓盈亏)
/// </summary>
public double LastRemainFundEXPosiPnl { get; set; }
/// <summary>
/// 持仓权利金
/// </summary>
public double PosiTradePrice { get; set; }
/// <summary>
/// 期末结存
/// </summary>
public double EodBalance { get; set; }
/// <summary>
/// 买方期末结存
/// </summary>
public double BuyEodBalance { get; set; }
/// <summary>
/// 卖方期末结存
/// </summary>
public double SellEodBalance { get; set; }
}
/// <summary>
/// 客户开仓情况
/// </summary>
public class ClientOptionOpen: ClientOptionSummaryBase
{
/// <summary>
/// 交易编码
/// </summary>
public string TradeNumber { get; set; }
/// <summary>
/// 标的代码
/// </summary>
public string UnderlyingCode { get; set; }
/// <summary>
/// 标的名称
/// </summary>
public string UnderlyingName { get; set; }
/// <summary>
/// 期权类型
/// </summary>
public string TradeType { get; set; }
/// <summary>
/// 开仓价
/// </summary>
public double OpenPrice { get; set; }
/// <summary>
/// 数量
/// </summary>
public double Qty { get; set; }
/// <summary>
/// 新增名义本金
/// </summary>
public double StockEqvNotional { get; set; }
/// <summary>
/// 合计=开仓价*数量
/// </summary>
public double OpentAmount { get; set; }
/// <summary>
/// 期权费
/// </summary>
public double OptionAmount { get; set; }
}
/// <summary>
/// 客户平仓情况
/// </summary>
public class ClientOptionUnwind: ClientOptionOpen
{
/// <summary>
/// 平仓价
/// </summary>
public double UnwindPrice { get; set; }
/// <summary>
/// 平仓盈亏=(平仓价-开仓价)*数量
/// </summary>
public double UnwindPnl { get; set; }
/// <summary>
/// 票息
/// </summary>
public double CouponRate { get; set; }
}
/// <summary>
/// 客户持仓情况
/// </summary>
public class ClientOptionPosition: ClientOptionOpen
{
/// <summary>
/// 结算价
/// </summary>
public double SettlePrice { get; set; }
/// <summary>
/// 持仓盈亏=(结算价-开仓价)*数量
/// </summary>
public double PosiPnl { get; set; }
/// <summary>
/// 票息
/// </summary>
public double CouponRate { get; set; }
}
public class ClientOptionSummaryBase
{
/// <summary>
/// 客户id
/// </summary>
public int ClientId { get; set; }
/// <summary>
/// 客户名称
/// </summary>
public string ClientName { get; set; }
}
}