hikyuu 2.6.5__py3-none-win_amd64.whl → 2.6.7__py3-none-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. hikyuu/__init__.py +16 -0
  2. hikyuu/__init__.pyi +484 -474
  3. hikyuu/analysis/__init__.pyi +466 -445
  4. hikyuu/analysis/analysis.pyi +467 -446
  5. hikyuu/core.pyi +468 -447
  6. hikyuu/cpp/boost_date_time-mt.dll +0 -0
  7. hikyuu/cpp/boost_serialization-mt.dll +0 -0
  8. hikyuu/cpp/boost_wserialization-mt.dll +0 -0
  9. hikyuu/cpp/core310.pyd +0 -0
  10. hikyuu/cpp/core310.pyi +1070 -878
  11. hikyuu/cpp/core311.pyd +0 -0
  12. hikyuu/cpp/core311.pyi +1070 -878
  13. hikyuu/cpp/core312.pyd +0 -0
  14. hikyuu/cpp/core312.pyi +1070 -878
  15. hikyuu/cpp/core313.pyd +0 -0
  16. hikyuu/cpp/core313.pyi +1070 -876
  17. hikyuu/cpp/core39.pyd +0 -0
  18. hikyuu/cpp/core39.pyi +1070 -878
  19. hikyuu/cpp/hikyuu.dll +0 -0
  20. hikyuu/cpp/hikyuu.lib +0 -0
  21. hikyuu/cpp/i18n/__init__.py +0 -0
  22. hikyuu/cpp/i18n/zh_CN/__init__.py +0 -0
  23. hikyuu/cpp/i18n/zh_CN/hikyuu.mo +0 -0
  24. hikyuu/cpp/sqlite3.dll +0 -0
  25. hikyuu/data/clickhouse_upgrade/__init__.py +1 -0
  26. hikyuu/data/clickhouse_upgrade/createdb.sql +1085 -0
  27. hikyuu/data/common_clickhouse.py +465 -0
  28. hikyuu/data/em_block_to_clickhouse.py +120 -0
  29. hikyuu/data/hku_config_template.py +58 -3
  30. hikyuu/data/pytdx_finance_to_clickhouse.py +107 -0
  31. hikyuu/data/pytdx_to_clickhouse.py +841 -0
  32. hikyuu/data/pytdx_to_mysql.py +4 -4
  33. hikyuu/data/pytdx_weight_to_clickhouse.py +191 -0
  34. hikyuu/data/tdx_to_clickhouse.py +448 -0
  35. hikyuu/data/tdx_to_h5.py +1 -1
  36. hikyuu/data/zh_bond10_to_clickhouse.py +49 -0
  37. hikyuu/draw/__init__.pyi +1 -1
  38. hikyuu/draw/drawplot/bokeh_draw.pyi +479 -471
  39. hikyuu/draw/drawplot/echarts_draw.py +9 -8
  40. hikyuu/draw/drawplot/echarts_draw.pyi +479 -471
  41. hikyuu/draw/drawplot/matplotlib_draw.py +3 -3
  42. hikyuu/draw/drawplot/matplotlib_draw.pyi +479 -471
  43. hikyuu/draw/elder.pyi +6 -6
  44. hikyuu/draw/kaufman.py +1 -1
  45. hikyuu/draw/kaufman.pyi +10 -10
  46. hikyuu/draw/volume.pyi +5 -5
  47. hikyuu/examples/notebook/000-Index.ipynb +1 -1
  48. hikyuu/examples/notebook/001-overview.ipynb +78 -63
  49. hikyuu/examples/notebook/002-HowToGetStock.ipynb +259 -40
  50. hikyuu/examples/notebook/003-HowToGetKDataAndDraw.ipynb +49 -41
  51. hikyuu/examples/notebook/004-IndicatorOverview.ipynb +29 -29
  52. hikyuu/examples/notebook/005-Drawplot.ipynb +66 -37
  53. hikyuu/examples/notebook/006-TradeManager.ipynb +808 -61
  54. hikyuu/examples/notebook/007-SystemDetails.ipynb +23 -23
  55. hikyuu/examples/notebook/009-RealData.ipynb +3 -3
  56. hikyuu/examples/notebook/010-Portfolio.ipynb +761 -122
  57. hikyuu/extend.py +15 -100
  58. hikyuu/extend.pyi +478 -493
  59. hikyuu/fetcher/stock/zh_stock_a_pytdx.py +9 -20
  60. hikyuu/fetcher/stock/zh_stock_a_qmt.py +4 -5
  61. hikyuu/fetcher/stock/zh_stock_a_sina_qq.py +16 -60
  62. hikyuu/flat/Spot.py +96 -200
  63. hikyuu/gui/HikyuuTDX.py +134 -7
  64. hikyuu/gui/data/ImportBlockInfoTask.py +11 -0
  65. hikyuu/gui/data/ImportHistoryFinanceTask.py +15 -1
  66. hikyuu/gui/data/ImportPytdxTimeToH5Task.py +11 -1
  67. hikyuu/gui/data/ImportPytdxToH5Task.py +13 -1
  68. hikyuu/gui/data/ImportPytdxTransToH5Task.py +11 -1
  69. hikyuu/gui/data/ImportTdxToH5Task.py +13 -1
  70. hikyuu/gui/data/ImportWeightToSqliteTask.py +14 -1
  71. hikyuu/gui/data/ImportZhBond10Task.py +11 -0
  72. hikyuu/gui/data/MainWindow.py +210 -135
  73. hikyuu/gui/data/UsePytdxImportToH5Thread.py +45 -26
  74. hikyuu/gui/data/UseTdxImportToH5Thread.py +19 -1
  75. hikyuu/gui/dataserver.py +12 -4
  76. hikyuu/gui/spot_server.py +30 -40
  77. hikyuu/gui/start_qmt.py +20 -3
  78. hikyuu/hub.pyi +6 -6
  79. hikyuu/include/hikyuu/DataType.h +2 -0
  80. hikyuu/include/hikyuu/KQuery.h +22 -28
  81. hikyuu/include/hikyuu/MarketInfo.h +1 -1
  82. hikyuu/include/hikyuu/Stock.h +15 -3
  83. hikyuu/include/hikyuu/StockManager.h +12 -3
  84. hikyuu/include/hikyuu/StockTypeInfo.h +6 -0
  85. hikyuu/include/hikyuu/TransRecord.h +2 -8
  86. hikyuu/include/hikyuu/data_driver/kdata/mysql/KRecordTable.h +1 -0
  87. hikyuu/include/hikyuu/doc.h +4 -0
  88. hikyuu/include/hikyuu/global/GlobalSpotAgent.h +1 -1
  89. hikyuu/include/hikyuu/global/SpotRecord.h +15 -31
  90. hikyuu/include/hikyuu/global/agent/spot_generated.h +48 -232
  91. hikyuu/include/hikyuu/global/schedule/scheduler.h +1 -1
  92. hikyuu/include/hikyuu/indicator/Indicator.h +37 -0
  93. hikyuu/include/hikyuu/lang.h +27 -0
  94. hikyuu/include/hikyuu/plugin/KDataToHdf5Importer.h +9 -1
  95. hikyuu/include/hikyuu/plugin/dataserver.h +26 -1
  96. hikyuu/include/hikyuu/plugin/device.h +2 -1
  97. hikyuu/include/hikyuu/plugin/hkuextra.h +56 -0
  98. hikyuu/include/hikyuu/plugin/interface/DataDriverPluginInterface.h +27 -0
  99. hikyuu/include/hikyuu/plugin/interface/DataServerPluginInterface.h +2 -1
  100. hikyuu/include/hikyuu/plugin/interface/DevicePluginInterface.h +1 -1
  101. hikyuu/include/hikyuu/plugin/interface/HkuExtraPluginInterface.h +38 -0
  102. hikyuu/include/hikyuu/plugin/interface/ImportKDataToHdf5PluginInterface.h +13 -1
  103. hikyuu/include/hikyuu/plugin/interface/plugins.h +4 -0
  104. hikyuu/include/hikyuu/python/pybind_utils.h +9 -0
  105. hikyuu/include/hikyuu/strategy/Strategy.h +0 -9
  106. hikyuu/include/hikyuu/trade_manage/TradeRecord.h +1 -1
  107. hikyuu/include/hikyuu/utilities/config.h +0 -2
  108. hikyuu/include/hikyuu/utilities/os.h +9 -0
  109. hikyuu/include/hikyuu/utilities/plugin/PluginLoader.h +2 -1
  110. hikyuu/include/hikyuu/version.h +4 -4
  111. hikyuu/include/hikyuu/view/MarketView.h +59 -0
  112. hikyuu/indicator/__init__.py +0 -1
  113. hikyuu/indicator/indicator.py +14 -53
  114. hikyuu/plugin/backtest.dll +0 -0
  115. hikyuu/plugin/clickhousedriver.dll +0 -0
  116. hikyuu/plugin/dataserver.dll +0 -0
  117. hikyuu/plugin/device.dll +0 -0
  118. hikyuu/plugin/extind.dll +0 -0
  119. hikyuu/plugin/hkuextra.dll +0 -0
  120. hikyuu/plugin/import2hdf5.dll +0 -0
  121. hikyuu/plugin/tmreport.dll +0 -0
  122. hikyuu/test/test_init.py +59 -0
  123. hikyuu/test/test_real_tdx_import.py +336 -0
  124. hikyuu/test/test_tdx_import.py +315 -0
  125. hikyuu/test/test_tdx_real_data_import.py +281 -0
  126. hikyuu/trade_manage/__init__.pyi +479 -471
  127. hikyuu/trade_manage/trade.py +4 -65
  128. hikyuu/trade_manage/trade.pyi +479 -483
  129. hikyuu/trade_sys/__init__.py +11 -0
  130. hikyuu/util/__init__.py +1 -0
  131. hikyuu/util/__init__.pyi +4 -4
  132. hikyuu/util/check.py +8 -0
  133. hikyuu/util/check.pyi +5 -1
  134. hikyuu/util/singleton.pyi +1 -1
  135. {hikyuu-2.6.5.dist-info → hikyuu-2.6.7.dist-info}/METADATA +7 -5
  136. {hikyuu-2.6.5.dist-info → hikyuu-2.6.7.dist-info}/RECORD +142 -124
  137. {hikyuu-2.6.5.dist-info → hikyuu-2.6.7.dist-info}/top_level.txt +4 -3
  138. hikyuu/include/hikyuu/global/agent/hikyuu/flat/__init__.py +0 -1
  139. hikyuu/include/hikyuu/utilities/mo/__init__.py +0 -1
  140. hikyuu/include/hikyuu/utilities/mo/mo.h +0 -48
  141. hikyuu/indicator/talib_wrap.py +0 -1273
  142. /hikyuu/include/hikyuu/utilities/{mo/moFileReader.h → moFileReader.h} +0 -0
  143. /hikyuu/include/hikyuu/{global/agent/hikyuu → view}/__init__.py +0 -0
  144. {hikyuu-2.6.5.dist-info → hikyuu-2.6.7.dist-info}/LICENSE +0 -0
  145. {hikyuu-2.6.5.dist-info → hikyuu-2.6.7.dist-info}/WHEEL +0 -0
  146. {hikyuu-2.6.5.dist-info → hikyuu-2.6.7.dist-info}/entry_points.txt +0 -0
