syntax = "proto2"; package pb; //交易规则信息子集 message TradeRule{ optional uint32 RuleID = 1; // 交易规则ID optional double ParamValue = 2; // 参数值 } //交易规则信息 message TradeRuleInfoStruct{ optional uint64 AccountID = 1; // 资金账号 optional uint32 GoodsID = 2; // 商品id repeated TradeRule TradeRules = 3; // 交易规则 } // 日期类型定义 message Date { optional string DateStr = 1; // 日期时间 } // ERMS2_ARBITRAGESTRATEGY 期现套利策略表 message Erms2ArbitrageStrategy { //mkey: 1 optional uint64 ASApplyId = 1; // 策略申请ID(702+Unix秒时间戳(10位)+xxxxxx) optional string ASNo = 2; // 策略编号 optional uint32 BizType = 3; // 业务类型 - 1:正向套利 -1:反向套利 optional uint32 UserId = 4; // 所属机构 optional uint32 DeliveryGoodsId = 5; // 现货品种ID optional uint32 GoodsGroupId = 6; // 期货品种ID optional double SpotQuota = 7; // 现货额度 optional double FutureQuote = 8; // 期货额度 optional double ApplyBasis = 9; // 申请基差 optional uint32 StrategyStatus = 10; // 策略状态 - 0:未结束 1:已结束 optional string Remark = 11; // 备注 optional uint32 MarketId = 12; // 市场ID optional string TradeDate = 13; // 交易日(yyyyMMdd) optional string CloseTradeDate = 14; // 完结交易日(yyyyMMdd) optional double UsedQuota = 15; // 已占用资金 optional double FutureQty = 16; // 期货持仓数量 optional double FutureAvgPrice = 17; // 期货建仓均价 optional double FuturePL = 18; // 期货总盈亏[结算更新] optional double PricedSpotQty = 19; // 已定价现货数量 optional double PricedSpotQtyNoTax = 20; // 已定价现货不含税数量 optional double SpotavgPrice = 21; // 现货均价 optional double SpotPL = 22; // 现货总盈亏[结算更新] optional double NetExposure = 23; // 单笔业务头寸净敞口 = 期货持仓数量 + 已定价现货不含税数量 optional double NetExposureRate = 24; // 净敞口比例 - 0:未结束 = (NetExposure/PriceSpotQtyNoTax) ; 已结束为0 optional double TotalPL = 25; // 业务合计损益 = FuturePL + SpotPL [结算更新] optional double OpenBasis = 26; // 建仓基差 optional double CurBasis = 27; // 当前基差[结算更新] optional double BasisChangePL = 28; // 基差变动损益[结算更新] optional double NetExposurePL = 29; // 净敞口损益 = TotalPL - BasisChangePL[结算更新] optional double SpotUsedQuota = 30; // 现货占用资金 optional double FutureOpenQty = 31; // 期货开仓数量 optional double FutureOpenAmount = 32; // 期货开仓金额 optional double FutureCloseQty = 33; // 期货平仓数量 optional double FutureCloseAmount = 34; // 期货平仓金额 optional double SpotBuyAmount = 35; // 现货采购金额 optional double SpotBuyQty = 36; // 现货采购数量 optional double SpotSellAmount = 37; // 现货销售金额 optional double SpotSellQty = 38; // 现货销售数量 optional Date UpDatetime = 39; // 更新时间 optional string ASName = 40; // 策略名称 } // ERMCP_AREASPOT 企业现货表 message ErmcpAreaSpot { //mkey: 1 2 optional uint32 WrStandardID = 1; // 现货商品ID optional uint32 AreaUserID = 2; // 所属机构 optional double OriBuyPlanQty = 3; // 期初采购计划数量 optional double OriBuyPricedQty = 4; // 期初采购合同已定价数量 optional double OriSellPlanQty = 5; // 期初销售计划数量 optional double OriSellPricedQty = 6; // 期初销售合同已定价数量 optional double BuyPlanQty = 7; // 采购计划数量 optional double BuyPricedQty = 8; // 采购合同已定价数量 optional double SellPlanQty = 9; // 销售计划数量 optional double SellPricedQty = 10; // 销售合同已定价数量 optional double TotalSpotQty = 11; // 现货头寸总量 = (销售计划数量 - 销售已定价数量) - (采购计划数量 - 采购已定价数量) optional Date UpdateTime = 12; // 更新时间 } // ERMCP_AREAEXPOSURE 企业敞口表 message ErmcpAreaExposure { //mkey: 1 2 //nkey: 1 optional uint32 MiddleGoodsID = 1; // 套保品种 optional uint32 AreaUserID = 2; // 所属机构 optional double OriBuyPlanQty = 3; // 期初采购计划数量 optional double OriBuyPricedQty = 4; // 期初采购合同已定价数量 optional double OriSellPlanQty = 5; // 期初销售计划数量 optional double OriSellPricedQty = 6; // 期初销售合同已定价数量 optional uint64 OriBuyFutureQty = 7; // 期初买入期货数量 optional uint64 OriSellFutureQty = 8; // 期初卖出期货数量 optional double BuyPlanQty = 9; // 采购计划数量 optional double BuyPricedQty = 10; // 采购合同已定价数量 optional double SellPlanQty = 11; // 销售计划数量 optional double SellPricedQty = 12; // 销售合同已定价数量 optional double BuyFutureQty = 13; // 买入期货数量 optional double SellFutureQty = 14; // 卖出期货数量 optional double TotalSpotQty = 15; // 现货头寸总量 optional double TotalFutureQty = 16; // 期货头寸总量 optional double TotalExposure = 17; // 实时总敞口 optional double TotalHedgeRatio = 18; // 总套保比率 optional double TotalNeedHedgeQty = 19; // 应套保总量 optional double NeedHedgeExposoure = 20; // 应套保敞口 optional double NeedHedgeRatio = 21; // 应套保比率 optional Date UpdateTime = 22; // 更新时间 } // GoodsMarginCfgStruct 商品保证金配置 message GoodsMarginCfgStruct { optional uint32 GoodsID = 1; // 商品ID optional uint32 CustomerTypeID = 2; // 投资者客户类型 optional uint32 MarginAlgorithm = 3; // 保证金计算方式 optional double MarketMarginValue = 4; // 即市保证金值 optional double ReckonMarginValue = 5; // 结算保证金值 optional double LockMarginValue = 6; // 锁仓保证金 optional double RealMarginValue = 7; // 实付比例 optional uint32 RealMarginAlgorithm = 8; // 实付保证金计算方式 optional uint32 IsDefault = 9; // 是否默认标志位 } // ERMCP2_HEDGEDITEM 被套期项目表 message Ermcp2HedgedItem { //mkey: 1 optional uint64 HedgedItemID = 1; // 被套期项目ID(624+Unix秒时间戳(10位)+xxxxxx) optional string HedgedItemNum = 2; // 项目编号 optional string HedgedItemName = 3; // 项目名称 optional uint64 HedgedType = 4; // 套期类型 - 1:采购计划项目 2:销售计划项目 3:现货贸易项目 4:库存存货项目 5:定价采购合同项目 optional Date PlanStartDate = 5; // 计划开始日期 --DATE optional Date PlanEndDate = 6; // 计划结束日期 --DATE optional double HedgeRate = 7; // 套保比率 optional uint64 TradeUserID = 8; // 交易用户ID optional uint64 AreaUserID = 9; // 企业ID optional uint64 HedgedItemStatus = 10; // 项目状态 - 0:未提交 1:待审核 2:执行中 3:正常完结 4:审核拒绝 5:异常完结 6:已撤回 optional uint64 ApplySrc = 11; // 申请来源 - 1:管理端 2:终端 optional uint64 ApplyID = 12; // 申请人 optional string Remark = 13; // 备注 optional Date CreateTime = 14; // 申请时间 --DATE optional string AuditTradeDate = 15; // 审核交易日(yyyyMMdd) optional uint64 AuditID = 16; // 审核人 optional uint64 AuditSrc = 17; // 审核来源 - 1:管理端 2:终端 optional string AuditTime = 18; // 审核时间 --DATE optional string AuditRemark = 19; // 审核备注 optional uint64 DeliveryGoodsID = 20; // 现货品种ID optional uint64 WrStandardID = 21; // 现货商品ID optional double VatRate = 22; // 增值税 optional double HedgeQty = 23; // 套期现货量 optional double HedgeAmount = 24; // 套期市价总额 optional double HedgeRestAmount = 25; // 套期剩余市价总额【现货贸易】 optional double HedgeContractAmount = 26; // 套期定价总额 【定价采购合同】【现货贸易】 optional double OriAvgPrice = 27; // 期初市场均价 = 套期市价总额 / 套期现货量 optional double ExeQty = 28; // 执行现货量 optional double ExeAmount = 29; // 执行市价总额 optional double ExeRestAmount = 30; // 执行剩余市价总额【现货贸易】 optional double ExeAvgPrice = 31; // 执行市场均价= 执行市价总额 / 执行现货量 optional double ExeContractAmount = 32; // 执行定价总额 optional double CurPrice = 33; // 当前市场价 optional double UnExeQty = 34; // 未执行现货量 = 套期现货量 - 执行现货量 optional double SpotHedgePL = 35; // 现货套期损益 =(执行市场均价-期初市场均价)*执行现货量 * 方向(销售计划 为 -1, 其它为1) optional double SpotPL = 36; // 现货套期损益 = 现货实际损益 + 现货浮动损益 optional double FutureHedgePL = 37; // 期货实际损益 optional double FuturePL = 38; // 期货套期损益 optional double HedgeSumPL = 39; // 套期汇总损益 = 期货汇总损益 + 现货汇总损益 optional double SpotTradePL = 40; // 现货贸易损益【现货贸易】= 执行合同定价总额 - 套期合同定价总额 optional double VatPL = 41; // 增值税损益【现货贸易】= 现货贸易损益 * (增值税率 /(1+增值税率)) optional double SumObsPL = 42; // 汇总绝对损益【现货贸易】=现货贸易损益+增值税损益+期货套期损益 optional double SpotBookAmount = 43; // 现货账面总额 optional double CurStock = 44; // 期末库存量 = 采购总量 - 销售总量 optional Date EndDate = 45; // 完成日期 --DATE optional string EndTradeDate = 46; // 完成交易日 optional Date UpdateTime = 47; // 更新时间 --DATE optional double OriSpotHedgePL = 48; // 期初现货实际损益 optional double OriFutureHedgePL = 49; // 期初期货实际损益 optional double OriSpotPL = 50; // 期初现货套期损益 optional double OriFuturePL = 51; // 期初期货套期损益 optional double SpotFloatPL = 52; // 现货浮动损益 =(当前市场价 - 期初市场价)*未执行现货量 * 方向(销售计划 为 -1, 其它为1) optional double FutureFloatPL = 53; // 期货浮动损益 optional uint32 IsRelated = 54; //是否关联 - 0:未关联 1:已关联 } // ERMCP2_HEDGEDITEM 被套期项目表扩展 message Ermcp2HedgedItemExt { optional Ermcp2HedgedItem item = 1; optional string accountname = 2; optional string wrstandardname = 3; optional uint32 unitid = 4; } // ERMCP2_HIMIDDLEGOODS 项目套保品种明细 message Ermcp2HIMiddleGoods { //mkey: 1 2 optional uint64 HedgedItemID = 1; // 被套期项目ID(624+Unix秒时间戳(10位)+xxxxxx) optional uint64 MiddleGoodsID = 2; // 套保品种ID optional uint64 DeliveryGoodsID = 3; // 现货品种ID optional uint64 WrstandardID = 4; // 现货商品ID optional double VatRate = 5; // 增值税 optional double SpotConvertRatio = 6; // 折算系数 [现货] optional double UnexeSpotQty = 7; // 未执行现货量 optional double UnexeHedgeQty = 8; // 未执行套期量 = 未执行现货量*折算系数* (1/(1+增值税)) * 套期比例(项目上) optional double FutureHedgeQty = 9; // 期货持仓套期量 optional double HIExpsoure = 10; // 期现敞口量 = 未执行套期量 + 期货持仓套期量 optional uint64 TradeUserID = 11; // 交易用户ID optional uint64 AreaUserID = 12; // 企业ID optional Date CreateTime = 13; // 创建时间 --DATE optional Date UpdateTime = 14; // 更新时间 --DATE } // ERMCP2_HIMIDDLEGOODS 项目套保品种明细扩展 message Ermcp2HIMiddleGoodsExt { optional Ermcp2HIMiddleGoods middlegoods =1; optional string middlegoodsname = 2; } //被套期项目表信息 message Ermcp2HedgedItemInfo { optional Ermcp2HedgedItemExt hedgeditemext = 1; //被套期项目 repeated Ermcp2HIMiddleGoodsExt himiddlegoodsext = 2; } // ERMCP2_AREAEXPOSURE 企业敞口表_New message Ermcp2AreaExposure { //mkey: 1 2 optional uint64 MiddleGoodsID = 1; // 套保品种 optional uint64 AreaUserID = 2; // 所属机构 optional double SpotQty = 3; // 现货总量 optional double HedgeSpotQty = 4; // 被套期现货量 optional double HedgePlanQty = 5; // 套期计划量 optional double FutureQty = 6; // 期货套期量 optional double SpotExposure = 7; // 现货敞口量 optional double TotalExposure = 8; // 总敞口量 = 现货敞口量 + 期货套期量 optional double SpRatio = 9; // 总期现比例 = 期货套期量/现货敞口量 optional double HedgedSpotExposure = 10; // 被套期现货敞口量 optional double HedgedTotalExposure = 11; // 套期敞口量 = 被套期现货敞口量+期货套期量 optional double HedgedSpRatio = 12; // 套期期现比例 = 期货套期量/被套期现货敞口量 optional double OriSpotQty = 13; // 期初现货总量 optional double OriHedgeSpotQty = 14; // 期初被套期现货量 optional double OriHedgePlanQty = 15; // 期初套期计划量 optional double OriFutureQty = 16; // 期初期货套期量 optional double OriSpotExposure = 17; // 期初现货敞口量 optional double OriTotalExposure = 18; // 期初总敞口量 optional double OriHedgedSpotExposure = 19; // 期初被套期现货敞口量 optional double OriHedgedTotalExposure = 20; // 期初套期敞口量 optional Date UpdateTime = 21; // 更新时间 --DATE optional string MiddleGoodsName = 22; //套保品种名称 optional uint32 GoodsUnitID = 23; //单位ID } // TRADE_HOLDERDETAILEX 交易持仓扩展表 message TradeHolderDetailEx { //mkey: 1 2 optional uint64 TradeID = 1; // 成交单号(101+Unix秒时间戳(10位)+2位(MarketServiceID)+xxxx) optional uint32 BuyOrSell = 2; // 方向 - 0:买 1:卖 optional string TradeDate = 3; // 交易日(yyyyMMdd) optional uint32 MarketID = 4; // 市场ID optional uint32 GoodsID = 5; // 商品ID optional uint32 UserID = 6; // 用户ID optional uint64 AccountID = 7; // 账号ID optional uint32 MatchUserID = 8; // 对手用户ID optional uint64 MatchAccountID = 9; // 对手账号ID optional uint64 OpenQty = 10; // 建仓数量 optional double TradeAmount = 11; // 成交金额 optional double OpenPrice = 12; // 建仓价格 optional uint64 HolderQty = 13; // 持仓数量 optional double HolderAmount = 14; // 持仓金额 optional double HolderPrice = 15; // 持仓价格 optional uint64 FreezeQty = 16; // 冻结数量 optional uint64 DeliveryQty = 17; // 交收手数(已交收) optional uint64 HoldDays = 18; // 持仓天数 optional double PayedDeposit = 19; // 已付定金 optional double RestockDeposit = 20; // 补充定金 optional uint64 LateFeeDays = 21; // 滞纳金起计天数 optional uint32 LateFeeAlgorithm = 22; // 滞纳金收取方式 1:比率 2:固定 optional double LateFeeValue = 23; // 滞纳金收取值 optional double CallAteFee = 24; // 已计滞纳金 optional double PromptDepositRate = 25; // 提示定金率 optional double CutDepositRate = 26; // 斩仓定金率 optional double PromptPrice = 27; // 提示价格 optional double CutPrice = 28; // 斩仓价格 optional double ClosePL = 29; // 平仓盈亏 optional double FloatPL = 30; // 浮动盈亏 optional double DepositRate = 31; // 订单定金率 optional double RefundableDeposit = 32; // 可退定金 optional double PayedLateFee = 33; // 已付滞纳金 optional string TradeTime = 34; //交易时间 optional uint32 HandleStatus = 35; //处理状态 optional double OriPayedDeposit = 36; //原始已付定金 optional double OriReStockDeposit = 37; //原始补充定金 optional uint64 CanAutoAddDeposit = 38; // 是否允许自动追加定金: 0-否 1-是(52) optional double AddDepositRate = 39; // 自动追加定金率(52) - 允许时显示 optional uint64 CanAutoRefundDeposit = 40; // 是否允许自动退还定金: 0-否 1-是(52) } // RedisTradeHolderDetailEx redis存储交易持仓扩展表 message RedisTradeHolderDetailEx { optional TradeHolderDetailEx THDetailEx = 1; // 交易持仓扩展表记录 optional double FloatPL = 2; // 浮动盈亏 optional double DepositRate = 3; // 订单定金率 optional double RefundableDeposit = 4; // 可退定金 optional string GoodsCode = 5; //商品代码 optional string GoodsName = 6; //商品名称 optional uint32 GoodsUnitID = 7; //单位 optional double AgreeUnit = 8; //合约单位 optional uint32 DecimalPlace = 9; //小数位位数 optional uint32 QuoteMinUnit = 10; //行情最小变动单位 } //保证金信息 message MarginInfoStruct{ optional uint64 AccountID = 1; // 资金账号 optional uint32 GoodsID = 2; // 商品id optional uint32 MarginAlgorithm = 3; // 保证金计算方式 optional double MarketMarginValue = 4; // 即市保证金值 optional double ReckonMarginValue = 5; // 结算保证金值 optional double LockMarginValue = 6; // 锁仓保证金 optional double RealMarginValue = 7; // 实付比例 optional uint32 RealMarginAlgorithm = 8; // 实付保证金计算方式 }