namespace YLErp.Modules.EodModule.QueryModule { /// /// 日终清算--请求参数 /// public class EodSettleInfoRequest { /// /// 清算日期 /// public DateTime ValueDate { get; set; } /// /// 返回结果是否采用精简模式 /// public bool CompactResult { get; set; } } /// /// 日终清算--持仓列表结果 /// public class EodTradePositionResult { public List OptionPositions { get; set; } public List ForwardPositions { get; set; } public List SwapPositions { get; set; } } /// /// 持仓记录 /// public abstract class EodPositionField { /// /// 交易编号 /// public string TradeNumber { get; set; } /// /// 簿记账户 /// public string AssetBookName { get; set; } /// /// 交易员 /// public string TraderName { get; set; } /// /// 交易对手方 /// public string ClientName { get; set; } /// /// 交易对手方编号 /// public string ClientNumber { get; set; } /// /// 成交日期 /// public string TradeDate { get; set; } /// /// 到期日期 /// public string ExerciseDate { get; set; } /// /// 交易备注 /// public string Comments { get; set; } /// /// 日终结算价格 /// public double SettlePrice { get; set; } } /// /// (日终清算)场外期权持仓数据字段 /// public class EodOptionPositionField : EodPositionField { #region----基本要素---- /// /// 交易类型 /// public string TradeType { get; set; } /// /// 结构类型 /// public string StructureType { get; set; } /// /// 行权方式 /// public string ExerciseMode { get; set; } /// /// 看涨看跌 /// public string CallPut { get; set; } /// /// 结算日期 /// public string SettlementDate { get; set; } /// /// /// public string TradeSide { get; set; } /// /// /// public string UnderlyingCode { get; set; } /// /// /// public string UnderlyingName { get; set; } /// /// 期初标的价格 /// public double InitSpotPrice { get; set; } public string Strike { get; set; } public string IsMoneynessOption { get; set; } public string Premium { get; set; } public string IsUsePremiumRate { get; set; } /// /// 初始预付金 /// public double InitialMargin { get; set; } /// /// 有效成交数量 /// public double TradeAmount { get; set; } /// /// 成交金额 /// public double TradePrice { get; set; } /// /// 名义本金(成交) /// public double StockEqvNotional { get; set; } /// /// 实际名义本金(成交) /// public double StockEqvNotionalReal { get; set; } public string IsAnnualized { get; set; } public string AnnualizeFactor { get; set; } public string PrincipalRate { get; set; } public string ParticipationRate { get; set; } public string NoRiskRate { get; set; } public string DividendRate { get; set; } public string TradeOpenVolatility { get; set; } public string TradeCloseVolatility { get; set; } /// /// 平滑过渡天数 /// public int NumOfSmoothingDays { get; set; } #endregion #region----亚式期权---- /// /// 均价起算日 格式:yyyy-MM-dd /// public string AsianAveragingPeriodStartDate { get; set; } /// /// 均价计算方式(算术平均|几何平均|算术平均(离散)|增强算术平均) /// public string AsianPayoffType { get; set; } /// /// 行权价类型(固定行权价|浮动行权价|分段式) /// public string AsianStrikeType { get; set; } /// /// 杠杆率(百分数) /// public string AsianStrikeGearingFactor { get; set; } #endregion #region----障碍期权---- /// /// 障碍类型(上升敲入|上升敲出|下降敲入|下降敲出|双障碍敲入|双障碍敲出) /// public string BarrierType { get; set; } /// /// 障碍价格 IsMoneynessOption等于‘是’时为百分数,否则为绝对数值 /// public string BarrierPrice { get; set; } /// /// 高障碍价格 IsMoneynessOption等于‘是’时为百分数,否则为绝对数值 /// public string BarrierPriceHigh { get; set; } /// /// 障碍偏移 /// public double? BarrierShift { get; set; } /// /// 补偿金额 IsUsePremiumRate等于‘是’时为百分数,否则为绝对数值 /// public string BarrierRebate { get; set; } /// /// 补偿支付方式(立即|递延) /// public string BarrierRebateType { get; set; } /// /// 观察方式(离散|连续) /// public string BarrierDiscrete { get; set; } /// /// 敲入敲出状态(观察中|已敲入|已敲出) /// public string BarrierKnockInOutStatus { get; set; } /// /// 敲入敲出日期(格式:yyyy-MM-dd) /// public string BarrierKnockInOutDate { get; set; } #endregion #region----双鲨期权---- /// /// 低障碍价格(IsMoneynessOption等于‘是’时为百分数,否则为绝对数值) /// public string DbSharkBarrierLow { get; set; } /// /// 高障碍价格(IsMoneynessOption等于‘是’时为百分数,否则为绝对数值) /// public string DbSharkBarrierHigh { get; set; } /// /// 高行权价(IsMoneynessOption等于‘是’时为百分数,否则为绝对数值) /// public string DbSharkStrikeHigh { get; set; } /// /// 高参与率(百分数) /// public string DbSharkCallParticipationRate { get; set; } /// /// 低参与率(百分数) /// public string DbSharkPutParticipationRate { get; set; } /// /// 补偿金额(IsUsePremiumRate等于‘是’时为百分数,否则为绝对数值) /// public string DbSharkRebate { get; set; } /// /// 高障碍补偿金额(IsUsePremiumRate等于‘是’时为百分数,否则为绝对数值) /// public string DbSharkRebateHigh { get; set; } /// /// 补偿支付方式(立即|递延) /// public string DbSharkRebateType { get; set; } /// /// 观察方式(离散|连续) /// public string DbSharkDiscrete { get; set; } /// /// 敲入敲出状态 观察中|已敲入|已敲出 /// public string DbsharkKnockInOutStatus { get; set; } /// /// 敲入敲出日期 格式:yyyy-MM-dd /// public string DbsharkKnockInOutDate { get; set; } #endregion #region----二元期权---- /// /// 二元类型 "欧式期权: CashOrNothing|AssetOrNothing /// 美式期权: UpOneTouch|DownOneTouch|UpNoTouch|DownNoTouch|DoubleOneTouch|DoubleNoTouch" /// public string BinaryPayoffType { get; set; } /// /// 高障碍价格(IsMoneynessOption等于‘是’时为百分数,否则为绝对数值) /// public string BinaryUpperBarrier { get; set; } /// /// 补偿金额(IsUsePremiumRate等于‘是’时为百分数,否则为绝对数值) /// public string BinaryCashOrNothingAmount { get; set; } /// /// 高障碍补偿金额(IsUsePremiumRate等于‘是’时为百分数,否则为绝对数值) /// public string BinaryCashOrNothingAmountHigh { get; set; } /// /// 观察方式(离散|连续) /// public string BinaryMonitorType { get; set; } /// /// 补偿支付方式(立即|递延) /// public string BinaryRebateType { get; set; } #endregion #region----区间累积期权---- /// /// 区间下限(IsMoneynessOption等于‘是’时为百分数,否则为绝对数值) /// public string RangeAccrualLowerRange { get; set; } /// /// 区间上限(IsMoneynessOption等于‘是’时为百分数,否则为绝对数值) /// public string RangeAccrualUpperRange { get; set; } /// /// 区间收益(百分数) /// public string RangeAccrualBonusRate { get; set; } #endregion #region----气囊结构---- /// /// 障碍价格(IsMoneynessOption等于‘是’时为百分数,否则为绝对数值) /// public string AirbagBarrier { get; set; } /// /// 是否离散观察(是|否) /// public string AirbagIsDiscrete { get; set; } /// /// 敲入参与率(百分数) /// public string AirbagKIParticipationRate { get; set; } /// /// 收益封顶(是|否) /// public string AirbagHasPayoffLimit { get; set; } /// /// 收益封顶价格(IsMoneynessOption等于‘是’时为百分数,否则为绝对数值) /// public string AirbagHighStrike { get; set; } //收益增强结构 /// /// 年化增强收益(百分数) /// public string AnnualizedEnhanceRate { get; set; } #endregion #region----凤凰期权---- /// /// 票息年化(是|否) /// public string AutocallIsAnnualizedCoupon { get; set; } /// /// 票息率(百分数) /// public string AutocallCoupon { get; set; } /// /// 票息障碍价格(IsMoneynessOption等于‘是’时为百分数,否则为绝对数值) /// public string AutocallCouponBarrier { get; set; } /// /// 票息结算方式(产生时支付|敲出时支付|期末支付) /// public string AutocallCouponPayType { get; set; } /// /// 敲出障碍价格(IsMoneynessOption等于‘是’时为百分数,否则为绝对数值) /// public string AutocallKOBarrier { get; set; } /// /// 敲入障碍价格(IsMoneynessOption等于‘是’时为百分数,否则为绝对数值) /// public string AutocallKIBarrier { get; set; } /// /// 敲入到期是否支付票息(是|否) /// public string AutocallIncludeCouponAfterKI { get; set; } /// /// 敲入到期支付类别(无|敲入转期权|敲入转价差期权) /// public string AutocallKIPayoffType { get; set; } /// /// 敲入行权价1(IsMoneynessOption等于‘是’时为百分数,否则为绝对数值) /// public string AutocallKIStrike1 { get; set; } /// /// 敲入行权价2(IsMoneynessOption等于‘是’时为百分数,否则为绝对数值) /// public string AutocallKIStrike2 { get; set; } /// /// 敲入敲出状态 观察中|已敲入|已敲出 /// public string AutocallKnockInOutStatus { get; set; } /// /// 敲入敲出日期 格式:yyyy-MM-dd /// public string AutocallKnockInOutDate { get; set; } #endregion #region----雪球期权---- /// /// 敲出障碍价格(IsMoneynessOption等于‘是’时为百分数,否则为绝对数值) /// public string SnowballKOBarrier { get; set; } /// /// 敲出赔付类别(票息补偿|敲出转期权|敲出转价差期权) /// public string SnowballKOPayoffType { get; set; } /// /// 票息年化(是|否, SnowballKOPayoffType等于‘票息补偿’时有值) /// public string SnowballIsAnnualizedCoupon { get; set; } /// /// 票息率(百分数, SnowballKOPayoffType等于‘票息补偿’时有值) /// public string SnowballKORebate { get; set; } /// /// 年化期权费率(百分数, SnowballKOPayoffType等于‘票息补偿’时有值) /// public string SnowballAnnualizedPremiumRate { get; set; } /// /// 票息支付日期(以逗号分隔的日期序列) /// public string SnowballKOObservationSettleDates { get; set; } /// /// 敲出行权价1(IsMoneynessOption等于‘是’时为百分数,否则为绝对数值, SnowballKOPayoffType等于‘票息补偿’或‘敲出转价差期权’时有值) /// public string SnowballKOStrike1 { get; set; } /// /// 敲出行权价2(IsMoneynessOption等于‘是’时为百分数,否则为绝对数值, SnowballKOPayoffType等于‘敲出转价差期权’时有值) /// public string SnowballKOStrike2 { get; set; } /// /// 敲出支付方式(立即|期末) /// public string SnowballKORebateType { get; set; } /// /// 敲入障碍价格(IsMoneynessOption等于‘是’时为百分数,否则为绝对数值) /// public string SnowballKIBarrier { get; set; } /// /// 敲入到期支付类别(无|敲入转期权|敲入转价差期权) /// public string SnowballKIPayoffType { get; set; } /// /// 敲入行权价1(IsMoneynessOption等于‘是’时为百分数,否则为绝对数值, SnowballKIPayoffType等于‘票息补偿’或‘敲出转价差期权’时有值) /// public string SnowballKIStrike1 { get; set; } /// /// 敲入行权价2(IsMoneynessOption等于‘是’时为百分数,否则为绝对数值, SnowballKIPayoffType等于‘敲出转价差期权’时有值) /// public string SnowballKIStrike2 { get; set; } /// /// 非敲入到期支付票息(百分数) /// public string SnowballNoKICoupon { get; set; } /// /// 敲入敲出状态 观察中|已敲入|已敲出 /// public string SnowballKnockInOutStatus { get; set; } /// /// 敲入敲出日期 格式:yyyy-MM-dd /// public string SnowballKnockInOutDate { get; set; } #endregion #region----自定义交易---- /// /// 自定义结构类型 /// public string StructureTypeSpec { get; set; } /// /// 自定义结构说明 /// public string StructureIntroduction { get; set; } /// /// 交易扩展信息 /// public string ExtendInfo { get; set; } #endregion #region----累计期权---- /// /// 敲出障碍价格(IsMoneynessOption等于‘是’时为百分数,否则为绝对数值) /// public string AccumulatorKOBarrier { get; set; } /// /// 上端收益类型 浮动|固定 /// public string AccumulatorPayoffType { get; set; } /// /// 票息 带'%'后缀的为百分比格式的票息率方式,否则为单份票息金额方式,'上端收益类型'为‘票息’时适用 /// public string AccumulatorCoupon { get; set; } /// /// 票息年化 是|否,为'否'时票息年化,'上端收益类型'为‘票息’时适用 /// public string AccumulatorIsAnnualizedCoupon { get; set; } /// /// 票息日历规则,为空时则默认为Act365 /// public string AccumulatorCouponDayCount { get; set; } /// /// 杠杆倍数 /// public double? AccumulatorMultiplier { get; set; } /// /// 敲出是否终止 是|否 /// public string AccumulatorEarlyTerminate { get; set; } /// /// 结算方式 现金结算(当日)|现金结算(期末)|实物交割 /// public string AccumulatorSettlementMode { get; set; } /// /// 累计类型 子弹|空值 /// public string AccumulatorAccumuType { get; set; } #endregion #region----敲入敲出观察---- /// /// 观察频率 以逗号分隔的日期序列,适用于:障碍期权, /// public string ObservationDates { get; set; } /// /// 敲出观察频率 以逗号分隔的日期序列,适用于:障碍期权, /// public string KOObservationDates { get; set; } /// /// 敲入观察频率 以逗号分隔的日期序列,适用于:障碍期权, /// public string KIObservationDates { get; set; } #endregion #region----持仓信息---- /// /// 持仓数量 /// public double PositionTradeAmount { get; set; } /// /// 持仓市值 /// public double PositionPv { get; set; } /// /// 持仓盈亏 /// public double PositionPnl { get; set; } /// /// 持仓波动率(百分数) /// public string PositionVol { get; set; } /// /// 当日盈亏 /// public double DailyPnl { get; set; } #endregion #region----风险信息---- /// /// 持仓Delta /// public double Delta { get; set; } public double DeltaInLots { get; set; } /// /// 持仓Gamma /// public double Gamma { get; set; } /// /// 持仓Vega /// public double Vega { get; set; } /// /// 持仓Theta /// public double Theta { get; set; } /// /// 持仓Rho /// public double Rho { get; set; } /// /// /// public double DeltaCash { get; set; } /// /// /// public double GammaCash { get; set; } /// /// /// public double VegaCash { get; set; } #endregion } /// /// (日终清算)场内期权持仓数据字段 /// public class EodExOptionPositionFields { public string OptionCode { get; set; } public string UnderlyingCode { get; set; } public string ExerciseMode { get; set; } public string Strike { get; set; } public string PositionType { get; set; } public string PositionTradeAmount { get; set; } public string PositionPv { get; set; } public string PositionPnl { get; set; } public string PositionVol { get; set; } } /// /// (日终清算)收益互换持仓数据字段 /// public class EodPayOffSwapPositionField : EodPositionField { /// /// 结构类型 /// public string StructureType { get; set; } /// /// 名义本金 /// public double StockEqvNotional { get; set; } /// /// [收取]浮动收益(是|否) /// public string IsGetFloatingProfit { get; set; } /// /// [收取]标的代码 /// public string GetUnderlyingCode { get; set; } /// /// [收取]多头空头(多头|空头) /// public string GetLongShort { get; set; } /// /// [收取]标的期初价格 /// public double? GetSpotPrice { get; set; } /// /// [收取]交易费用 /// public double? GetTradePrice { get; set; } /// /// [收取]初始预付金率(百分数) /// public string GetMarginRate { get; set; } /// /// [收取]固定收益 /// public double? GetFixedProfit { get; set; } /// /// [支付]浮动收益(是|否) /// public string IsPayFloatingProfit { get; set; } /// /// [支付]标的代码 /// public string PayUnderlyingCode { get; set; } /// /// [支付]多头空头(多头|空头) /// public string PayLongShort { get; set; } /// /// [支付]标的期初价格 /// public double? PaySpotPrice { get; set; } /// /// [支付]交易费用 /// public double? PayTradePrice { get; set; } /// /// [支付]固定收益 /// public double? PayFixedProfit { get; set; } /// /// [支付]初始预付金率(百分数) /// public string PayMarginRate { get; set; } //持仓信息 /// /// 持仓名义本金 /// public double PositionStockEqvNotional { get; set; } /// /// 持仓市值 /// public double PositionPv { get; set; } /// /// 持仓盈亏 /// public double PositionPnl { get; set; } /// /// 当日盈亏 /// public double DailyPnl { get; set; } } /// /// (日终清算)远期持仓数据字段 /// public class EodForwardPositionField : EodPositionField { /// /// 结构类型 /// public string StructureType { get; set; } /// /// 标的代码 /// public string UnderlyingCode { get; set; } /// /// 标的名称 /// public string UnderlyingName { get; set; } /// /// 挂钩标的 /// public string BasisUnderlyingCode { get; set; } /// /// 基差 /// public double? BasisGap { get; set; } /// /// 交易方向(买入|卖出) /// public string TradeSide { get; set; } /// /// 多头空头(多头|空头) /// public string CallPut { get; set; } /// /// 成交数量 /// public double TradeAmount { get; set; } /// /// 交割价格 /// public double Strike { get; set; } /// /// 期初标的价格 /// public double InitSpotPrice { get; set; } /// /// 开仓费用(每手单价) /// public double OpenFee { get; set; } /// /// 开仓总费用 /// public double TotalFee { get; set; } /// /// 年化预付金成本率(百分数) /// public string AnnualMarginRate { get; set; } /// /// 年化仓储成本(单价) /// public double AnnualStoragePrice { get; set; } /// /// 无风险利率(百分数) /// public string NoRiskRate { get; set; } /// /// 均价结算设置 /// public string ObservationDates { get; set; } /// /// 持仓数量 /// public double PositionTradeAmount { get; set; } /// /// 持仓市值 /// public double PositionPv { get; set; } /// /// 持仓盈亏 /// public double PositionPnl { get; set; } /// /// 当日盈亏 /// public double DailyPnl { get; set; } public double CountRatio { get; set; } } public class ClientSettleBalancesSumInfo { public double WinLossSum { get; set; } public double TdWinLossSum { get; set; } public double PositionPnlSum { get; set; } } }