@@ -41,26 +41,15 @@ def parse_one_result(quotes):
41
41
  else:
42
42
  result['volume'] = float(quotes['vol']) # 成交的股票手数
43
43
  result['amount'] = round(quotes['amount'] * 0.0001, 2) # 成交金额,单位为“元”,若要以“万元”为成交金额的单位,需要把该值除以一万
44
- result['bid1_amount'] = float(quotes['bid_vol1']) # “买一”申请4695股,即47手
45
- result['bid1'] = float(quotes['bid1']) # “买一”报价
46
- result['bid2_amount'] = float(quotes['bid_vol2'])
47
- result['bid2'] = float(quotes['bid2'])
48
- result['bid3_amount'] = float(quotes['bid_vol3'])
49
- result['bid3'] = float(quotes['bid3'])
50
- result['bid4_amount'] = float(quotes['bid_vol4'])
51
- result['bid4'] = float(quotes['bid4'])
52
- result['bid5_amount'] = float(quotes['bid_vol5'])
53
- result['bid5'] = float(quotes['bid5'])
54
- result['ask1_amount'] = float(quotes['ask_vol1']) # “卖一”申报3100股,即31手
55
- result['ask1'] = float(quotes['ask1']) # “卖一”报价
56
- result['ask2_amount'] = float(quotes['ask_vol2'])
57
- result['ask2'] = float(quotes['ask2'])
58
- result['ask3_amount'] = float(quotes['ask_vol3'])
59
- result['ask3'] = float(quotes['ask3'])
60
- result['ask4_amount'] = float(quotes['ask_vol4'])
61
- result['ask4'] = float(quotes['ask4'])
62
- result['ask5_amount'] = float(quotes['ask_vol5'])
63
- result['ask5'] = float(quotes['ask5'])
44
+
45
+ result['bid'] = [float(quotes['bid1']), float(quotes['bid2']), float(
46
+ quotes['bid3']), float(quotes['bid4']), float(quotes['bid5'])]
47
+ result['bid_amount'] = [float(quotes['bid_vol1']), float(quotes['bid_vol2']), float(
48
+ quotes['bid_vol3']), float(quotes['bid_vol4']), float(quotes['bid_vol5'])]
49
+ result['ask'] = [float(quotes['ask1']), float(quotes['ask2']), float(
50
+ quotes['ask3']), float(quotes['ask4']), float(quotes['ask5'])]
51
+ result['ask_amount'] = [float(quotes['ask_vol1']), float(quotes['ask_vol2']), float(
52
+ quotes['ask_vol3']), float(quotes['ask_vol4']), float(quotes['ask_vol5'])]
64
53
  return result
