mtp2.proto 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  1. syntax = "proto2";
  2. package pb;
  3. //交易规则信息子集
  4. message TradeRule{
  5. optional uint32 RuleID = 1; // 交易规则ID
  6. optional double ParamValue = 2; // 参数值
  7. }
  8. //交易规则信息
  9. message TradeRuleInfoStruct{
  10. optional uint64 AccountID = 1; // 资金账号
  11. optional uint32 GoodsID = 2; // 商品id
  12. repeated TradeRule TradeRules = 3; // 交易规则
  13. }
  14. // 日期类型定义
  15. message Date {
  16. optional string DateStr = 1; // 日期时间
  17. }
  18. // ERMS2_ARBITRAGESTRATEGY 期现套利策略表
  19. message Erms2ArbitrageStrategy
  20. {
  21. //mkey: 1
  22. optional uint64 ASApplyId = 1; // 策略申请ID(702+Unix秒时间戳(10位)+xxxxxx)
  23. optional string ASNo = 2; // 策略编号
  24. optional uint32 BizType = 3; // 业务类型 - 1:正向套利 -1:反向套利
  25. optional uint32 UserId = 4; // 所属机构
  26. optional uint32 DeliveryGoodsId = 5; // 现货品种ID
  27. optional uint32 GoodsGroupId = 6; // 期货品种ID
  28. optional double SpotQuota = 7; // 现货额度
  29. optional double FutureQuote = 8; // 期货额度
  30. optional double ApplyBasis = 9; // 申请基差
  31. optional uint32 StrategyStatus = 10; // 策略状态 - 0:未结束 1:已结束
  32. optional string Remark = 11; // 备注
  33. optional uint32 MarketId = 12; // 市场ID
  34. optional string TradeDate = 13; // 交易日(yyyyMMdd)
  35. optional string CloseTradeDate = 14; // 完结交易日(yyyyMMdd)
  36. optional double UsedQuota = 15; // 已占用资金
  37. optional double FutureQty = 16; // 期货持仓数量
  38. optional double FutureAvgPrice = 17; // 期货建仓均价
  39. optional double FuturePL = 18; // 期货总盈亏[结算更新]
  40. optional double PricedSpotQty = 19; // 已定价现货数量
  41. optional double PricedSpotQtyNoTax = 20; // 已定价现货不含税数量
  42. optional double SpotavgPrice = 21; // 现货均价
  43. optional double SpotPL = 22; // 现货总盈亏[结算更新]
  44. optional double NetExposure = 23; // 单笔业务头寸净敞口 = 期货持仓数量 + 已定价现货不含税数量
  45. optional double NetExposureRate = 24; // 净敞口比例 - 0:未结束 = (NetExposure/PriceSpotQtyNoTax) ; 已结束为0
  46. optional double TotalPL = 25; // 业务合计损益 = FuturePL + SpotPL [结算更新]
  47. optional double OpenBasis = 26; // 建仓基差
  48. optional double CurBasis = 27; // 当前基差[结算更新]
  49. optional double BasisChangePL = 28; // 基差变动损益[结算更新]
  50. optional double NetExposurePL = 29; // 净敞口损益 = TotalPL - BasisChangePL[结算更新]
  51. optional double SpotUsedQuota = 30; // 现货占用资金
  52. optional double FutureOpenQty = 31; // 期货开仓数量
  53. optional double FutureOpenAmount = 32; // 期货开仓金额
  54. optional double FutureCloseQty = 33; // 期货平仓数量
  55. optional double FutureCloseAmount = 34; // 期货平仓金额
  56. optional double SpotBuyAmount = 35; // 现货采购金额
  57. optional double SpotBuyQty = 36; // 现货采购数量
  58. optional double SpotSellAmount = 37; // 现货销售金额
  59. optional double SpotSellQty = 38; // 现货销售数量
  60. optional Date UpDatetime = 39; // 更新时间
  61. optional string ASName = 40; // 策略名称
  62. }
  63. // ERMCP_AREASPOT 企业现货表
  64. message ErmcpAreaSpot
  65. {
  66. //mkey: 1 2
  67. optional uint32 WrStandardID = 1; // 现货商品ID
  68. optional uint32 AreaUserID = 2; // 所属机构
  69. optional double OriBuyPlanQty = 3; // 期初采购计划数量
  70. optional double OriBuyPricedQty = 4; // 期初采购合同已定价数量
  71. optional double OriSellPlanQty = 5; // 期初销售计划数量
  72. optional double OriSellPricedQty = 6; // 期初销售合同已定价数量
  73. optional double BuyPlanQty = 7; // 采购计划数量
  74. optional double BuyPricedQty = 8; // 采购合同已定价数量
  75. optional double SellPlanQty = 9; // 销售计划数量
  76. optional double SellPricedQty = 10; // 销售合同已定价数量
  77. optional double TotalSpotQty = 11; // 现货头寸总量 = (销售计划数量 - 销售已定价数量) - (采购计划数量 - 采购已定价数量)
  78. optional Date UpdateTime = 12; // 更新时间
  79. }
  80. // ERMCP_AREAEXPOSURE 企业敞口表
  81. message ErmcpAreaExposure
  82. {
  83. //mkey: 1 2
  84. //nkey: 1
  85. optional uint32 MiddleGoodsID = 1; // 套保品种
  86. optional uint32 AreaUserID = 2; // 所属机构
  87. optional double OriBuyPlanQty = 3; // 期初采购计划数量
  88. optional double OriBuyPricedQty = 4; // 期初采购合同已定价数量
  89. optional double OriSellPlanQty = 5; // 期初销售计划数量
  90. optional double OriSellPricedQty = 6; // 期初销售合同已定价数量
  91. optional uint64 OriBuyFutureQty = 7; // 期初买入期货数量
  92. optional uint64 OriSellFutureQty = 8; // 期初卖出期货数量
  93. optional double BuyPlanQty = 9; // 采购计划数量
  94. optional double BuyPricedQty = 10; // 采购合同已定价数量
  95. optional double SellPlanQty = 11; // 销售计划数量
  96. optional double SellPricedQty = 12; // 销售合同已定价数量
  97. optional double BuyFutureQty = 13; // 买入期货数量
  98. optional double SellFutureQty = 14; // 卖出期货数量
  99. optional double TotalSpotQty = 15; // 现货头寸总量
  100. optional double TotalFutureQty = 16; // 期货头寸总量
  101. optional double TotalExposure = 17; // 实时总敞口
  102. optional double TotalHedgeRatio = 18; // 总套保比率
  103. optional double TotalNeedHedgeQty = 19; // 应套保总量
  104. optional double NeedHedgeExposoure = 20; // 应套保敞口
  105. optional double NeedHedgeRatio = 21; // 应套保比率
  106. optional Date UpdateTime = 22; // 更新时间
  107. }
  108. // GoodsMarginCfgStruct 商品保证金配置
  109. message GoodsMarginCfgStruct
  110. {
  111. optional uint32 GoodsID = 1; // 商品ID
  112. optional uint32 CustomerTypeID = 2; // 投资者客户类型
  113. optional uint32 MarginAlgorithm = 3; // 保证金计算方式
  114. optional double MarketMarginValue = 4; // 即市保证金值
  115. optional double ReckonMarginValue = 5; // 结算保证金值
  116. optional double LockMarginValue = 6; // 锁仓保证金
  117. optional double RealMarginValue = 7; // 实付比例
  118. optional uint32 RealMarginAlgorithm = 8; // 实付保证金计算方式
  119. optional uint32 IsDefault = 9; // 是否默认标志位
  120. }
  121. // ERMCP2_HEDGEDITEM 被套期项目表
  122. message Ermcp2HedgedItem
  123. {
  124. //mkey: 1
  125. optional uint64 HedgedItemID = 1; // 被套期项目ID(624+Unix秒时间戳(10位)+xxxxxx)
  126. optional string HedgedItemNum = 2; // 项目编号
  127. optional string HedgedItemName = 3; // 项目名称
  128. optional uint64 HedgedType = 4; // 套期类型 - 1:采购计划项目 2:销售计划项目 3:现货贸易项目 4:库存存货项目 5:定价采购合同项目
  129. optional Date PlanStartDate = 5; // 计划开始日期 --DATE
  130. optional Date PlanEndDate = 6; // 计划结束日期 --DATE
  131. optional double HedgeRate = 7; // 套保比率
  132. optional uint64 TradeUserID = 8; // 交易用户ID
  133. optional uint64 AreaUserID = 9; // 企业ID
  134. optional uint64 HedgedItemStatus = 10; // 项目状态 - 0:未提交 1:待审核 2:执行中 3:正常完结 4:审核拒绝 5:异常完结 6:已撤回
  135. optional uint64 ApplySrc = 11; // 申请来源 - 1:管理端 2:终端
  136. optional uint64 ApplyID = 12; // 申请人
  137. optional string Remark = 13; // 备注
  138. optional string CreateTime = 14; // 申请时间 --DATE
  139. optional string AuditTradeDate = 15; // 审核交易日(yyyyMMdd)
  140. optional uint64 AuditID = 16; // 审核人
  141. optional uint64 AuditSrc = 17; // 审核来源 - 1:管理端 2:终端
  142. optional string AuditTime = 18; // 审核时间 --DATE
  143. optional string AuditRemark = 19; // 审核备注
  144. optional uint64 DeliveryGoodsID = 20; // 现货品种ID
  145. optional uint64 WrStandardID = 21; // 现货商品ID
  146. optional double VatRate = 22; // 增值税
  147. optional double HedgeQty = 23; // 套期现货量
  148. optional double HedgeAmount = 24; // 套期市价总额
  149. optional double HedgeRestAmount = 25; // 套期剩余市价总额【现货贸易】
  150. optional double HedgeContractAmount = 26; // 套期定价总额 【定价采购合同】【现货贸易】
  151. optional double OriAvgPrice = 27; // 期初市场均价 = 套期市价总额 / 套期现货量
  152. optional double ExeQty = 28; // 执行现货量
  153. optional double ExeAmount = 29; // 执行市价总额
  154. optional double ExeRestAmount = 30; // 执行剩余市价总额【现货贸易】
  155. optional double ExeAvgPrice = 31; // 执行市场均价= 执行市价总额 / 执行现货量
  156. optional double ExeContractAmount = 32; // 执行定价总额
  157. optional double CurPrice = 33; // 当前市场价
  158. optional double UnExeQty = 34; // 未执行现货量 = 套期现货量 - 执行现货量
  159. optional double SpotHedgePL = 35; // 现货套期损益 =(执行市场均价-期初市场均价)*执行现货量 * 方向(销售计划 为 -1, 其它为1)
  160. optional double SpotPL = 36; // 现货套期损益 = 现货实际损益 + 现货浮动损益
  161. optional double FutureHedgePL = 37; // 期货实际损益
  162. optional double FuturePL = 38; // 期货套期损益
  163. optional double HedgeSumPL = 39; // 套期汇总损益 = 期货汇总损益 + 现货汇总损益
  164. optional double SpotTradePL = 40; // 现货贸易损益【现货贸易】= 执行合同定价总额 - 套期合同定价总额
  165. optional double VatPL = 41; // 增值税损益【现货贸易】= 现货贸易损益 * (增值税率 /(1+增值税率))
  166. optional double SumObsPL = 42; // 汇总绝对损益【现货贸易】=现货贸易损益+增值税损益+期货套期损益
  167. optional double SpotBookAmount = 43; // 现货账面总额
  168. optional double CurStock = 44; // 期末库存量 = 采购总量 - 销售总量
  169. optional Date EndDate = 45; // 完成日期 --DATE
  170. optional string EndTradeDate = 46; // 完成交易日
  171. optional Date UpdateTime = 47; // 更新时间 --DATE
  172. optional double OriSpotHedgePL = 48; // 期初现货实际损益
  173. optional double OriFutureHedgePL = 49; // 期初期货实际损益
  174. optional double OriSpotPL = 50; // 期初现货套期损益
  175. optional double OriFuturePL = 51; // 期初期货套期损益
  176. optional double SpotFloatPL = 52; // 现货浮动损益 =(当前市场价 - 期初市场价)*未执行现货量 * 方向(销售计划 为 -1, 其它为1)
  177. optional double FutureFloatPL = 53; // 期货浮动损益
  178. optional uint32 IsRelated = 54; //是否关联 - 0:未关联 1:已关联
  179. }
  180. // ERMCP2_HEDGEDITEM 被套期项目表扩展
  181. message Ermcp2HedgedItemExt
  182. {
  183. optional Ermcp2HedgedItem item = 1;
  184. optional string accountname = 2;
  185. optional string wrstandardname = 3;
  186. optional uint32 unitid = 4;
  187. }
  188. // ERMCP2_HIMIDDLEGOODS 项目套保品种明细
  189. message Ermcp2HIMiddleGoods
  190. {
  191. //mkey: 1 2
  192. optional uint64 HedgedItemID = 1; // 被套期项目ID(624+Unix秒时间戳(10位)+xxxxxx)
  193. optional uint64 MiddleGoodsID = 2; // 套保品种ID
  194. optional uint64 DeliveryGoodsID = 3; // 现货品种ID
  195. optional uint64 WrstandardID = 4; // 现货商品ID
  196. optional double VatRate = 5; // 增值税
  197. optional double SpotConvertRatio = 6; // 折算系数 [现货]
  198. optional double UnexeSpotQty = 7; // 未执行现货量
  199. optional double UnexeHedgeQty = 8; // 未执行套期量 = 未执行现货量*折算系数* (1/(1+增值税)) * 套期比例(项目上)
  200. optional double FutureHedgeQty = 9; // 期货持仓套期量
  201. optional double HIExpsoure = 10; // 期现敞口量 = 未执行套期量 + 期货持仓套期量
  202. optional uint64 TradeUserID = 11; // 交易用户ID
  203. optional uint64 AreaUserID = 12; // 企业ID
  204. optional Date CreateTime = 13; // 创建时间 --DATE
  205. optional Date UpdateTime = 14; // 更新时间 --DATE
  206. }
  207. // ERMCP2_HIMIDDLEGOODS 项目套保品种明细扩展
  208. message Ermcp2HIMiddleGoodsExt
  209. {
  210. optional Ermcp2HIMiddleGoods middlegoods =1;
  211. optional string middlegoodsname = 2;
  212. }
  213. //被套期项目表信息
  214. message Ermcp2HedgedItemInfo
  215. {
  216. optional Ermcp2HedgedItemExt hedgeditemext = 1; //被套期项目
  217. repeated Ermcp2HIMiddleGoodsExt himiddlegoodsext = 2;
  218. }