quant1x 0.7.9.dev1__py3-none-any.whl → 0.7.9.dev2__py3-none-any.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 (248) hide show
  1. {quant1x-0.7.9.dev1.dist-info → quant1x-0.7.9.dev2.dist-info}/METADATA +1 -1
  2. quant1x-0.7.9.dev2.dist-info/RECORD +210 -0
  3. quant1x/command/app.go +0 -150
  4. quant1x/command/command_flag.go +0 -97
  5. quant1x/command/command_update.go +0 -114
  6. quant1x/config/base.go +0 -16
  7. quant1x/config/config.go +0 -175
  8. quant1x/config/config_exchange.go +0 -31
  9. quant1x/config/config_test.go +0 -282
  10. quant1x/config/number_range.go +0 -152
  11. quant1x/config/number_range_test.go +0 -72
  12. quant1x/config/rule_parameter.go +0 -63
  13. quant1x/config/strategy_parameter.go +0 -56
  14. quant1x/config/trader_parameter.go +0 -141
  15. quant1x/config/trading_session.go +0 -11
  16. quant1x/contrib/data/tdx/datasource.go +0 -63
  17. quant1x/contrib/data/tdx/kline.go +0 -221
  18. quant1x/contrib/data/tdx/kline_raw.go +0 -133
  19. quant1x/contrib/data/tdx/sector.go +0 -43
  20. quant1x/contrib/data/tdx/tdx_test.go +0 -17
  21. quant1x/contrib/data/tdx/trans.go +0 -344
  22. quant1x/contrib/data/tdx/xdxr.go +0 -119
  23. quant1x/core/base.go +0 -184
  24. quant1x/core/base_test.go +0 -18
  25. quant1x/core/decode.go +0 -170
  26. quant1x/core/decode_test.go +0 -91
  27. quant1x/core/defaults.go +0 -259
  28. quant1x/core/defaults_test.go +0 -61
  29. quant1x/core/mic/doc.go +0 -13
  30. quant1x/data/adapter.go +0 -229
  31. quant1x/data/adjustment_factor.go +0 -57
  32. quant1x/data/base.go +0 -17
  33. quant1x/data/datasource.go +0 -63
  34. quant1x/data/f10.go +0 -38
  35. quant1x/data/feature.go +0 -1
  36. quant1x/data/kline.go +0 -48
  37. quant1x/data/kline_raw.go +0 -116
  38. quant1x/data/market.go +0 -22
  39. quant1x/data/meta/cache.go +0 -67
  40. quant1x/data/meta/calendar.go +0 -347
  41. quant1x/data/meta/calendar_test.go +0 -67
  42. quant1x/data/meta/exchange.go +0 -234
  43. quant1x/data/meta/frequency.go +0 -194
  44. quant1x/data/meta/instrument.go +0 -259
  45. quant1x/data/meta/region.go +0 -77
  46. quant1x/data/meta/session.go +0 -805
  47. quant1x/data/meta/session_test.go +0 -40
  48. quant1x/data/meta/sina/decode_test.go +0 -28
  49. quant1x/data/meta/sina/decoder.go +0 -611
  50. quant1x/data/meta/timestamp.go +0 -406
  51. quant1x/data/meta/timestamp_test.go +0 -368
  52. quant1x/data/storage/csv.go +0 -58
  53. quant1x/data/trans.go +0 -55
  54. quant1x/data/update.go +0 -237
  55. quant1x/data/xdxr.go +0 -56
  56. quant1x/encoding/base64/base64.go +0 -71
  57. quant1x/encoding/base64/base64_test.go +0 -28
  58. quant1x/encoding/binary/cstruct/buffer.go +0 -917
  59. quant1x/encoding/binary/cstruct/common.go +0 -13
  60. quant1x/encoding/binary/cstruct/decode.go +0 -5
  61. quant1x/encoding/binary/cstruct/encode.go +0 -10
  62. quant1x/encoding/binary/cstruct/pointer_unsafe.go +0 -243
  63. quant1x/encoding/binary/cstruct/properties.go +0 -222
  64. quant1x/encoding/binary/cstruct/struct_test.go +0 -47
  65. quant1x/encoding/binary/cstruct/tests/array_test.go +0 -81
  66. quant1x/encoding/binary/cstruct/tests/nil_test.go +0 -107
  67. quant1x/encoding/binary/cstruct/tests/slice_ignore_nil_test.go +0 -72
  68. quant1x/encoding/binary/cstruct/tests/slice_struct_test.go +0 -71
  69. quant1x/encoding/binary/cstruct/tests/x_test.go +0 -433
  70. quant1x/encoding/binary/struc/bench_test.go +0 -203
  71. quant1x/encoding/binary/struc/binary.go +0 -52
  72. quant1x/encoding/binary/struc/custom.go +0 -33
  73. quant1x/encoding/binary/struc/custom_float16.go +0 -78
  74. quant1x/encoding/binary/struc/custom_float16_test.go +0 -56
  75. quant1x/encoding/binary/struc/custom_test.go +0 -317
  76. quant1x/encoding/binary/struc/field.go +0 -288
  77. quant1x/encoding/binary/struc/field_test.go +0 -77
  78. quant1x/encoding/binary/struc/fields.go +0 -177
  79. quant1x/encoding/binary/struc/fields_test.go +0 -81
  80. quant1x/encoding/binary/struc/legacy.go +0 -16
  81. quant1x/encoding/binary/struc/packable_test.go +0 -123
  82. quant1x/encoding/binary/struc/packer.go +0 -13
  83. quant1x/encoding/binary/struc/parse.go +0 -230
  84. quant1x/encoding/binary/struc/parse_test.go +0 -62
  85. quant1x/encoding/binary/struc/struc.go +0 -122
  86. quant1x/encoding/binary/struc/struc_test.go +0 -310
  87. quant1x/encoding/binary/struc/test_pack_init/doc.go +0 -4
  88. quant1x/encoding/binary/struc/test_pack_init/pack_init_test.go +0 -30
  89. quant1x/encoding/binary/struc/types.go +0 -136
  90. quant1x/encoding/binary/struc/types_test.go +0 -53
  91. quant1x/encoding/charsets.go +0 -23
  92. quant1x/encoding/csv.go +0 -58
  93. quant1x/exchange/calendar.go +0 -347
  94. quant1x/exchange/calendar_test.go +0 -67
  95. quant1x/exchange/code.go +0 -230
  96. quant1x/exchange/code_deprecated.go +0 -272
  97. quant1x/exchange/exchange.go +0 -124
  98. quant1x/exchange/instrument.go +0 -204
  99. quant1x/exchange/rule.go +0 -548
  100. quant1x/exchange/rule_test.go +0 -70
  101. quant1x/exchange/session.go +0 -327
  102. quant1x/exchange/sina/decode_test.go +0 -28
  103. quant1x/exchange/sina/decoder.go +0 -611
  104. quant1x/exchange/status.go +0 -67
  105. quant1x/exchange/timestamp.go +0 -406
  106. quant1x/exchange/timestamp_test.go +0 -235
  107. quant1x/factors/base.go +0 -276
  108. quant1x/factors/base_test.go +0 -233
  109. quant1x/factors/doc.go +0 -4
  110. quant1x/io/connection_pool.go +0 -352
  111. quant1x/io/connection_pool_test.go +0 -99
  112. quant1x/io/endpoint.go +0 -191
  113. quant1x/io/endpoint_test.go +0 -89
  114. quant1x/io/http.go +0 -233
  115. quant1x/io/http_test.go +0 -51
  116. quant1x/io/operation_handler.go +0 -25
  117. quant1x/learn/bayesian/naive.go +0 -90
  118. quant1x/learn/bayesian/naive_test.go +0 -36
  119. quant1x/learn/cluster/cluster.go +0 -204
  120. quant1x/learn/cluster/cluster_trade_tick.go +0 -251
  121. quant1x/learn/cluster/cluster_trade_transaction.go +0 -6
  122. quant1x/learn/cluster/dbscan.go +0 -157
  123. quant1x/learn/cluster/dbscan_test.go +0 -486
  124. quant1x/learn/cluster/k-means.go +0 -396
  125. quant1x/learn/cluster/k-means_analysis.go +0 -183
  126. quant1x/learn/cluster/k-means_test.go +0 -56
  127. quant1x/learn/doc.go +0 -2
  128. quant1x/learn/fpgrowth/fp_growth.go +0 -70
  129. quant1x/learn/fpgrowth/fp_growth_core.go +0 -326
  130. quant1x/learn/fpgrowth/fp_growth_test.go +0 -51
  131. quant1x/learn/nn/neural-network.go +0 -197
  132. quant1x/learn/nn/neural-network_test.go +0 -38
  133. quant1x/learn/preprocessing/standard_scaler.go +0 -136
  134. quant1x/level1/block_info.go +0 -78
  135. quant1x/level1/block_meta.go +0 -70
  136. quant1x/level1/client.go +0 -290
  137. quant1x/level1/client_test.go +0 -290
  138. quant1x/level1/config.go +0 -219
  139. quant1x/level1/finance_info.go +0 -327
  140. quant1x/level1/finance_info_test.go +0 -31
  141. quant1x/level1/heartbeat.go +0 -43
  142. quant1x/level1/hello1.go +0 -68
  143. quant1x/level1/hello2.go +0 -44
  144. quant1x/level1/helpers.go +0 -260
  145. quant1x/level1/protocol.go +0 -287
  146. quant1x/level1/security_bars.go +0 -284
  147. quant1x/level1/security_list.go +0 -132
  148. quant1x/level1/security_list_test.go +0 -59
  149. quant1x/level1/security_quote.go +0 -388
  150. quant1x/level1/transaction.go +0 -38
  151. quant1x/level1/transaction_data.go +0 -153
  152. quant1x/level1/transaction_history.go +0 -162
  153. quant1x/level1/xdxr_info.go +0 -299
  154. quant1x/log/logger.go +0 -177
  155. quant1x/log/logger_config.go +0 -179
  156. quant1x/log/logger_monitor.go +0 -20
  157. quant1x/log/logger_test.go +0 -25
  158. quant1x/log/logger_wapper.go +0 -41
  159. quant1x/market/blocks.go +0 -458
  160. quant1x/market/blocks_test.go +0 -24
  161. quant1x/market/doc.go +0 -2
  162. quant1x/market/finance.go +0 -3
  163. quant1x/market/instruments.go +0 -165
  164. quant1x/market/instruments_test.go +0 -11
  165. quant1x/market/security.go +0 -170
  166. quant1x/market/security_test.go +0 -24
  167. quant1x/proto/security_info.pb.go +0 -496
  168. quant1x/runtime/application.go +0 -24
  169. quant1x/runtime/compile.go +0 -13
  170. quant1x/runtime/compile_debug.go +0 -9
  171. quant1x/runtime/compile_release.go +0 -9
  172. quant1x/runtime/context.go +0 -108
  173. quant1x/runtime/context_log.go +0 -17
  174. quant1x/runtime/context_test.go +0 -10
  175. quant1x/runtime/core.go +0 -40
  176. quant1x/runtime/cpu.go +0 -12
  177. quant1x/runtime/crash.go +0 -58
  178. quant1x/runtime/crash_test.go +0 -37
  179. quant1x/runtime/once.go +0 -189
  180. quant1x/runtime/ringbuffer.go +0 -208
  181. quant1x/runtime/ringbuffer_test.go +0 -489
  182. quant1x/runtime/scheduler.go +0 -313
  183. quant1x/runtime/scheduler_test.go +0 -154
  184. quant1x/runtime/stdlib.go +0 -66
  185. quant1x/runtime/stdlib_test.go +0 -27
  186. quant1x/std/argparse/argparse.go +0 -2647
  187. quant1x/std/argparse/argparse_test.go +0 -1339
  188. quant1x/std/base.go +0 -2
  189. quant1x/std/bits.go +0 -51
  190. quant1x/std/bits_test.go +0 -139
  191. quant1x/std/cache/cache.go +0 -313
  192. quant1x/std/cache/cache_test.go +0 -64
  193. quant1x/std/cache/embed.go +0 -43
  194. quant1x/std/cache/embed_test.go +0 -20
  195. quant1x/std/cache/mmap_common.go +0 -15
  196. quant1x/std/cache/mmap_posix.go +0 -46
  197. quant1x/std/cache/mmap_windows.go +0 -91
  198. quant1x/std/cache/pool.go +0 -39
  199. quant1x/std/cache/pool_test.go +0 -39
  200. quant1x/std/closer.go +0 -10
  201. quant1x/std/concurrent.go +0 -1
  202. quant1x/std/cpu/cache_line_size.go +0 -8
  203. quant1x/std/cron.go +0 -440
  204. quant1x/std/cron_test.go +0 -133
  205. quant1x/std/embed.go +0 -59
  206. quant1x/std/embed_test.go +0 -20
  207. quant1x/std/except.go +0 -39
  208. quant1x/std/filesystem.go +0 -233
  209. quant1x/std/filesystem_test.go +0 -166
  210. quant1x/std/fs/filepath.go +0 -63
  211. quant1x/std/fs/filepath_test.go +0 -34
  212. quant1x/std/hex.go +0 -13
  213. quant1x/std/hex_test.go +0 -37
  214. quant1x/std/mem/page.go +0 -23
  215. quant1x/std/mem/page_test.go +0 -29
  216. quant1x/std/mem/pointer.go +0 -1
  217. quant1x/std/mem/size.go +0 -18
  218. quant1x/std/meta/tags.go +0 -122
  219. quant1x/std/numeric.go +0 -270
  220. quant1x/std/numeric_test.go +0 -64
  221. quant1x/std/parallel.go +0 -1
  222. quant1x/std/routine.go +0 -10
  223. quant1x/std/routine_test.go +0 -11
  224. quant1x/std/signal/notify.go +0 -16
  225. quant1x/std/signal/signal_posix.go +0 -10
  226. quant1x/std/signal/signal_windows.go +0 -10
  227. quant1x/std/slices.go +0 -23
  228. quant1x/std/strings.go +0 -102
  229. quant1x/std/strings_bytes_above_120.go +0 -17
  230. quant1x/std/strings_bytes_below_120.go +0 -23
  231. quant1x/std/strings_camel.go +0 -37
  232. quant1x/std/strings_camel_test.go +0 -56
  233. quant1x/std/strings_helper.go +0 -71
  234. quant1x/std/strings_kebab.go +0 -14
  235. quant1x/std/strings_kebab_test.go +0 -56
  236. quant1x/std/strings_snake.go +0 -58
  237. quant1x/std/strings_snake_test.go +0 -56
  238. quant1x/std/strings_test.go +0 -123
  239. quant1x/std/time.go +0 -255
  240. quant1x/std/time_test.go +0 -205
  241. quant1x/util/compress.go +0 -157
  242. quant1x/util/gitcmd.go +0 -98
  243. quant1x/util/shell.go +0 -29
  244. quant1x/util/version.go +0 -45
  245. quant1x-0.7.9.dev1.dist-info/RECORD +0 -452
  246. {quant1x-0.7.9.dev1.dist-info → quant1x-0.7.9.dev2.dist-info}/WHEEL +0 -0
  247. {quant1x-0.7.9.dev1.dist-info → quant1x-0.7.9.dev2.dist-info}/licenses/LICENSE +0 -0
  248. {quant1x-0.7.9.dev1.dist-info → quant1x-0.7.9.dev2.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: quant1x
3
- Version: 0.7.9.dev1
3
+ Version: 0.7.9.dev2
4
4
  Summary: Quant1X量化研究
5
5
  Author-email: Quant1X <wangfengxy@sina.cn>
6
6
  License: MIT License
@@ -0,0 +1,210 @@
1
+ quant1x/__init__.py,sha256=opd8OxoS0Np1llvuhBsD0na4zOQ-eRK2SEBlL2b5aNM,788
2
+ quant1x/build-info.h.in,sha256=oFCoMn3ShHwF8PPGk-ss4D8c2LW15fBtmF-uhTophG4,4820
3
+ quant1x/device.py,sha256=CGK1kf4izeAJsqfn1B6ZafJ3Ebh--YDrV-sHnroSPDw,503
4
+ quant1x/devp.py,sha256=fD2r4wC25_rfySorJ2PEQtE9exVd591jS9Tu5V1_Q-I,733
5
+ quant1x/log4rs.yaml,sha256=gKFj8Svg8ZQotx5EMNvexPfk5MlMbL4A83ePwG8h5-g,636
6
+ quant1x/network.py,sha256=gxrKf4ApgqvyxIS9Uz6hax7T-uicRKsuZi3NmMkWDsI,1404
7
+ quant1x/types.py,sha256=2vfmD7eQfQ-4GZYvIjJQ0i4OQJUYzqyl-ffXD2bizGw,187
8
+ quant1x/version.py,sha256=AoRkJ98ALZ95BTMJYxuGBQM_SlgjnMnfElMuQwWffp4,2516
9
+ quant1x/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
+ quant1x/config/__init__.py,sha256=ZAGb4a1kYeZM5XFGsX3wFXFU1JlR63kAwE0vIIiFxO8,375
11
+ quant1x/config/config.py,sha256=Iz6Xcz_VB5OHFn8hZSlt20XK5CQggq-mAY6cmYlCQHc,8477
12
+ quant1x/contrib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
+ quant1x/contrib/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
+ quant1x/contrib/data/tdx/__init__.py,sha256=KVW5lzXvr78H5bMsPREtXx91VTd1CO64ZV5m7QWpMnA,326
15
+ quant1x/contrib/data/tdx/client.py,sha256=ZxvCIZEA0AHwXJb7MB4XZEqT-MNPvgcQ-XAXhZFZ23I,14749
16
+ quant1x/contrib/data/tdx/config.py,sha256=zp1nTl-rjzZ8IBZyO699GnGkFlxMCbXrtUGnJhkiKHM,29777
17
+ quant1x/contrib/data/tdx/datasource.py,sha256=6adAaAwn7uFkIxKkHU-hguhGMkvUvNbKv8FjH4QJde4,8845
18
+ quant1x/contrib/data/tdx/instruments.py,sha256=5ZbHzE9SOOm2hLqa7NG28WCxP_5MqIV4u80Agh7302M,8438
19
+ quant1x/contrib/data/tdx/kline.py,sha256=K_KpBdt_1o1dKIV19T659CndSsd2BcEsQ1W3ndkQxPY,28006
20
+ quant1x/contrib/data/tdx/kline_raw.py,sha256=1r1qdGsgCfDukDzvCgYyXfbrh8JZkYXCyedWW0H4MTE,15298
21
+ quant1x/contrib/data/tdx/market.py,sha256=Q3RmtgPQuq5Mw6qa_90ZosyP_6_MUI0dyiJ3eMT_YtA,6706
22
+ quant1x/contrib/data/tdx/money.py,sha256=seb4OqUlRAySrv-IPLEac0E0T05qug3v7EpowHhhLN4,19564
23
+ quant1x/contrib/data/tdx/protocol.py,sha256=8FMlIyib_mSekPSy5KMWhog48stbdH3stGm5WfqrbBk,19349
24
+ quant1x/contrib/data/tdx/sector.py,sha256=7SllBsDzbsr3XNx_l-ZoCOluaa0NDCowxAH7eIvbhO8,15792
25
+ quant1x/contrib/data/tdx/trans.py,sha256=5mZafvA4pA_lqU4gGaz1pyc9tFv7iRKyquQDgnXljxE,12381
26
+ quant1x/contrib/data/tdx/xdxr.py,sha256=XgllhuqT_a6Vv-AOiuNxIffAJoDo3s_bYefyU29vFBQ,10080
27
+ quant1x/contrib/data/tdx/level1/__init__.py,sha256=UzuinrA0_EdMaz3fJ-aq9c8nE5ifpEJqTksc_ljWCDE,1451
28
+ quant1x/contrib/data/tdx/level1/command.py,sha256=VC2yY_NPBrvrUnP-APU1_UN7IT7or6T_8TLcceVpovo,7191
29
+ quant1x/contrib/data/tdx/level1/em_dividend.py,sha256=hBbxeSvpTLnZi1Nomy5sr0c3bD2HtIM0IK4LEby6Am8,1943
30
+ quant1x/contrib/data/tdx/level1/ext-category.md,sha256=1OXhiPeAyAKz-PSeVc4WriEyG98M2hUKBxd1HISMaQY,5019
31
+ quant1x/contrib/data/tdx/level1/ext.py,sha256=p_4frYYi5ShCmQEHTIPO3EYzYKSxTMEW25267l45_Xg,46097
32
+ quant1x/contrib/data/tdx/level1/f10.py,sha256=x4h4lqiJceJiobsekQb18k4Z6eNaZchCJb79D_Q_cXo,21701
33
+ quant1x/contrib/data/tdx/level1/helpers.py,sha256=W6o3sY66E1z-QrBN3IEKMta6J4etHh2-SD7OSRqV5O8,6554
34
+ quant1x/contrib/data/tdx/level1/std.py,sha256=gfQkYivZFs45tAssP9gEGVkHt1iV_QpPBKhQQyVLyP4,24584
35
+ quant1x/contrib/data/tdx/level1/xdxr_hkex.py,sha256=_0IAan5fT_0-NdSKuYyYWQ7qggDRyfpr0vm5L4N39t4,32484
36
+ quant1x/core/__init__.py,sha256=oEGYGC-8IKnGfhToHV7nTKPDY2k3zFsfKoo6VkUh1r0,157
37
+ quant1x/core/base.py,sha256=N_0eqc6839BpsF6YYPJT-BGErILqiDY5hYXF3VVrT9M,4219
38
+ quant1x/core/decode.py,sha256=756kqVd9OguPcJsEZpB0fQHOZPIAJikgNggE9cTiDEU,4426
39
+ quant1x/core/defaults.py,sha256=EDzWZzHg51JltEh8ge50Lb0f_rnuCjNNg3VrN_JP4EE,1567
40
+ quant1x/data/__init__.py,sha256=2qDDeIN4Lv3Sk_KkjmCwLs5Xk3m_AV1ErxJd4zhj848,886
41
+ quant1x/data/adapter.py,sha256=-5-jRlRYJYoDy0n6Jx3rxlL_A3vTGrxl1_6Ijx0kpks,4678
42
+ quant1x/data/base.py,sha256=kc2GDwWGUpz-1lH3lnbnLhBVJRkIux77DtfhasGvsAg,2037
43
+ quant1x/data/cache.py,sha256=_reI5H47WcYitP0pNlvPKd_9sasdAdfSKmpgJ1GUGmU,3270
44
+ quant1x/data/datasource.py,sha256=2mpVSiwz6JZQgavq_7LppP-AzGowqTDi62pzLt-29Z4,5573
45
+ quant1x/data/f10.py,sha256=gNyNRz9UERYCls28xfVc0q1nkaDQtwogEulYfh1p_j4,1512
46
+ quant1x/data/kline.py,sha256=sUQU-4j53I2_FVv4-E9GLe-9VHikxulCW-VvVgXh6Ak,11594
47
+ quant1x/data/kline_raw.py,sha256=x99bdeVUmiQDcisxAqz8OVjh_yinCl60VlhucFwk8RM,12042
48
+ quant1x/data/layout.py,sha256=0b0B70qQY34-RPwZR6SA3c_u_qWTDUI0tSmaDA6Thn0,589
49
+ quant1x/data/market.py,sha256=sRho4AVKbt-Qb47BMJlCjbWJdPMUckvpPZXzTJKvSr4,10582
50
+ quant1x/data/market_old.py,sha256=93YwkF9Pbuyh4LqjxTf12nZ3KWfQGK1VDvOlPfODqN4,4885
51
+ quant1x/data/sector.py,sha256=hlgOSKWn5HWmXROIi_lvmooGqhPB2L6Au0xyQc3tGAM,2444
52
+ quant1x/data/security.py,sha256=uLD_D-NgIOTyM6U5Ue1uTKptX30S_soAGgtZRXg0buc,2073
53
+ quant1x/data/status.py,sha256=cduPsTDNNmUwG5qQqVQcwSmT-MpQNYbgjm0fSrH6wgY,1728
54
+ quant1x/data/trans.py,sha256=s0a1WezWwtSvszFt0IDW5dpa6VQY3zHlzySxJOUvyeQ,18701
55
+ quant1x/data/xdxr.md,sha256=U8qUKST267VKNQfpXVSEXGyGjNxcKTtGo57gTIZdpYE,3558
56
+ quant1x/data/xdxr.py,sha256=VqFmAj7U7RYqDMP9va5RzfDztrnITaujJJBz6oqPZEs,4191
57
+ quant1x/data/meta/__init__.py,sha256=GqeKQdWjiMzy0AQErMaQ1CP8YPt9c8RSqJ0H7iyrGzY,502
58
+ quant1x/data/meta/asset_class.py,sha256=TLB3frC4U-Ik4-NUn_5kq1Ays7G8zUYpSIcy_iYsYWU,5234
59
+ quant1x/data/meta/calendar.py,sha256=b4ucpfYbW44rtVMWKUqwPDrcfPhEsp5E2le-l92Ek7I,16580
60
+ quant1x/data/meta/exchange.py,sha256=PAnizwNvIDXgVSlQD7xx2z1z4miYUC3qlc6LYh9T4z8,8374
61
+ quant1x/data/meta/forex.py,sha256=evJUZjvjyvKBKTcUoTCrpDu8_3lHGMHyFCGoMhhV7x4,8969
62
+ quant1x/data/meta/frequency.py,sha256=-t8O7p99O1s9YUHsuo92ca6Kmk0fXFEBJkEgg0KbrYY,4802
63
+ quant1x/data/meta/fund.md,sha256=fHBGB8-cX0rACN7cLz5cRnReOHLJSJC2kHl4-36IRNI,3477
64
+ quant1x/data/meta/fund.py,sha256=BV9Sj4PcXKp_nwY3oyBW6BYiM7TRYv74AMhj2MXtAZc,3171
65
+ quant1x/data/meta/instrument.py,sha256=9LU5mt_PlDQ1s2ZCkNBJgpODY7gFwTritmdObLtaJmI,10203
66
+ quant1x/data/meta/region.py,sha256=ECXVzwbqctVK6HNEzAFlcJbsBvzu4EGUVS9RVLiUSvo,1473
67
+ quant1x/data/meta/session.py,sha256=NeQHQ65hCSpn2lP7Qb2TqS9TEEKakuTfmNmf6bPVzcs,29491
68
+ quant1x/data/meta/timestamp.py,sha256=EDeGYQ5xQJGb948XiCiTjcgf7H05AyyYkVLb5ET4mfo,8113
69
+ quant1x/data/meta/sina/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
70
+ quant1x/data/meta/sina/decoder.py,sha256=ezSEBsQwGqtTSvAL1nNPb-C93PYOAt8vikWCa0DOMpA,14931
71
+ quant1x/data/meta/ticker_rules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
72
+ quant1x/data/meta/ticker_rules/market_bse.py,sha256=rqT7O1eDIb4K6LjMelj-WloHV_FHJWqMPDo0YDzniwg,2342
73
+ quant1x/data/meta/ticker_rules/market_hkex.py,sha256=SawPgRhHo4kpL54BIur04UZX8y1KeIE4g7SAE6z333w,15317
74
+ quant1x/data/meta/ticker_rules/market_sse.py,sha256=v58nZPbSaKXIYpyM81UNkCFjtOqqJsEnEF6xEmXToyE,24450
75
+ quant1x/data/meta/ticker_rules/market_szse.py,sha256=Hwqn-54jAE5do30TmGCy6YMCwfSMNR8sK5UYiwxZDGo,5605
76
+ quant1x/data/meta/ticker_rules/market_usa.py,sha256=Dmks64KX2jnxfUwNPOvQE_-Wq6uIscK2EFu9DoEbM4E,1618
77
+ quant1x/data/meta/ticker_rules/rule.py,sha256=302qGVsrIVPdbKaGPgUudH_ycDZ3Jz1iP2UPRKk5OYU,769
78
+ quant1x/data/schema/__init__.py,sha256=4OrCiPCmklUrYjrRQPElTAvHvTg4virrXsYMaiT6Xm8,950
79
+ quant1x/data/schema/adjustment.py,sha256=jarYM3uYZ3iTMOs1ETXe-2rySlQLXoJ4R3N8jdhh1ns,5989
80
+ quant1x/data/schema/bar.py,sha256=t7oE_Hk-cMaqNAsGHOm8DZQRZ1bc_Dx8fCTHkjSRSig,5855
81
+ quant1x/data/schema/company.py,sha256=rj9d8F8pLCI3yELNMPiPWjy2cfD89WMV7t4r_1_iktg,352
82
+ quant1x/data/schema/dividend.py,sha256=EmcH8g_p4eyXCYZrfSejtFvlnOR72fxLVXapMqewPkk,20889
83
+ quant1x/data/schema/sector.py,sha256=N3wKaDlxXXyZeuvQZGt6FlLnR2fcCQETHNY32cxtfg8,403
84
+ quant1x/data/schema/trade.py,sha256=qIjkR9c-OMYvKQe-ri0N35YiujtC1OZ7Uo9h8vBMvis,1095
85
+ quant1x/data/storage/__init__.py,sha256=01UIc1iZA_EH-1PpqQ-lZu-aFRvznZsdZnU9IaugEJY,370
86
+ quant1x/data/storage/csv.py,sha256=P_gZij-b7QctVuMd7FbKxCtTl7YM_4xZEa0CDx0ALsA,5128
87
+ quant1x/data/storage/storage.py,sha256=8lTs-eGCea8HOGrAWrRkYQlrGfawLM9O01fCSQiKk10,2389
88
+ quant1x/encoding/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
89
+ quant1x/encoding/json.md,sha256=KekSvssot1A9a2TZ_j0EoC5dk5Ms4bE24fKfLWneNcE,7440
90
+ quant1x/encoding/yaml.py,sha256=5_BZ7JI_i2djERB17FwlKj4M35-eLExj-Du_QXLTQsI,2882
91
+ quant1x/encoding/binary/README.md,sha256=COEjCf6tVo7D7RAQqkWqThamasn9yR5ZHzqhMFc6Ua4,133
92
+ quant1x/encoding/binary/cstruct/FORK.md,sha256=RGd6MMI56P83VO2wx4MF4MyrZz85GDq9i2PiyGLMSMY,32
93
+ quant1x/encoding/binary/cstruct/LICENSE,sha256=ri8mmTvGrzsfnrgdXthbRSGbEnDHzS8hTa5cJE7XIT8,1067
94
+ quant1x/encoding/binary/cstruct/README.md,sha256=hbk0b44j4adMx0U3VB4kRZ9MolTRCSfNje7891nSvCE,5348
95
+ quant1x/encoding/binary/struc/LICENSE,sha256=In0caJ2sgBue9NM6eYYq1Q7mBU5Ghh79yZUqVd7qSb4,1056
96
+ quant1x/encoding/binary/struc/README.md,sha256=HVaAJrRYSHYmWwh-e1tCVNHMXDrrwnCfcSvk2AqNudc,3174
97
+ quant1x/exchange/__init__.py,sha256=Whr9mmU_YwCtixrfzsvWTvi8Im3hnmcMxH36hK4-eo4,1261
98
+ quant1x/exchange/calendar.py,sha256=QKgkyflYtai90FgKPOEbky10ckKvrE1r_xNptkbgR8I,16307
99
+ quant1x/exchange/code.py,sha256=8DhDpXjVj_rQephVXvqt1YXIkjS472RVd8BH6N-5BQI,14969
100
+ quant1x/exchange/margin_trading.py,sha256=6pViqQFTwk0q8f50e5T4wbHQtNudnVAoOxV0USzQOtc,6143
101
+ quant1x/exchange/rule.py,sha256=hD9EJDeADaPfihcvVNVfdLQ_uF9gheMg2PLG4pwj-h4,30768
102
+ quant1x/exchange/session.md,sha256=qp4JOgH84JlTJWT1Vxj2qZH4RyDrun69qr3_YOrxH2M,3408
103
+ quant1x/exchange/session.py,sha256=yDM85gTBfy5iCXt4BGln5_SrmQ7zpnPl5_KZpvYmtvs,17215
104
+ quant1x/exchange/status.py,sha256=r1ScWsGCrYizgKpokp21w226aOXj7OEAxa986_J_6eU,1828
105
+ quant1x/exchange/timestamp.py,sha256=qoIraVaBPOqDFLS8LPe7t6mf_al4nBlDlTscWb35Vao,7701
106
+ quant1x/exchange/sina/decoder.py,sha256=ezSEBsQwGqtTSvAL1nNPb-C93PYOAt8vikWCa0DOMpA,14931
107
+ quant1x/factors/__init__.py,sha256=qV57QZZdkHK-8vVdSvq_lJl88LlX-pFhG3lCL36ztiw,714
108
+ quant1x/factors/base.py,sha256=MHn35FUBM3cPoiVP765_DS61woHiG7If--mx72spiMI,18354
109
+ quant1x/factors/f10.py,sha256=T8JFUPXi7AD5I5s8gW0FCn91zKkugSCV-8Yx77Ls8Po,10519
110
+ quant1x/factors/financial_report.py,sha256=C4_gwZYrwitPEhYwwmKXpi0AbLR69K0i9qjdrP9JgTs,14184
111
+ quant1x/factors/notice.py,sha256=ou2obGPFmkSWy1MYivqyHVN6DD5qiI2a6PXeLqSBIZ8,17212
112
+ quant1x/factors/safety_score.py,sha256=VqFAO5YwSqOBLKfqivRDHqH9wSjIz01F_nHtrxJG5wc,5193
113
+ quant1x/factors/share_holder.py,sha256=5Oc7-hCVl7HT_E7ZniUEh5cDemRXAuGZ1tGCmNjQqEI,5405
114
+ quant1x/formula/README-MyTT.md,sha256=q4JOie4tq9ppPQILnrvplkiPHQWQvX37POlqctdlJgE,13197
115
+ quant1x/formula/__init__.py,sha256=h5Xn-PlnVifk3lgQnX3JiZgRQG-CJJZ17ktFUznsXXA,167
116
+ quant1x/formula/formula.ipynb,sha256=Xj1YI-GWpOJ0Cc1_dO3iKjy9rNqEN3eJ6zOCHPP1paI,32634
117
+ quant1x/formula/formula.py,sha256=_DTwP6vekjx_LCoxBky45l0hHB_9zz0LaylCkZOk2lE,25095
118
+ quant1x/formula/formula_plus.py,sha256=P0E5bcbvlFIgS6sKi0wq_DaDn74hSMSExzjmmunn7sQ,7458
119
+ quant1x/indicators/README.md,sha256=wJX338Cc7VAi4iCmScFohNZYt9mr2a_wuZz0rq_RuL8,339
120
+ quant1x/indicators/__init__.py,sha256=mFGptVlp5Pl-f0zU6jf2KWQ5KTauaco-ubDUr9XKEBk,126
121
+ quant1x/indicators/cdtd.md,sha256=cKa0gsuuRjld5EAKBhOHUpckfUgMD0Lj_lmkAYoSrJg,1013
122
+ quant1x/indicators/cdtd.py,sha256=OlPvVC3Q5gj4iq0ZRIJ0XAoPg9kp9vv_19qEjFUF6kc,2488
123
+ quant1x/indicators/f89k.md,sha256=NJ6F2BtoQb0hP7QaePMg9FeP5-bKq5cyWOWJMSPJBBs,2262
124
+ quant1x/indicators/f89k.py,sha256=r_o8OkAy9Gto8R3QspSDModi0v_LEXuy6K8YvOkomSk,4855
125
+ quant1x/indicators/hjk.md,sha256=yTVa4VawSv_V-1Quyt7qvo4LhaQFQvIzM8f0eQ12jlc,711
126
+ quant1x/indicators/hjk.py,sha256=Vy6doNM907xaw_MdMppk8Usei7pKyE1FLgbgQDsIF0Q,2103
127
+ quant1x/indicators/ma1x.md,sha256=Z-rd93w7ylH1q1HGpDTYCL1F8zr86JJ9mmyoGVNT38o,3788
128
+ quant1x/indicators/ma1x.py,sha256=OGsND0vsEepyUKUAxhY5n7g6X7BZ4PQ32wv37VvOq74,6675
129
+ quant1x/indicators/p2fb.md,sha256=mzb97QLyLsF97aCtu4K3K3kaRnfBi-XSG9N_Uj79sXE,966
130
+ quant1x/indicators/p2fb.py,sha256=1n9fhDr48fwpAB9dEpcLQRlzHClA9Xmw_SEh5EyIQ5A,2841
131
+ quant1x/indicators/winner.md,sha256=mI90S6mfq7SCf3VDP63wWHRnBGjTlLch-uSQ4TE_Fls,2228
132
+ quant1x/io/__init__.py,sha256=qO9eCxyXVFoMLCqlVuANPFevvtDXv5-d2dwP_hib49M,142
133
+ quant1x/io/connection_pool.md,sha256=dyPvlAfs4GyeJVscalbVv4KPgjDxFLW6firzoNIuTec,10037
134
+ quant1x/io/connection_pool.py,sha256=Ipa2o24zmlQjG9ASWnmqRYffRwH95UjvboMt47R3yFo,13804
135
+ quant1x/io/csv-reader.LICENSE,sha256=_krT-_zT02IMNFsagyiaBkkVvccTJAxyOdEzucUnYRs,1490
136
+ quant1x/io/csv-reader.md,sha256=80ITXGE5GJ9Pk6u9TT7B5XABwnmRzHn09PlozgYNRlE,17015
137
+ quant1x/io/endpoint.py,sha256=7MY5ZlpP66MbdwHCoBN3toRiL-CpfEuMTrV9sEfkYZE,3581
138
+ quant1x/io/operation_handler.py,sha256=-R07ID95tF8T6JuJfgUJja2UBAxHOhAqUWaZ6o5OPuw,2194
139
+ quant1x/learn/fpgrowth/README.md,sha256=pjvIcKW5hD4PPEo_9pHQ6GtYod_RvjgemFb9lNmTVgs,1502
140
+ quant1x/learn/fpgrowth/fp_growth.md,sha256=lCB8Ev6bTG2Vo9WkBFvgIoEdqxSBIIcyB6k-n6uKsJ0,6544
141
+ quant1x/learn/fpgrowth/fp_growth_example.py,sha256=slSB059Rpp_A52250mzvamy11ydLp720bvofgJH1iKg,1985
142
+ quant1x/level1/__init__.py,sha256=tckKpW2mGYKns6Nhpt_yCuNhoxxYbgh6VsgPE0XwsfQ,144
143
+ quant1x/level1/block_info.py,sha256=8QWl38qMYpmbDcG12RODqB0cQRK7A34j-fKeuRLe8X0,2012
144
+ quant1x/level1/block_meta.py,sha256=YFwffnvbFMWR78EsUq-7VUe23srH0zbZ9SPJZQ0H_-g,1957
145
+ quant1x/level1/client.py,sha256=-Pj_9t6Qylce5aYW8qSZdmtqQ1kmQEy3SDE9gBhLdLo,6996
146
+ quant1x/level1/config.py,sha256=RvPxNj9Q2Da2klaCSvVa7Ox9eqCyovnLLDw7lHwiWD0,24411
147
+ quant1x/level1/finance_info.py,sha256=k1R5-cSrZc3DnV-9-igv5_ATw5HzBGFdmZ6GQo2ctW4,6228
148
+ quant1x/level1/heartbeat.py,sha256=c8fLdbRrs4Dni9_8oo9DW-8ZpmXxBgH1uL-snJQ7itI,1321
149
+ quant1x/level1/hello1.py,sha256=x19H1x0d2k6JauqT4f_u0uesZVU32lRqn3UfkM4KXmg,1412
150
+ quant1x/level1/hello2.py,sha256=AuFLsxCXdpwaHBXE4Yyczic77xbey5eMtDJr4NQlmuo,1470
151
+ quant1x/level1/helpers.py,sha256=xiT19NJlfHwuvYMPPRpe8SeYsdakdi9YiMZN4hy4P0A,5428
152
+ quant1x/level1/minute_time.py,sha256=Kz7xtS1I2ZI4IxDBSVnIc95eGK4ahEe8utELSM76A8E,2900
153
+ quant1x/level1/protocol.py,sha256=6JCRiZypr1ycDWOFTYwDbgCCWXLmt3qjLF2JbUI0QGA,3328
154
+ quant1x/level1/security_bars.py,sha256=MnIcM1H2ho_db5KWXT3NZjgCiFY_nLV4ofQiSyHqulU,6149
155
+ quant1x/level1/security_count.py,sha256=vK5sPJGYcquqO_WsIGEleY-5hvtfwq1jRnN7SZW5hMU,1551
156
+ quant1x/level1/security_list.py,sha256=35MJpNuF7RigbYK0oGBKqRDEds3hW0BXVHOy1qT_zvs,6226
157
+ quant1x/level1/security_quote.md,sha256=xwg9TFGXIam4tvrDAXyIJ0da2T2NleGmq030vx2spGw,11358
158
+ quant1x/level1/security_quote.py,sha256=yLb57obcU45iwq5qlz0uKQfS6aHiYizXJzmoX-lSYY8,13721
159
+ quant1x/level1/transaction.py,sha256=vNY1YfQPJlSuaTc3vYYnW5StBXyqSD9-Pi02zAW_psg,7679
160
+ quant1x/level1/xdxr_info.py,sha256=Kay-9EZ5eZEMlQzFOpsM8qwC5N4mHEflrVQZG1osL6w,8709
161
+ quant1x/log/__init__.py,sha256=0W7m2-qGuyGgP33O0d2BOISsZxLmiQ1fu8pXJ-28yCM,361
162
+ quant1x/log/logger.py,sha256=mPxC3FsctpU9sX--yyPjrZ1V84fGJ_pcfH17vm_bxXY,2063
163
+ quant1x/market/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
164
+ quant1x/market/blocks.py,sha256=YNUE-f3A5Mdp3HnUbh5z9WH6E1hcyRsIpTrWEbs67SA,19035
165
+ quant1x/market/instruments.py,sha256=2nkX-C6qDxJPHpDB9EEP1OOT_XayGsyc10VVy93tRvA,3247
166
+ quant1x/market/security.py,sha256=jab_KcaWjuZyEDmgrp1RQNz-VqpE0SYhDftJN-g_bRM,8247
167
+ quant1x/net/__init__.py,sha256=ETTa9rUS5ltHSdsCT3Fysry_f3K1bGOqqWIQ49VUZB0,146
168
+ quant1x/net/conn.py,sha256=CXFvVyaNkGwSrgvJ7ZoBkkJKhyVmQ-tMuhzjIwVYYqM,3656
169
+ quant1x/net/endpoint.py,sha256=Pw9AdJVsrLS_YLjM2G6rKQTYto7o2uOCteq3svOUNJc,3347
170
+ quant1x/net/handler.py,sha256=qeSz8oEiR0-nVay4nLXd6asWqcMdHFf8JyQRNEW0LIE,1966
171
+ quant1x/net/tcp_client_pool.py,sha256=tP-99K7E5ebvCmcq-q--N8S7UwUN4v_5MrySCNvWppM,11231
172
+ quant1x/proto/README.md,sha256=ocKHwOabAV-d54PJYwyQ2TjbFfV1I23VWwx4sc4VaOk,12
173
+ quant1x/proto/security_info.proto,sha256=2Ab2yVGpeuk1G7x942mUc9wmqpQtKcnHfMoZkoy_Y0w,2695
174
+ quant1x/proto/snapshot.capnp.c++,sha256=vDvbb0V91zMHkz4KXSROrxQqeO7l25PVpUvRUqhgDt4,47592
175
+ quant1x/resources/README.md,sha256=h6UPGDdZE9ktIWMFemsE7G9Vg4sfkzUdJ3eZxwbq5L8,289
176
+ quant1x/resources/meta/tdxhy.inc,sha256=lKcaokIZ-cDBCZuTYxUmiPv_Akt2HEw0TEI7-QYgbRs,878254
177
+ quant1x/resources/meta/tdxzs.inc,sha256=KdjIw2WshFmyFi2nWf148OPiJeu5onTCvk0rfEaj33w,109509
178
+ quant1x/resources/meta/tdxzs3.inc,sha256=IjM8N3ZihjKXSySh1lCfJQRWiKzFLgVjaWu0piAxPEM,196073
179
+ quant1x/runtime/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
180
+ quant1x/runtime/once.py,sha256=Yh8R_xlJTQnOibk5SLyJBKOietNljCENka0ZT0o-VsA,2458
181
+ quant1x/runtime/ringbuffer.md,sha256=YesZIoBLNP682sjQDj7JeNU1Vw46vprlcl2yYN18foM,3601
182
+ quant1x/runtime/scheduler.md,sha256=BTwDteZSTNtLeUFnErC-YOIuywxNV5ilfVUAae4CEBc,2629
183
+ quant1x/runtime/scheduler.py,sha256=Qt17c29sz8Sjxdi0o1lONeUsQs-TN3X7VL4EAJcARGA,24073
184
+ quant1x/std/__init__.py,sha256=OrcmpTyReK3NnauGT0hv6sKz-I--y4rURhD9euQX29I,435
185
+ quant1x/std/bits_amd64.s,sha256=DNP9uoxhS-GlWAP5DyNxXWboW0wDhc-ZhZQgMt3QXUo,1681
186
+ quant1x/std/bits_arm64.s,sha256=tM8BS_M8IWyaxzSn_HYGTaw6xDpUGJIxvj7RMzpgIRE,1127
187
+ quant1x/std/dataclass_utils.py,sha256=GKdq5tugPGTHvz36qwEO4is4Kmr9OTN8Z7xHMgpW-pc,1808
188
+ quant1x/std/embed.go.copy,sha256=vRldq4d-d3VSpo9oeBtO9oOL_P7q2kz5u3WaHL91bLo,1240
189
+ quant1x/std/except.py,sha256=g_QKUN8OpxyILOBlJ0YozNwj2FVvebtRBex3-K90joM,1857
190
+ quant1x/std/filesystem.py,sha256=C8AZTjvP58km6XCntxPPYlyZh-g22lKpj0Ygm-PpiEk,2309
191
+ quant1x/std/numeric.md,sha256=Q4S4GF22iq_y0Vvk2i3dofjxK_ODbLPTFikNvNv99lE,5216
192
+ quant1x/std/numeric.py,sha256=uJducdkile-Xap9RUdaQJhIk53xOLCuH9Tu5JbpaTAs,10115
193
+ quant1x/std/pattern.py,sha256=4V3yF_LzlyeEJbI0HcU52EjeWcA70U0U0bUg1v0R5J4,552
194
+ quant1x/std/singleton.py,sha256=2nd8TT_oiAM-Ov_IwQqW0Dm_wQ0ZDHYG2PRV9UtzLBA,22731
195
+ quant1x/std/strings.md,sha256=o5SPm-UW0S5SJlT7vj_NkDpjRSMsC7p-YER29_68o4k,6894
196
+ quant1x/std/strings.py,sha256=hZxCc3Ggjb-EcTMubdSqs_aytTX5AJUvjSt6OHyULqA,1320
197
+ quant1x/std/system.py,sha256=D3VkAkS83vm1KC5EqBA9z9tll_XJaBSgOQmbw5nEsHI,7010
198
+ quant1x/std/time.py,sha256=wCaZPsR1FHl7mwrm8WTKnz_4b8RmfHsfP0TIbQCC4Ms,4229
199
+ quant1x/ta/README.md,sha256=9IMkOXmZkmTT3N8pKdXC0tdPtyFFXtazMqFOOd7FjRQ,8163
200
+ quant1x/tools/inspect_blocks.py,sha256=i7inER1gK-IyAPRshiJ9yW9pEMPuxiCbpSlZzIPozVs,3371
201
+ quant1x/util/SimHei.ttf,sha256=Dub2cjwp2_Qn0S1Y_8EdWOmqia3aCrawZGjudlserfg,10044356
202
+ quant1x/util/__init__.py,sha256=19sf97fgyk7QvSZwoebXwPka-SA6CusbPzSQC298SRw,208
203
+ quant1x/util/chart.py,sha256=6omypZIdWCVWJO2vicztEE6eMO4Q-ABsAUH7yghJkjs,301
204
+ quant1x/util/font.py,sha256=jKzqAp29zKHnqCfmV2hG37RXjAnMEqXDLCt5Ffv6LwY,1558
205
+ quant1x/util/util-font.ipynb,sha256=q91JJKtBKrah_RUOLOb0b-bdKSNJUJI-x9WVtH_eob4,1056
206
+ quant1x-0.7.9.dev2.dist-info/licenses/LICENSE,sha256=K10Zt0j01d1LM2uIxCjhchRmhbYcydtbGSJ_cS7k9zQ,1080
207
+ quant1x-0.7.9.dev2.dist-info/METADATA,sha256=gSqn4IbY0Xw-3ob5rr5gq8uVNsCbLh2HyuT1qDFbYAQ,19286
208
+ quant1x-0.7.9.dev2.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
209
+ quant1x-0.7.9.dev2.dist-info/top_level.txt,sha256=pJHYAuQfpyuKGCaWkuu29khZpIohn3tnzyWT0XU51i8,8
210
+ quant1x-0.7.9.dev2.dist-info/RECORD,,
quant1x/command/app.go DELETED
@@ -1,150 +0,0 @@
1
- package command
2
-
3
- import (
4
- "fmt"
5
- "os"
6
- goruntime "runtime"
7
- "strings"
8
- _ "unsafe" // For go:linkname
9
-
10
- //"gitee.com/quant1x/engine/models"
11
- //"gitee.com/quant1x/engine/tracker"
12
- "gitee.com/quant1x/num"
13
- "gitee.com/quant1x/quant1x/quant1x/log"
14
- "gitee.com/quant1x/quant1x/quant1x/runtime"
15
- "github.com/klauspost/cpuid/v2" // For cpuid
16
- cli "github.com/spf13/cobra"
17
- )
18
-
19
- var (
20
- Application = "stock"
21
- MinVersion = "0.0.1" // 主程序版本号
22
- )
23
-
24
- func init() {
25
- Application = runtime.ApplicationName()
26
- }
27
-
28
- // UpdateApplicationName 更新应用(Application)名称
29
- func UpdateApplicationName(name string) {
30
- Application = name
31
- }
32
-
33
- // UpdateApplicationVersion 更新版本号
34
- func UpdateApplicationVersion(v string) {
35
- MinVersion = v
36
- }
37
-
38
- // 获取CPU型号
39
- func cpuModelName() string {
40
- return cpuid.CPU.BrandName
41
- }
42
-
43
- const (
44
- KB = 1024 // Kilo Byte
45
- MB = 1024 * KB // Mega Byte
46
- GB = 1024 * MB // Giga Byte
47
- )
48
-
49
- var (
50
- strategyNumber = uint64(1) // 策略编号
51
- businessDebug = runtime.Debug() // 业务调试开关
52
- cpuAvx2 = false // AVX2加速状态
53
- cpuNum = goruntime.NumCPU() / 2 // cpu数量
54
- )
55
-
56
- var (
57
- commandDefaultLongFlag = "" // 默认的长标志为空, 主要用在tools
58
- )
59
-
60
- // 输出欢迎语
61
- func printMotd() {
62
- fmt.Printf("CPU: %s, %dCores, AVX2: %t\n", cpuModelName(), goruntime.NumCPU(), num.GetAvx2Enabled())
63
- fmt.Println()
64
- }
65
-
66
- // 初始化全部子命令
67
- func initSubCommands() {
68
- //initPrint()
69
- //initRepair()
70
- initUpdate()
71
- //initRules()
72
- //initSafes()
73
- //initBackTesting()
74
- //initTracker()
75
- //initTools()
76
- //initService()
77
- //initBackTest()
78
- }
79
-
80
- // InitCommands 公开初始化函数
81
- func InitCommands() {
82
- initSubCommands()
83
- }
84
-
85
- // GlobalFlags engine支持的全部命令
86
- func GlobalFlags() *cli.Command {
87
- initSubCommands()
88
- engineCmd := &cli.Command{
89
- Use: Application,
90
- Run: func(cmd *cli.Command, args []string) {
91
- log.Warnf("stock default args:%+v", os.Args)
92
- // model, err := models.CheckoutStrategy(strategyNumber)
93
- // if err != nil {
94
- // fmt.Println(err)
95
- // return
96
- // }
97
- // // 输出欢迎语
98
- // printMotd()
99
- // barIndex := 1
100
- // tracker.ExecuteStrategy(model, &barIndex)
101
- },
102
- PersistentPreRun: func(cmd *cli.Command, args []string) {
103
- // 重置全局调试状态
104
- runtime.SetDebug(businessDebug)
105
- // AVX2 加速
106
- num.SetAvx2Enabled(cpuAvx2)
107
- // 设置CPU最大核数
108
- runtime.GoMaxProcs(cpuNum)
109
- },
110
- PersistentPostRun: func(cmd *cli.Command, args []string) {
111
- //
112
- },
113
- }
114
- //engineCmd.Flags().Uint64Var(&strategyNumber, "strategy", models.DefaultStrategy, models.UsageStrategyList())
115
- //engineCmd.Flags().IntVar(&models.CountDays, "count", 0, "统计多少天")
116
- //engineCmd.Flags().IntVar(&models.CountTopN, "top", models.AllStockTopN(), "输出前排几名")
117
- engineCmd.PersistentFlags().BoolVar(&businessDebug, "debug", businessDebug, "打开业务调试开关, 慎重使用!")
118
- engineCmd.PersistentFlags().BoolVar(&cpuAvx2, "avx2", false, "Avx2 加速开关")
119
- engineCmd.PersistentFlags().IntVar(&cpuNum, "cpu", cpuNum, "设置CPU最大核数")
120
- //engineCmd.AddCommand(CmdVersion, CmdSafes, CmdBestIP, CmdConfig, CmdTools)
121
- engineCmd.AddCommand(CmdUpdate)
122
- //engineCmd.AddCommand(CmdRepair)
123
- //engineCmd.AddCommand(CmdPrint)
124
-
125
- //engineCmd.AddCommand(CmdBackTesting, CmdRules, CmdTracker)
126
- //engineCmd.AddCommand(cmdBackTest)
127
- //engineCmd.AddCommand(CmdService)
128
- return engineCmd
129
- }
130
-
131
- func parseFlagError(err error) (flag, value string) {
132
- before, _, ok := strings.Cut(err.Error(), "flag:")
133
- if !ok {
134
- return
135
- }
136
- before = strings.TrimSpace(before)
137
- //_, err1 := fmt.Sscanf(before, "invalid argument \"%s\" for \"--%s\"", &value, &flag)
138
- //if err1 != nil {
139
- // return
140
- //}
141
- arr := strings.Split(before, "\"")
142
- if len(arr) != 5 {
143
- return
144
- }
145
- value = strings.TrimSpace(arr[1])
146
- flag = strings.TrimSpace(arr[3])
147
- arr = strings.Split(flag, "-")
148
- flag = arr[len(arr)-1]
149
- return
150
- }
@@ -1,97 +0,0 @@
1
- package command
2
-
3
- import (
4
- "strings"
5
- "unsafe"
6
-
7
- "gitee.com/quant1x/pkg/tablewriter"
8
- "gitee.com/quant1x/quant1x/quant1x/data"
9
- "gitee.com/quant1x/quant1x/quant1x/exchange"
10
- "gitee.com/quant1x/quant1x/quant1x/std/meta"
11
- cli "github.com/spf13/cobra"
12
- )
13
-
14
- const (
15
- defaultFlagAll = "all" // 全部
16
- )
17
-
18
- var (
19
- flagAll = cmdFlag[bool]{Name: "all", Value: false, Usage: "全部"}
20
- flagBaseData = cmdFlag[string]{Name: "base", Value: "", Usage: "基础数据"}
21
- flagFeatures = cmdFlag[string]{Name: "features", Value: "", Usage: "特征数据"}
22
- flagStartDate = cmdFlag[string]{Name: "start", Value: exchange.LastTradingDay(exchange.NowTimestamp()).OnlyDate(), Usage: "开始日期"}
23
- flagEndDate = cmdFlag[string]{Name: "end", Value: exchange.LastTradingDay(exchange.NowTimestamp()).OnlyDate(), Usage: "结束日期"}
24
- flagDate = cmdFlag[string]{Name: "date", Value: "", Usage: "日期"}
25
- )
26
-
27
- type Command = cli.Command
28
-
29
- type cmdFlag[T ~int | ~bool | ~string] struct {
30
- Name string
31
- Usage string
32
- Value T
33
- }
34
-
35
- func (cf *cmdFlag[T]) init(cmd *cli.Command) {
36
- switch v := any(cf.Value).(type) {
37
- case bool:
38
- cmd.Flags().BoolVar((*bool)(unsafe.Pointer(&cf.Value)), cf.Name, v, cf.Usage)
39
- case int:
40
- cmd.Flags().IntVar((*int)(unsafe.Pointer(&cf.Value)), cf.Name, v, cf.Usage)
41
- case string:
42
- cmd.Flags().StringVar((*string)(unsafe.Pointer(&cf.Value)), cf.Name, v, cf.Usage)
43
- }
44
- }
45
-
46
- func commandInit[T ~int | ~bool | ~string](cmd *cli.Command, cf *cmdFlag[T]) {
47
- switch v := any(cf.Value).(type) {
48
- case bool:
49
- cmd.Flags().BoolVar((*bool)(unsafe.Pointer(&cf.Value)), cf.Name, v, cf.Usage)
50
- case int:
51
- cmd.Flags().IntVar((*int)(unsafe.Pointer(&cf.Value)), cf.Name, v, cf.Usage)
52
- case string:
53
- cmd.Flags().StringVar((*string)(unsafe.Pointer(&cf.Value)), cf.Name, v, cf.Usage)
54
- }
55
- }
56
-
57
- func parseFields(text string) (all bool, keywords []string) {
58
- text = strings.TrimSpace(text)
59
- if len(text) == 0 {
60
- return
61
- }
62
- arr := strings.Split(text, ",")
63
- var list []string
64
- for _, v := range arr {
65
- v := strings.TrimSpace(v)
66
- if v == defaultFlagAll {
67
- return true, keywords
68
- } else if len(v) == 0 {
69
- continue
70
- } else {
71
- list = append(list, v)
72
- }
73
- }
74
- return false, list
75
- }
76
-
77
- type optionUsage struct {
78
- Key string `name:"关键字"`
79
- Name string `name:"概要"`
80
- Provider string `name:"数据源"`
81
- Usage string `name:"描述"`
82
- }
83
-
84
- // 获取插件的Usage信息
85
- func getPluginsUsage(plugins []data.DataAdapter) string {
86
- writer := strings.Builder{}
87
- table := tablewriter.NewWriter(&writer)
88
- table.SetHeader(meta.GetHeadersByTags(optionUsage{}))
89
- table.Append(meta.GetValuesByTags(optionUsage{Key: defaultFlagAll, Name: "全部", Provider: ""}))
90
- for _, plugin := range plugins {
91
- ou := optionUsage{Key: plugin.Key(), Name: plugin.Name(), Provider: plugin.Owner(), Usage: plugin.Usage()}
92
- table.Append(meta.GetValuesByTags(ou))
93
- }
94
- table.EnableBorder(false)
95
- table.Render()
96
- return writer.String()
97
- }
@@ -1,114 +0,0 @@
1
- package command
2
-
3
- import (
4
- "fmt"
5
-
6
- "gitee.com/quant1x/quant1x/quant1x/data"
7
- "gitee.com/quant1x/quant1x/quant1x/exchange"
8
- "gitee.com/quant1x/quant1x/quant1x/market"
9
- cli "github.com/spf13/cobra"
10
- )
11
-
12
- const (
13
- updateCommand = "update"
14
- updateDescription = "更新数据"
15
- )
16
-
17
- var (
18
- // CmdUpdate 更新数据
19
- CmdUpdate *cli.Command = nil
20
- barIndex = 1
21
- )
22
-
23
- func initUpdate() {
24
- CmdUpdate = &cli.Command{
25
- Use: updateCommand,
26
- Example: Application + " " + updateCommand + " --all",
27
- //Args: args.MinimumNArgs(0),
28
- Args: func(cmd *cli.Command, args []string) error {
29
- return nil
30
- },
31
- Short: updateDescription,
32
- Long: updateDescription,
33
- Run: func(cmd *cli.Command, args []string) {
34
- fmt.Println()
35
- now := exchange.NowTimestamp()
36
- currentDate := exchange.LastTradingDay(now)
37
- tsStart, err := exchange.NewTimestampFromString(flagStartDate.Value)
38
- if err != nil {
39
- fmt.Printf("Error: 无效的开始日期: %s\n", flagStartDate.Value)
40
- _ = cmd.Usage()
41
- return
42
- }
43
- tsStart = tsStart.PreMarketTime()
44
- fmt.Println("开始日期:", tsStart.OnlyDate())
45
- tsEnd, err := exchange.NewTimestampFromString(flagEndDate.Value)
46
- if err != nil {
47
- fmt.Printf("Error: 无效的结束日期: %s\n", flagEndDate.Value)
48
- _ = cmd.Usage()
49
- return
50
- }
51
- tsEnd = tsEnd.PreMarketTime()
52
- fmt.Println("结束日期:", tsEnd.OnlyDate())
53
- plugins := []data.DataAdapter{}
54
- if flagAll.Value {
55
- // 全部更新
56
- //handleUpdateAll(cacheDate, featureDate)
57
- plugins = data.Plugins(0)
58
- } else {
59
- var basePlugins []data.DataAdapter
60
- var featurePlugins []data.DataAdapter
61
- if len(flagBaseData.Value) > 0 {
62
- all, keywords := parseFields(flagBaseData.Value)
63
- if all {
64
- basePlugins = data.Plugins(data.PluginMaskBaseData)
65
- } else if len(keywords) > 0 {
66
- basePlugins = data.PluginsWithName(data.PluginMaskBaseData, keywords...)
67
- }
68
- } else if len(flagFeatures.Value) > 0 {
69
- all, keywords := parseFields(flagFeatures.Value)
70
- if all {
71
- featurePlugins = data.Plugins(data.PluginMaskFeature)
72
- } else if len(keywords) > 0 {
73
- featurePlugins = data.PluginsWithName(data.PluginMaskFeature, keywords...)
74
- }
75
- } else {
76
- fmt.Println("Error: 非全部更新, 必须携带--features或--base")
77
- _ = cmd.Usage()
78
- return
79
- }
80
- plugins = append(plugins, basePlugins...)
81
- plugins = append(plugins, featurePlugins...)
82
- }
83
- fmt.Println("plugin num:", len(plugins))
84
- ts := exchange.DateRange(tsStart, tsEnd, false)
85
- fmt.Println(ts)
86
- fmt.Println("date count:", len(ts))
87
- codes := market.GetCodeList()
88
- fmt.Println("code count:", len(codes))
89
- for _, date := range ts {
90
- fmt.Println("处理日期:", date.OnlyDate())
91
- data.UpdateWithAdapters(plugins, date, codes)
92
- }
93
- _ = currentDate
94
- },
95
- }
96
- commandInit(CmdUpdate, &flagAll)
97
- commandInit(CmdUpdate, &flagStartDate)
98
- commandInit(CmdUpdate, &flagEndDate)
99
-
100
- // 1. 基础数据
101
- plugins := data.Plugins(data.PluginMaskBaseData)
102
- flagBaseData.Usage = getPluginsUsage(plugins)
103
- commandInit(CmdUpdate, &flagBaseData)
104
-
105
- // 2. 特征数据
106
- plugins = data.Plugins(data.PluginMaskFeature)
107
- flagFeatures.Usage = getPluginsUsage(plugins)
108
- commandInit(CmdUpdate, &flagFeatures)
109
-
110
- //// 3. 处理异常
111
- //CmdUpdate.SetFlagErrorFunc(func(cmd *cli.Command, err error) error {
112
- // return nil
113
- //})
114
- }
quant1x/config/base.go DELETED
@@ -1,16 +0,0 @@
1
- package config
2
-
3
- import (
4
- "fmt"
5
- )
6
-
7
- const (
8
- Cn_pre_market_hour = 9 ///< 盘前9点
9
- Cn_pre_market_minute = 0 ///< 盘点9点0分
10
- Cn_pre_market_second = 0 ///< 盘点9点0分0秒
11
- )
12
-
13
- var (
14
- // 每天9点整
15
- CronExprDaily9am = fmt.Sprintf("0 %d %d * * *", Cn_pre_market_minute, Cn_pre_market_hour)
16
- )