65
54
 
66
55
 
@@ -33,11 +33,10 @@ try:
33
33
  result['amount'] = data['amount'] * 0.0001 # 转千元
34
34
  result['volume'] = data['pvolume'] * 0.01 # 转手数
35
35
 
36
- for i in range(5):
37
- result[f'bid{i+1}'] = data['bidPrice'][i]
38
- result[f'bid{i+1}_amount'] = data['bidVol'][i]
39
- result[f'ask{i+1}'] = data['askPrice'][i]
40
- result[f'ask{i+1}_amount'] = data['askVol'][i]
36
+ result['bid'] = data['bidPrice']
37
+ result['bid_amount'] = data['bidVol']
38
+ result['ask'] = data['askPrice']
39
+ result['ask_amount'] = data['askVol']
41
40
  return result
42
41
 
43
42
  def get_spot(stocklist, unused1=None, unused2=None, batch_func=None):
@@ -80,26 +80,21 @@ def parse_one_result_qq(resultstr):
80
80
  # result['amount'] = float(a[6]) # 成交量
81
81
  # 7: 外盘 ?
82
82
  # 8:内盘 ?
83
- result['bid1'] = float(a[9]) # “买一”报价
84
- result['bid1_amount'] = float(a[10]) # “买一”申请4695股,即47手
85
- result['bid2'] = float(a[11])
86
- result['bid2_amount'] = float(a[12])
87
- result['bid3'] = float(a[13])
88
- result['bid3_amount'] = float(a[14])
89
- result['bid4'] = float(a[15])
90
- result['bid4_amount'] = float(a[16])
91
- result['bid5'] = float(a[17])
92
- result['bid5_amount'] = float(a[18])
93
- result['ask1'] = float(a[19]) # “卖一”报价
94
- result['ask1_amount'] = float(a[20]) # “卖一”申报3100股,即31手
95
- result['ask2'] = float(a[21])
96
- result['ask2_amount'] = float(a[22])
97
- result['ask3'] = float(a[23])
98
- result['ask3_amount'] = float(a[24])
99
- result['ask4'] = float(a[25])
100
- result['ask4_amount'] = float(a[26])
101
- result['ask5'] = float(a[27])
102
- result['ask5_amount'] = float(a[28])
83
+ bid = []
84
+ bid_amount = []
85
+ for i in range(9, 18, 2):
86
+ bid.append(float(a[i]))
87
+ bid_amount.append(float(a[i + 1]))
88
+ result['bid'] = bid
89
+ result['bid_amount'] = bid_amount
90
+ ask = []
91
+ ask_amount = []
92
+ for i in range(19, 28, 2):
93
+ ask.append(float(a[i]))
94
+ ask_amount.append(float(a[i + 1]))
95
+ result['ask'] = ask
96
+ result['ask_amount'] = ask_amount
97
+
103
98
  # result['最近逐笔成交'] = float(a[29])
