449 lines
11 KiB
C#
449 lines
11 KiB
C#
using YLErp.Helpers;
|
|
using YLErp.Model;
|
|
|
|
namespace YLErp.Modules.ReportModule.SettlementReportModule
|
|
{
|
|
public class ClientDingShiReport_ZJ : DingShiReport
|
|
{
|
|
public SummaryReportModel summaryReportModel { get; set; }
|
|
|
|
/// <summary>
|
|
/// 持仓明细(收益互换)
|
|
/// </summary>
|
|
public List<PositionTradeModel> swap_position { get; set; }
|
|
|
|
/// <summary>
|
|
/// 今日交易(收益互换)
|
|
/// </summary>
|
|
public List<UnwindCashModel> today_swap { get; set; }
|
|
|
|
/// <summary>
|
|
/// 标的持仓
|
|
/// </summary>
|
|
public List<PositionUnderlyingModel> underlying_positon { get; set; }
|
|
|
|
/// <summary>
|
|
/// 平仓明细(收益互换)
|
|
/// </summary>
|
|
public List<UnwindCashModel> swap_unwind { get; set; }
|
|
|
|
/// <summary>
|
|
/// 资金明细
|
|
/// </summary>
|
|
public CashInCashOutModel cash_records { get; set; }
|
|
}
|
|
|
|
public class SummaryReportModel
|
|
{
|
|
public string QuotaCurrency { get; set; }
|
|
|
|
public string SettlementCurrency { get; set; }
|
|
|
|
public DateTime ReportDate { get; set; }
|
|
|
|
public string ClientName { get; set; }
|
|
/// <summary>
|
|
/// 期末结存
|
|
/// </summary>
|
|
|
|
public double RemainCash { get; set; }
|
|
|
|
public double SettleCash { get; set; }
|
|
public double QuoteCash { get; set; }
|
|
|
|
public double UnRealizedPnl { get; set; }
|
|
|
|
public double PositionPv { get; set; }
|
|
|
|
public double IM { get; set; }
|
|
|
|
public double VM { get; set; }
|
|
|
|
public double Deduct { get; set; }
|
|
|
|
public double PFEUsed { get; set; }
|
|
|
|
public double Credit { get; set; }
|
|
|
|
public double PFECredit { get; set; }
|
|
|
|
public double PayableFund { get; set; }
|
|
|
|
public double AvailableFund { get; set; }
|
|
|
|
public double Margin { get; set; }
|
|
|
|
public double QuoteUnRealized { get; set; }
|
|
public double QuoteCommission { get; set; }
|
|
public double QuoteAnnualFee { get; set; }
|
|
public double Commission { get; set; }
|
|
public double AnnualFee { get; set; }
|
|
|
|
public double MarginRequiement { get; set; }
|
|
|
|
public double QuoteMarginRequiement { get; set; }
|
|
|
|
public double CashQuotaLeft { get; set; }
|
|
|
|
public double CurrencyRate { get; set; }
|
|
|
|
public double TotalEquityAmount
|
|
{
|
|
get
|
|
{
|
|
return RemainCash + UnRealizedPnl;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 持仓明细(收益互换)
|
|
/// </summary>
|
|
public List<TradeFlowModel> swap_flow { get; set; }
|
|
|
|
public double Zero { get { return 0; } }
|
|
}
|
|
|
|
public class PositionTradeModel
|
|
{
|
|
//Trade ID Contract BBG Ticker Trade Date Buy/Sell Number of Contracts Contract Size
|
|
//Entry Price MTM Price MTM Date Unwind lots Unrealized PnL (RMB) Commision (RMB) Annualized Fee (RMB)
|
|
|
|
public trade trade { get; set; }
|
|
|
|
public string TradeNumber
|
|
{
|
|
get
|
|
{
|
|
return trade.TradeNumber;
|
|
}
|
|
}
|
|
|
|
public string Contract
|
|
{
|
|
get
|
|
{
|
|
return trade.UnderlyingCode;
|
|
}
|
|
}
|
|
|
|
public string UnderlyingCode { get { return trade.UnderlyingCode; } }
|
|
public string BBGTicker { get; set; }
|
|
|
|
public string BuySell { get; set; }
|
|
|
|
public double ContractSize { get; set; }
|
|
|
|
public DateTime? TradeDate
|
|
{
|
|
get
|
|
{
|
|
return trade.TradeDate;
|
|
}
|
|
}
|
|
|
|
public double Amount { get; set; }
|
|
|
|
public double SpotPrice
|
|
{
|
|
get
|
|
{
|
|
return trade.SpotPrice ?? 0;
|
|
}
|
|
}
|
|
|
|
public double TodayPrice { get; set; }
|
|
|
|
public DateTime PriceDate { get; set; }
|
|
|
|
public double UnwindLots { get; set; }
|
|
|
|
public double UnrealizedPnl { get; set; }
|
|
|
|
public double Commision { get; set; }
|
|
|
|
public double AnnualFee { get; set; }
|
|
|
|
public double StlUnrealizedPnl { get; set; }
|
|
|
|
public double StlCommision { get; set; }
|
|
|
|
public double StlAnnualFee { get; set; }
|
|
|
|
}
|
|
|
|
public class TradeFlowModel
|
|
{
|
|
//{item.TradeNumber---} {item.FlagExpd--} {item.QuotaCurrency--} {item.SettlementCurrency--} {item.TradeDate--}
|
|
//{item.ExerciseDate--} {item.MaturityDate--} {item.BuySell--} {item.PrmDate} {item.PremCNY} {item.TradeType--}
|
|
//{item.BBGTicker--} {item.Amount--} {item.RemainAmount--} {item.ContractSize--} {item.SpotPrice--} {item.initRate--}
|
|
//{item.TodayPrice--} {item.Rate} {item.CommisionRate--} {item.Commision--} {item.AnnualRate--} {item.AnnualFee--}
|
|
//{item.QuoteFloatFee--} {item.FloatFee--} {item.UnrealizedPnl--} {item.RealizedPnl--}
|
|
public string ClientName { get; set; }
|
|
public int id { get; set; }
|
|
|
|
public string FlowNumber
|
|
{ get; set; }
|
|
|
|
public string FlagExpd { get; set; }
|
|
|
|
public string QuoteCurrency { get; set; }
|
|
|
|
public string SettlementCurrency { get; set; }
|
|
|
|
public string Contract
|
|
{ get; set; }
|
|
|
|
public string UnderlyingCode { get; set; }
|
|
public string BBGTicker { get; set; }
|
|
|
|
public string BuySell { get; set; }
|
|
//item.PrmDateitem.PremCNY
|
|
|
|
public DateTime? PrmDate { get; set; }
|
|
|
|
public double? PremCNY { get; set; }
|
|
|
|
public double? ContractSize { get; set; }
|
|
|
|
public DateTime? TradeDate
|
|
{ get; set; }
|
|
|
|
|
|
public DateTime? StartDate
|
|
{ get; set; }
|
|
public DateTime? ExerciseDate
|
|
{ get; set; }
|
|
|
|
public DateTime? CloseDate
|
|
{ get; set; }
|
|
|
|
public double? Amount { get; set; }
|
|
|
|
|
|
public double? RemainAmount { get; set; }
|
|
|
|
public double? SpotPrice
|
|
{ get; set; }
|
|
|
|
public double? TodayPrice { get; set; }
|
|
|
|
public DateTime? PriceDate { get; set; }
|
|
|
|
public double? UnwindLots { get; set; }
|
|
|
|
public double? UnrealizedPnl { get; set; }
|
|
|
|
public double? RealizedPnl { get; set; }
|
|
|
|
public string CommisionRate { get; set; }
|
|
|
|
public double? Commision { get; set; }
|
|
|
|
public double? AnnualRate { get; set; }
|
|
|
|
public double? AnnualFee { get; set; }
|
|
|
|
public string TradeType { get; set; }
|
|
|
|
public double? Rate { get; set; }
|
|
|
|
public double? initRate { get; set; }
|
|
|
|
public double? QuoteFloatFee { get; set; }
|
|
|
|
public double? FloatFee { get; set; }
|
|
|
|
public bool IsOpen { get; set; }
|
|
|
|
public BoundSideEnum boundSide { get; set; }
|
|
public string BoundSideDesc
|
|
{
|
|
get
|
|
{
|
|
return EnumHelper.GetDescriptionByName(boundSide);
|
|
}
|
|
}
|
|
//簿记账户 合约编号 初始名义本金 佣金费率 * 2 实收佣金(结算) 实收年化手续费(结算) 剩余名义本金(结算)
|
|
|
|
public string AssetName { get; set; }
|
|
|
|
public double OriginStockEqvNotion { get; set; }
|
|
|
|
public string TradeNumber { get; set; }
|
|
|
|
public double CommisionSingleFee { get; set; }
|
|
|
|
public double CommisionRateShow { get; set; }
|
|
|
|
public double UnwindCommision { get; set; }
|
|
|
|
public double UnwindAnnualFee { get; set; }
|
|
|
|
public double RemainStockEqvNotion { get; set; }
|
|
}
|
|
|
|
public class PositionUnderlyingModel
|
|
{
|
|
//{item.TradeNumber} {item.UnderlyingCode} {item.Amount} {item.ContractSize}
|
|
//item.TodayPrice} {item.MaturityDate} {item.CloseDate} {item.QuoteCurrency}
|
|
//{item.Rate} {item.QuoteFloatFee} {item.FloatFee} {item.StockEqvNotional}
|
|
//{item.QuoteUnrealized} {item.UnrealizedPnl}
|
|
public string UnderlyingCode { get; set; }
|
|
|
|
public string UnderlyingName { get; set; }
|
|
|
|
public double Amount { get; set; }
|
|
|
|
|
|
public double ContractSize { get; set; }
|
|
|
|
public double TodayPrice { get; set; }
|
|
|
|
|
|
public DateTime? MaturityDate { get; set; }
|
|
|
|
public DateTime? CloseDate { get; set; }
|
|
|
|
public string QuoteCurrency { get; set; }
|
|
|
|
public double Rate { get; set; }
|
|
|
|
public double QuoteFloatFee { get; set; }
|
|
|
|
public double FloatFee { get; set; }
|
|
|
|
public double StockEqvNotional { get; set; }
|
|
|
|
public double QuoteUnrealized { get; set; }
|
|
|
|
public double UnrealizedPnl { get; set; }
|
|
}
|
|
|
|
public class UnwindCashModel
|
|
{
|
|
//{item.TradeType} {item.UnderlyingCode} {item.Amount} {item.ContractSize} {item.SpotPrice} {item.Rate}
|
|
public trade trade { get; set; }
|
|
|
|
public trade_cash tc { get; set; }
|
|
|
|
public string flowNumber { get; set; }
|
|
|
|
public string TradeNumber
|
|
{
|
|
get
|
|
{
|
|
return tc.Number;
|
|
}
|
|
}
|
|
|
|
public string Contract
|
|
{
|
|
get
|
|
{
|
|
return trade.UnderlyingCode;
|
|
}
|
|
|
|
}
|
|
|
|
public string BBGTicker { get; set; }
|
|
|
|
public DateTime? TradeDate { get; set; }
|
|
|
|
public string BuySell { get; set; }
|
|
|
|
public double ContractSize { get; set; }
|
|
|
|
public double Amount { get; set; }
|
|
|
|
public double SpotPrice { get; set; }
|
|
|
|
public double UnwindPrice { get; set; }
|
|
|
|
public DateTime UnwindDate { get; set; }
|
|
|
|
public DateTime? CloseDate { get; set; }
|
|
|
|
public DateTime? ExerciseDate { get; set; }
|
|
|
|
public double RealizedPnl { get; set; }
|
|
|
|
public double Commision { get; set; }
|
|
|
|
public double AnnualFee { get; set; }
|
|
|
|
public string Action { get; set; }
|
|
|
|
public string QuoteCurrency
|
|
{
|
|
get
|
|
{
|
|
return trade.QuoteCurrency;
|
|
}
|
|
}
|
|
|
|
public string TradeType { get; set; }
|
|
|
|
public string UnderlyingCode { get; set; }
|
|
|
|
public double Rate { get; set; }
|
|
}
|
|
|
|
public class CashInCashOutModel
|
|
{
|
|
public List<Cash_Record> cashes { get; set; }
|
|
|
|
public string SettlementCurrency { get; set; }
|
|
}
|
|
|
|
public class Cash_Record
|
|
{
|
|
public ClientCashInCashOutExtend cash { get; set; }
|
|
|
|
public trade_cash tc { get; set; }
|
|
|
|
public string ClientName { get; set; }
|
|
|
|
public string flowNumber { get; set; }
|
|
|
|
public string TradeNumber
|
|
{
|
|
get { return tc == null ? "" : tc.TradeNumber; }
|
|
}
|
|
|
|
public DateTime? ValueDate
|
|
{
|
|
get; set;
|
|
}
|
|
|
|
public double CashInFlow { get; set; }
|
|
|
|
public string CashType { get; set; }
|
|
|
|
public double CashMovement { get; set; }
|
|
|
|
public double RealizedPnl { get; set; }
|
|
|
|
public double Commision { get; set; }
|
|
|
|
public double AnnualFee { get; set; }
|
|
|
|
public double StlRealizedPnl { get; set; }
|
|
|
|
public double StlCommision { get; set; }
|
|
|
|
public double StlAnnualFee { get; set; }
|
|
|
|
public double CurrencyRate { get; set; }
|
|
|
|
public double EndBalance { get; set; }
|
|
|
|
public DateTime? OptDate
|
|
{
|
|
get; set;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|