mtp2.proto 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342
  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 Date 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. }
  219. // ERMCP2_AREAEXPOSURE 企业敞口表_New
  220. message Ermcp2AreaExposure
  221. {
  222. //mkey: 1 2
  223. optional uint64 MiddleGoodsID = 1; // 套保品种
  224. optional uint64 AreaUserID = 2; // 所属机构
  225. optional double SpotQty = 3; // 现货总量
  226. optional double HedgeSpotQty = 4; // 被套期现货量
  227. optional double HedgePlanQty = 5; // 套期计划量
  228. optional double FutureQty = 6; // 期货套期量
  229. optional double SpotExposure = 7; // 现货敞口量
  230. optional double TotalExposure = 8; // 总敞口量 = 现货敞口量 + 期货套期量
  231. optional double SpRatio = 9; // 总期现比例 = 期货套期量/现货敞口量
  232. optional double HedgedSpotExposure = 10; // 被套期现货敞口量
  233. optional double HedgedTotalExposure = 11; // 套期敞口量 = 被套期现货敞口量+期货套期量
  234. optional double HedgedSpRatio = 12; // 套期期现比例 = 期货套期量/被套期现货敞口量
  235. optional double OriSpotQty = 13; // 期初现货总量
  236. optional double OriHedgeSpotQty = 14; // 期初被套期现货量
  237. optional double OriHedgePlanQty = 15; // 期初套期计划量
  238. optional double OriFutureQty = 16; // 期初期货套期量
  239. optional double OriSpotExposure = 17; // 期初现货敞口量
  240. optional double OriTotalExposure = 18; // 期初总敞口量
  241. optional double OriHedgedSpotExposure = 19; // 期初被套期现货敞口量
  242. optional double OriHedgedTotalExposure = 20; // 期初套期敞口量
  243. optional Date UpdateTime = 21; // 更新时间 --DATE
  244. optional string MiddleGoodsName = 22; //套保品种名称
  245. optional uint32 GoodsUnitID = 23; //单位ID
  246. }
  247. // TRADE_HOLDERDETAILEX 交易持仓扩展表
  248. message TradeHolderDetailEx
  249. {
  250. //mkey: 1 2
  251. optional uint64 TradeID = 1; // 成交单号(101+Unix秒时间戳(10位)+2位(MarketServiceID)+xxxx)
  252. optional uint32 BuyOrSell = 2; // 方向 - 0:买 1:卖
  253. optional string TradeDate = 3; // 交易日(yyyyMMdd)
  254. optional uint32 MarketID = 4; // 市场ID
  255. optional uint32 GoodsID = 5; // 商品ID
  256. optional uint32 UserID = 6; // 用户ID
  257. optional uint64 AccountID = 7; // 账号ID
  258. optional uint32 MatchUserID = 8; // 对手用户ID
  259. optional uint64 MatchAccountID = 9; // 对手账号ID
  260. optional uint64 OpenQty = 10; // 建仓数量
  261. optional double TradeAmount = 11; // 成交金额
  262. optional double OpenPrice = 12; // 建仓价格
  263. optional uint64 HolderQty = 13; // 持仓数量
  264. optional double HolderAmount = 14; // 持仓金额
  265. optional double HolderPrice = 15; // 持仓价格
  266. optional uint64 FreezeQty = 16; // 冻结数量
  267. optional uint64 DeliveryQty = 17; // 交收手数(已交收)
  268. optional uint64 HoldDays = 18; // 持仓天数
  269. optional double PayedDeposit = 19; // 已付定金
  270. optional double RestockDeposit = 20; // 补充定金
  271. optional uint64 LateFeeDays = 21; // 滞纳金起计天数
  272. optional uint32 LateFeeAlgorithm = 22; // 滞纳金收取方式 1:比率 2:固定
  273. optional double LateFeeValue = 23; // 滞纳金收取值
  274. optional double CallAteFee = 24; // 已计滞纳金
  275. optional double PromptDepositRate = 25; // 提示定金率
  276. optional double CutDepositRate = 26; // 斩仓定金率
  277. optional double PromptPrice = 27; // 提示价格
  278. optional double CutPrice = 28; // 斩仓价格
  279. optional double ClosePL = 29; // 平仓盈亏
  280. optional double FloatPL = 30; // 浮动盈亏
  281. optional double DepositRate = 31; // 订单定金率
  282. optional double RefundableDeposit = 32; // 可退定金
  283. optional double PayedLateFee = 33; // 已付滞纳金
  284. optional string TradeTime = 34; //交易时间
  285. optional uint32 HandleStatus = 35; //处理状态
  286. optional double OriPayedDeposit = 36; //原始已付定金
  287. optional double OriReStockDeposit = 37; //原始补充定金
  288. optional uint64 CanAutoAddDeposit = 38; // 是否允许自动追加定金: 0-否 1-是(52)
  289. optional double AddDepositRate = 39; // 自动追加定金率(52) - 允许时显示
  290. optional uint64 CanAutoRefundDeposit = 40; // 是否允许自动退还定金: 0-否 1-是(52)
  291. optional int64 ClosedDays = 41; // 剩余平仓天数(52) -1为不强平
  292. optional uint64 TPFlag = 42; // 止盈标识:0-未设置 1-设置
  293. optional double TPRatio = 43; // 止盈比例
  294. optional double TPProfitValue = 44; // 止盈盈利(正) = 占用*止盈比例
  295. optional double TPPrice = 45; // 止盈价格
  296. optional uint64 SLFlag = 46; // 止损标识:0-未设置 1-设置
  297. optional double SLRatio = 47; // 止损比例
  298. optional double SLLossValue = 48; // 止损亏损值(负) = 占用*止损比例*-1
  299. optional double SLPrice = 49; // 止损价格
  300. }
  301. // RedisTradeHolderDetailEx redis存储交易持仓扩展表
  302. message RedisTradeHolderDetailEx
  303. {
  304. optional TradeHolderDetailEx THDetailEx = 1; // 交易持仓扩展表记录
  305. optional double FloatPL = 2; // 浮动盈亏
  306. optional double DepositRate = 3; // 订单定金率
  307. optional double RefundableDeposit = 4; // 可退定金
  308. optional string GoodsCode = 5; //商品代码
  309. optional string GoodsName = 6; //商品名称
  310. optional uint32 GoodsUnitID = 7; //单位
  311. optional double AgreeUnit = 8; //合约单位
  312. optional uint32 DecimalPlace = 9; //小数位位数
  313. optional uint32 QuoteMinUnit = 10; //行情最小变动单位
  314. }
  315. //保证金信息
  316. message MarginInfoStruct{
  317. optional uint64 AccountID = 1; // 资金账号
  318. optional uint32 GoodsID = 2; // 商品id
  319. optional uint32 MarginAlgorithm = 3; // 保证金计算方式
  320. optional double MarketMarginValue = 4; // 即市保证金值
  321. optional double ReckonMarginValue = 5; // 结算保证金值
  322. optional double LockMarginValue = 6; // 锁仓保证金
  323. optional double RealMarginValue = 7; // 实付比例
  324. optional uint32 RealMarginAlgorithm = 8; // 实付保证金计算方式
  325. }