104
99
  x = a[30]
105
100
  result['datetime'] = datetime.datetime(
@@ -139,46 +134,6 @@ def request_data(querystr, parse_one_result, use_proxy=False):
139
134
  return result
140
135
 
141
136
 
142
- def get_spotV1(stocklist, source='qq', use_proxy=False, batch_func=None):
143
- """获取实时数据,获取失败时,抛出异常
144
-
145
- :param list stocklist: 股票名称列表,股票名称示例:sh000001, sz000001
146
- :param str source: 使用 sina 还是 qq 作为数据来源
147
- :param boolean: use_proxy: 是否使用代理
148
- :param function batch_func: 当网络请求返回一个批次数据时,调用该函数,通常用于向数据库写入数据
149
- """
150
- if source == 'sina':
151
- queryStr = "http://hq.sinajs.cn/list="
152
- max_size = 140
153
- parse_one_result = parse_one_result_sina
154
- hku_error("新浪接口已不再支持!")
155
- else:
156
- queryStr = "http://qt.gtimg.cn/q="
157
- max_size = 60
158
- parse_one_result = parse_one_result_qq
159
- count = 0
160
- tmpstr = queryStr
161
- result = []
162
- for stock in stocklist:
163
- tmpstr += ("%s,") % (stock)
164
- count += 1
165
- if count >= max_size:
166
- phase_result = request_data(tmpstr, parse_one_result, use_proxy)
167
- if phase_result:
168
- result.extend(phase_result)
169
- if batch_func:
170
- batch_func(phase_result)
171
- count = 0
172
- tmpstr = queryStr
173
- if tmpstr != queryStr:
174
- phase_result = request_data(tmpstr, parse_one_result, use_proxy)
175
- if phase_result:
176
- result.extend(phase_result)
177
- if batch_func:
178
- batch_func(phase_result)
179
- return result
180
-
181
-
182
137
  def get_spot(stocklist, source='sina', use_proxy=False, batch_func=None):
183
138
  """并发网络请求获取实时数据,获取失败时,抛出异常
184
139
 
@@ -188,6 +143,7 @@ def get_spot(stocklist, source='sina', use_proxy=False, batch_func=None):
188
143
  :param function batch_func: 当网络请求返回一个批次数据时,调用该函数,通常用于向数据库写入数据
189
144
  """
190
145
  if source == 'sina':
146
+ raise Exception("新浪数据源已不支持")
191
147
  queryStr = "http://hq.sinajs.cn/list="
192
148
  max_size = 140
193
149
  parse_one_result = parse_one_result_sina
hikyuu/flat/Spot.py CHANGED
@@ -102,147 +102,115 @@ class Spot(object):
102
102
  return 0.0
103
103
 
104
104
  # Spot
105
- def Bid1(self):
105
+ def Bid(self, j):
106
106
  o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(26))
107
107
  if o != 0:
108
- return self._tab.Get(flatbuffers.number_types.Float64Flags, o + self._tab.Pos)
109
- return 0.0
110
-
111
- # Spot
112
- def Bid1Amount(self):
113
- o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(28))
114
- if o != 0:
115
- return self._tab.Get(flatbuffers.number_types.Float64Flags, o + self._tab.Pos)
116
- return 0.0
117
-
118
- # Spot
119
- def Bid2(self):
120
- o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(30))
121
- if o != 0:
122
- return self._tab.Get(flatbuffers.number_types.Float64Flags, o + self._tab.Pos)
123
- return 0.0
124
-
125
- # Spot
126
- def Bid2Amount(self):
127
- o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(32))
128
- if o != 0:
129
- return self._tab.Get(flatbuffers.number_types.Float64Flags, o + self._tab.Pos)
130
- return 0.0
131
-
132
- # Spot
133
- def Bid3(self):
134
- o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(34))
135
- if o != 0:
136
- return self._tab.Get(flatbuffers.number_types.Float64Flags, o + self._tab.Pos)
137
- return 0.0
108
+ a = self._tab.Vector(o)
109
+ return self._tab.Get(flatbuffers.number_types.Float64Flags, a + flatbuffers.number_types.UOffsetTFlags.py_type(j * 8))
110
+ return 0
138
111
 
139
112
  # Spot
140
- def Bid3Amount(self):
141
- o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(36))
113
+ def BidAsNumpy(self):
114
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(26))
142
115
  if o != 0:
143
- return self._tab.Get(flatbuffers.number_types.Float64Flags, o + self._tab.Pos)
144
- return 0.0
116
+ return self._tab.GetVectorAsNumpy(flatbuffers.number_types.Float64Flags, o)
117
+ return 0
145
118
 
146
119
  # Spot
147
- def Bid4(self):
148
- o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(38))
120
+ def BidLength(self):
121
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(26))
149
122
  if o != 0:
150
- return self._tab.Get(flatbuffers.number_types.Float64Flags, o + self._tab.Pos)
151
- return 0.0
123
+ return self._tab.VectorLen(o)
124
+ return 0
152
125
 
153
126
  # Spot
154
- def Bid4Amount(self):
155
- o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(40))
156
- if o != 0:
157
- return self._tab.Get(flatbuffers.number_types.Float64Flags, o + self._tab.Pos)
158
- return 0.0
127
+ def BidIsNone(self):
128
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(26))
129
+ return o == 0
159
130
 
160
131
  # Spot
161
- def Bid5(self):
162
- o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(42))
132
+ def BidAmount(self, j):
133
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(28))
163
134
  if o != 0:
164
- return self._tab.Get(flatbuffers.number_types.Float64Flags, o + self._tab.Pos)
165
- return 0.0
135
+ a = self._tab.Vector(o)
136
+ return self._tab.Get(flatbuffers.number_types.Float64Flags, a + flatbuffers.number_types.UOffsetTFlags.py_type(j * 8))
137
+ return 0
166
138
 
167
139
  # Spot
168
- def Bid5Amount(self):
169
- o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(44))
140
+ def BidAmountAsNumpy(self):
141
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(28))
170
142
  if o != 0:
171
- return self._tab.Get(flatbuffers.number_types.Float64Flags, o + self._tab.Pos)
172
- return 0.0
143
+ return self._tab.GetVectorAsNumpy(flatbuffers.number_types.Float64Flags, o)
144
+ return 0
173
145
 
174
146
  # Spot
175
- def Ask1(self):
176
- o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(46))
147
+ def BidAmountLength(self):
148
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(28))
177
149
  if o != 0:
178
- return self._tab.Get(flatbuffers.number_types.Float64Flags, o + self._tab.Pos)
179
- return 0.0
150
+ return self._tab.VectorLen(o)
151
+ return 0
180
152
 
181
153
  # Spot
182
- def Ask1Amount(self):
183
- o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(48))
184
- if o != 0:
185
- return self._tab.Get(flatbuffers.number_types.Float64Flags, o + self._tab.Pos)
186
- return 0.0
154
+ def BidAmountIsNone(self):
155
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(28))
156
+ return o == 0
187
157
 
188
158
  # Spot
189
- def Ask2(self):
190
- o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(50))
159
+ def Ask(self, j):
160
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(30))
191
161
  if o != 0:
192
- return self._tab.Get(flatbuffers.number_types.Float64Flags, o + self._tab.Pos)
193
- return 0.0
162
+ a = self._tab.Vector(o)
163
+ return self._tab.Get(flatbuffers.number_types.Float64Flags, a + flatbuffers.number_types.UOffsetTFlags.py_type(j * 8))
164
+ return 0
194
165
 
195
166
  # Spot
196
- def Ask2Amount(self):
197
- o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(52))
167
+ def AskAsNumpy(self):
168
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(30))
198
169
  if o != 0:
199
- return self._tab.Get(flatbuffers.number_types.Float64Flags, o + self._tab.Pos)
200
- return 0.0
170
+ return self._tab.GetVectorAsNumpy(flatbuffers.number_types.Float64Flags, o)
171
+ return 0
201
172
 
202
173
  # Spot
203
- def Ask3(self):
204
- o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(54))
174
+ def AskLength(self):
175
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(30))
205
176
  if o != 0:
206
- return self._tab.Get(flatbuffers.number_types.Float64Flags, o + self._tab.Pos)
207
- return 0.0
177
+ return self._tab.VectorLen(o)
178
+ return 0
208
179
 
209
180
  # Spot
210
- def Ask3Amount(self):
211
- o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(56))
212
- if o != 0:
213
- return self._tab.Get(flatbuffers.number_types.Float64Flags, o + self._tab.Pos)
214
- return 0.0
181
+ def AskIsNone(self):
182
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(30))
183
+ return o == 0
215
184
 
216
185
  # Spot
217
- def Ask4(self):
218
- o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(58))
186
+ def AskAmount(self, j):
187
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(32))
219
188
  if o != 0:
220
- return self._tab.Get(flatbuffers.number_types.Float64Flags, o + self._tab.Pos)
221
- return 0.0
189
+ a = self._tab.Vector(o)
190
+ return self._tab.Get(flatbuffers.number_types.Float64Flags, a + flatbuffers.number_types.UOffsetTFlags.py_type(j * 8))
191
+ return 0
222
192
 
223
193
  # Spot
224
- def Ask4Amount(self):
225
- o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(60))
194
+ def AskAmountAsNumpy(self):
195
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(32))
226
196
  if o != 0:
227
- return self._tab.Get(flatbuffers.number_types.Float64Flags, o + self._tab.Pos)
228
- return 0.0
197
+ return self._tab.GetVectorAsNumpy(flatbuffers.number_types.Float64Flags, o)
198
+ return 0
229
199
 
230
200
  # Spot
231
- def Ask5(self):
232
- o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(62))
201
+ def AskAmountLength(self):
202
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(32))
233
203
  if o != 0:
234
- return self._tab.Get(flatbuffers.number_types.Float64Flags, o + self._tab.Pos)
235
- return 0.0
204
+ return self._tab.VectorLen(o)
205
+ return 0
236
206
 
237
207
  # Spot
238
- def Ask5Amount(self):
239
- o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(64))
240
- if o != 0:
241
- return self._tab.Get(flatbuffers.number_types.Float64Flags, o + self._tab.Pos)
242
- return 0.0
208
+ def AskAmountIsNone(self):
209
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(32))
210
+ return o == 0
243
211
 
244
212
  def SpotStart(builder):
245
- builder.StartObject(31)
213
+ builder.StartObject(15)
246
214
 
247
215
  def Start(builder):
248
216
  SpotStart(builder)
@@ -313,125 +281,53 @@ def SpotAddVolume(builder, volume):
313
281
  def AddVolume(builder, volume):
314
282
  SpotAddVolume(builder, volume)
315
283
 
316
- def SpotAddBid1(builder, bid1):
317
- builder.PrependFloat64Slot(11, bid1, 0.0)
318
-
319
- def AddBid1(builder, bid1):
320
- SpotAddBid1(builder, bid1)
321
-
322
- def SpotAddBid1Amount(builder, bid1Amount):
323
- builder.PrependFloat64Slot(12, bid1Amount, 0.0)
324
-
325
- def AddBid1Amount(builder, bid1Amount):
326
- SpotAddBid1Amount(builder, bid1Amount)
327
-
328
- def SpotAddBid2(builder, bid2):
329
- builder.PrependFloat64Slot(13, bid2, 0.0)
330
-
331
- def AddBid2(builder, bid2):
332
- SpotAddBid2(builder, bid2)
333
-
334
- def SpotAddBid2Amount(builder, bid2Amount):
335
- builder.PrependFloat64Slot(14, bid2Amount, 0.0)
336
-
337
- def AddBid2Amount(builder, bid2Amount):
338
- SpotAddBid2Amount(builder, bid2Amount)
339
-
340
- def SpotAddBid3(builder, bid3):
341
- builder.PrependFloat64Slot(15, bid3, 0.0)
342
-
343
- def AddBid3(builder, bid3):
344
- SpotAddBid3(builder, bid3)
345
-
346
- def SpotAddBid3Amount(builder, bid3Amount):
347
- builder.PrependFloat64Slot(16, bid3Amount, 0.0)
348
-
349
- def AddBid3Amount(builder, bid3Amount):
350
- SpotAddBid3Amount(builder, bid3Amount)
351
-
352
- def SpotAddBid4(builder, bid4):
353
- builder.PrependFloat64Slot(17, bid4, 0.0)
354
-
355
- def AddBid4(builder, bid4):
356
- SpotAddBid4(builder, bid4)
357
-
358
- def SpotAddBid4Amount(builder, bid4Amount):
359
- builder.PrependFloat64Slot(18, bid4Amount, 0.0)
360
-
361
- def AddBid4Amount(builder, bid4Amount):
362
- SpotAddBid4Amount(builder, bid4Amount)
363
-
364
- def SpotAddBid5(builder, bid5):
365
- builder.PrependFloat64Slot(19, bid5, 0.0)
366
-
367
- def AddBid5(builder, bid5):
368
- SpotAddBid5(builder, bid5)
369
-
370
- def SpotAddBid5Amount(builder, bid5Amount):
371
- builder.PrependFloat64Slot(20, bid5Amount, 0.0)
372
-
373
- def AddBid5Amount(builder, bid5Amount):
374
- SpotAddBid5Amount(builder, bid5Amount)
375
-
376
- def SpotAddAsk1(builder, ask1):
377
- builder.PrependFloat64Slot(21, ask1, 0.0)
378
-
379
- def AddAsk1(builder, ask1):
380
- SpotAddAsk1(builder, ask1)
381
-
382
- def SpotAddAsk1Amount(builder, ask1Amount):
383
- builder.PrependFloat64Slot(22, ask1Amount, 0.0)
384
-
385
- def AddAsk1Amount(builder, ask1Amount):
386
- SpotAddAsk1Amount(builder, ask1Amount)
387
-
388
- def SpotAddAsk2(builder, ask2):
389
- builder.PrependFloat64Slot(23, ask2, 0.0)
284
+ def SpotAddBid(builder, bid):
285
+ builder.PrependUOffsetTRelativeSlot(11, flatbuffers.number_types.UOffsetTFlags.py_type(bid), 0)
390
286
 
391
- def AddAsk2(builder, ask2):
392
- SpotAddAsk2(builder, ask2)
287
+ def AddBid(builder, bid):
288
+ SpotAddBid(builder, bid)
393
289
 
394
- def SpotAddAsk2Amount(builder, ask2Amount):
395
- builder.PrependFloat64Slot(24, ask2Amount, 0.0)
290
+ def SpotStartBidVector(builder, numElems):
291
+ return builder.StartVector(8, numElems, 8)
396
292
 
397
- def AddAsk2Amount(builder, ask2Amount):
398
- SpotAddAsk2Amount(builder, ask2Amount)
293
+ def StartBidVector(builder, numElems):
294
+ return SpotStartBidVector(builder, numElems)
399
295
 
400
- def SpotAddAsk3(builder, ask3):
401
- builder.PrependFloat64Slot(25, ask3, 0.0)
296
+ def SpotAddBidAmount(builder, bidAmount):
297
+ builder.PrependUOffsetTRelativeSlot(12, flatbuffers.number_types.UOffsetTFlags.py_type(bidAmount), 0)
402
298
 
403
- def AddAsk3(builder, ask3):
404
- SpotAddAsk3(builder, ask3)
299
+ def AddBidAmount(builder, bidAmount):
300
+ SpotAddBidAmount(builder, bidAmount)
405
301
 
406
- def SpotAddAsk3Amount(builder, ask3Amount):
407
- builder.PrependFloat64Slot(26, ask3Amount, 0.0)
302
+ def SpotStartBidAmountVector(builder, numElems):
303
+ return builder.StartVector(8, numElems, 8)
408
304
 
409
- def AddAsk3Amount(builder, ask3Amount):
410
- SpotAddAsk3Amount(builder, ask3Amount)
305
+ def StartBidAmountVector(builder, numElems):
306
+ return SpotStartBidAmountVector(builder, numElems)
411
307
 
412
- def SpotAddAsk4(builder, ask4):
413
- builder.PrependFloat64Slot(27, ask4, 0.0)
308
+ def SpotAddAsk(builder, ask):
309
+ builder.PrependUOffsetTRelativeSlot(13, flatbuffers.number_types.UOffsetTFlags.py_type(ask), 0)
414
310
 
415
- def AddAsk4(builder, ask4):
416
- SpotAddAsk4(builder, ask4)
311
+ def AddAsk(builder, ask):
312
+ SpotAddAsk(builder, ask)
417
313
 
418
- def SpotAddAsk4Amount(builder, ask4Amount):
419
- builder.PrependFloat64Slot(28, ask4Amount, 0.0)
314
+ def SpotStartAskVector(builder, numElems):
315
+ return builder.StartVector(8, numElems, 8)
420
316
 
421
- def AddAsk4Amount(builder, ask4Amount):
422
- SpotAddAsk4Amount(builder, ask4Amount)
317
+ def StartAskVector(builder, numElems):
318
+ return SpotStartAskVector(builder, numElems)
423
319
 
424
- def SpotAddAsk5(builder, ask5):
425
- builder.PrependFloat64Slot(29, ask5, 0.0)
320
+ def SpotAddAskAmount(builder, askAmount):
321
+ builder.PrependUOffsetTRelativeSlot(14, flatbuffers.number_types.UOffsetTFlags.py_type(askAmount), 0)
426
322
 
427
- def AddAsk5(builder, ask5):
428
- SpotAddAsk5(builder, ask5)
323
+ def AddAskAmount(builder, askAmount):
324
+ SpotAddAskAmount(builder, askAmount)
429
325
 
430
- def SpotAddAsk5Amount(builder, ask5Amount):
431
- builder.PrependFloat64Slot(30, ask5Amount, 0.0)
326
+ def SpotStartAskAmountVector(builder, numElems):
327
+ return builder.StartVector(8, numElems, 8)
432
328
 
433
- def AddAsk5Amount(builder, ask5Amount):
434
- SpotAddAsk5Amount(builder, ask5Amount)
329
+ def StartAskAmountVector(builder, numElems):
330
+ return SpotStartAskAmountVector(builder, numElems)
435
331
 
436
332
  def SpotEnd(builder):
437
333
  return builder.EndObject()