hikyuu 2.6.3__py3-none-win_amd64.whl → 2.6.6__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 +6 -0
  2. hikyuu/__init__.pyi +548 -546
  3. hikyuu/analysis/__init__.pyi +519 -514
  4. hikyuu/analysis/analysis.pyi +520 -515
  5. hikyuu/core.pyi +521 -516
  6. hikyuu/cpp/__init__.pyi +2 -2
  7. hikyuu/cpp/boost_date_time-mt.dll +0 -0
  8. hikyuu/cpp/boost_serialization-mt.dll +0 -0
  9. hikyuu/cpp/boost_wserialization-mt.dll +0 -0
  10. hikyuu/cpp/core310.pyd +0 -0
  11. hikyuu/cpp/core310.pyi +167 -36
  12. hikyuu/cpp/core311.pyd +0 -0
  13. hikyuu/cpp/core311.pyi +167 -36
  14. hikyuu/cpp/core312.pyd +0 -0
  15. hikyuu/cpp/core312.pyi +167 -36
  16. hikyuu/cpp/core313.pyd +0 -0
  17. hikyuu/cpp/core313.pyi +167 -36
  18. hikyuu/cpp/core39.pyd +0 -0
  19. hikyuu/cpp/core39.pyi +167 -36
  20. hikyuu/cpp/hikyuu.dll +0 -0
  21. hikyuu/cpp/hikyuu.lib +0 -0
  22. hikyuu/cpp/i18n/__init__.py +0 -0
  23. hikyuu/cpp/i18n/zh_CN.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.py +1 -1
  28. hikyuu/data/common_clickhouse.py +512 -0
  29. hikyuu/data/common_mysql.py +19 -0
  30. hikyuu/data/common_pytdx.py +2 -0
  31. hikyuu/data/common_sqlite3.py +1 -0
  32. hikyuu/data/em_block_to_clickhouse.py +120 -0
  33. hikyuu/data/hku_config_template.py +70 -1
  34. hikyuu/data/mysql_upgrade/0028.sql +95 -0
  35. hikyuu/data/pytdx_finance_to_clickhouse.py +107 -0
  36. hikyuu/data/pytdx_to_clickhouse.py +841 -0
  37. hikyuu/data/pytdx_to_h5.py +53 -13
  38. hikyuu/data/pytdx_to_mysql.py +42 -9
  39. hikyuu/data/pytdx_to_taos.py +736 -0
  40. hikyuu/data/pytdx_weight_to_clickhouse.py +191 -0
  41. hikyuu/data/sqlite_upgrade/0028.sql +97 -0
  42. hikyuu/data/tdx_to_clickhouse.py +448 -0
  43. hikyuu/data/zh_bond10_to_clickhouse.py +49 -0
  44. hikyuu/draw/__init__.pyi +1 -1
  45. hikyuu/draw/drawplot/__init__.pyi +8 -8
  46. hikyuu/draw/drawplot/bokeh_draw.pyi +538 -536
  47. hikyuu/draw/drawplot/common.pyi +1 -1
  48. hikyuu/draw/drawplot/echarts_draw.pyi +540 -538
  49. hikyuu/draw/drawplot/matplotlib_draw.py +7 -7
  50. hikyuu/draw/drawplot/matplotlib_draw.pyi +550 -548
  51. hikyuu/draw/elder.pyi +11 -11
  52. hikyuu/draw/kaufman.pyi +18 -18
  53. hikyuu/draw/volume.pyi +10 -10
  54. hikyuu/examples/notebook/001-overview.ipynb +65 -100
  55. hikyuu/examples/notebook/004-IndicatorOverview.ipynb +34 -32
  56. hikyuu/examples/notebook/007-SystemDetails.ipynb +64 -50
  57. hikyuu/examples/notebook/010-Portfolio.ipynb +120 -124
  58. hikyuu/extend.py +1 -1
  59. hikyuu/extend.pyi +527 -527
  60. hikyuu/fetcher/stock/zh_block_em.py +349 -5
  61. hikyuu/fetcher/stock/zh_stock_a_pytdx.py +11 -21
  62. hikyuu/fetcher/stock/zh_stock_a_qmt.py +4 -5
  63. hikyuu/fetcher/stock/zh_stock_a_sina_qq.py +16 -60
  64. hikyuu/flat/Spot.py +96 -200
  65. hikyuu/gui/HikyuuTDX.py +175 -23
  66. hikyuu/gui/data/ImportBlockInfoTask.py +12 -1
  67. hikyuu/gui/data/ImportHistoryFinanceTask.py +62 -44
  68. hikyuu/gui/data/ImportPytdxTimeToH5Task.py +14 -2
  69. hikyuu/gui/data/ImportPytdxToH5Task.py +17 -3
  70. hikyuu/gui/data/ImportPytdxTransToH5Task.py +14 -2
  71. hikyuu/gui/data/ImportTdxToH5Task.py +13 -1
  72. hikyuu/gui/data/ImportWeightToSqliteTask.py +16 -2
  73. hikyuu/gui/data/ImportZhBond10Task.py +12 -1
  74. hikyuu/gui/data/MainWindow.py +191 -110
  75. hikyuu/gui/data/UsePytdxImportToH5Thread.py +52 -29
  76. hikyuu/gui/data/UseQmtImportToH5Thread.py +1 -0
  77. hikyuu/gui/data/UseTdxImportToH5Thread.py +21 -2
  78. hikyuu/gui/dataserver.py +12 -4
  79. hikyuu/gui/spot_server.py +30 -40
  80. hikyuu/gui/start_qmt.py +20 -3
  81. hikyuu/hub.pyi +6 -6
  82. hikyuu/include/hikyuu/DataType.h +11 -0
  83. hikyuu/include/hikyuu/MarketInfo.h +6 -0
  84. hikyuu/include/hikyuu/StockManager.h +8 -0
  85. hikyuu/include/hikyuu/data_driver/BaseInfoDriver.h +35 -0
  86. hikyuu/include/hikyuu/data_driver/kdata/mysql/KRecordTable.h +1 -0
  87. hikyuu/include/hikyuu/global/GlobalSpotAgent.h +1 -1
  88. hikyuu/include/hikyuu/global/SpotRecord.h +15 -31
  89. hikyuu/include/hikyuu/global/agent/spot_generated.h +48 -232
  90. hikyuu/include/hikyuu/global/schedule/scheduler.h +1 -1
  91. hikyuu/include/hikyuu/indicator/build_in.h +1 -0
  92. hikyuu/include/hikyuu/indicator/crt/BARSLASTCOUNT.h +33 -0
  93. hikyuu/include/hikyuu/indicator/imp/IBarsLastCount.h +27 -0
  94. hikyuu/include/hikyuu/plugin/KDataToHdf5Importer.h +3 -0
  95. hikyuu/include/hikyuu/plugin/backtest.h +2 -2
  96. hikyuu/include/hikyuu/plugin/dataserver.h +26 -1
  97. hikyuu/include/hikyuu/plugin/device.h +8 -4
  98. hikyuu/include/hikyuu/plugin/interface/BackTestPluginInterface.h +1 -1
  99. hikyuu/include/hikyuu/plugin/interface/DataDriverPluginInterface.h +27 -0
  100. hikyuu/include/hikyuu/plugin/interface/DataServerPluginInterface.h +2 -1
  101. hikyuu/include/hikyuu/plugin/interface/DevicePluginInterface.h +2 -1
  102. hikyuu/include/hikyuu/plugin/interface/ImportKDataToHdf5PluginInterface.h +3 -0
  103. hikyuu/include/hikyuu/plugin/interface/TMReportPluginInterface.h +80 -0
  104. hikyuu/include/hikyuu/plugin/interface/plugins.h +4 -0
  105. hikyuu/include/hikyuu/strategy/Strategy.h +0 -9
  106. hikyuu/include/hikyuu/trade_manage/Performance.h +17 -9
  107. hikyuu/include/hikyuu/trade_manage/PositionExtInfo.h +92 -0
  108. hikyuu/include/hikyuu/trade_manage/PositionRecord.h +7 -1
  109. hikyuu/include/hikyuu/trade_manage/TradeManagerBase.h +60 -1
  110. hikyuu/include/hikyuu/trade_sys/selector/crt/SE_Optimal.h +8 -0
  111. hikyuu/include/hikyuu/trade_sys/selector/imp/optimal/OptimalEvaluateSelector.h +28 -0
  112. hikyuu/include/hikyuu/trade_sys/selector/imp/optimal/OptimalSelectorBase.h +1 -0
  113. hikyuu/include/hikyuu/utilities/DllLoader.h +226 -0
  114. hikyuu/include/hikyuu/utilities/config.h +1 -1
  115. hikyuu/include/hikyuu/utilities/datetime/Datetime.h +20 -0
  116. hikyuu/include/hikyuu/utilities/datetime/TimeDelta.h +6 -0
  117. hikyuu/include/hikyuu/utilities/mo/mo.h +30 -14
  118. hikyuu/include/hikyuu/utilities/os.h +6 -0
  119. hikyuu/include/hikyuu/utilities/plugin/PluginLoader.h +10 -10
  120. hikyuu/include/hikyuu/utilities/thread/MQThreadPool.h +13 -7
  121. hikyuu/include/hikyuu/utilities/thread/ThreadPool.h +13 -6
  122. hikyuu/include/hikyuu/version.h +4 -4
  123. hikyuu/plugin/backtest.dll +0 -0
  124. hikyuu/plugin/clickhousedriver.dll +0 -0
  125. hikyuu/plugin/dataserver.dll +0 -0
  126. hikyuu/plugin/device.dll +0 -0
  127. hikyuu/plugin/extind.dll +0 -0
  128. hikyuu/plugin/import2hdf5.dll +0 -0
  129. hikyuu/plugin/tmreport.dll +0 -0
  130. hikyuu/trade_manage/__init__.pyi +537 -535
  131. hikyuu/trade_manage/broker.pyi +3 -3
  132. hikyuu/trade_manage/broker_easytrader.pyi +1 -1
  133. hikyuu/trade_manage/trade.pyi +537 -535
  134. hikyuu/util/__init__.py +1 -0
  135. hikyuu/util/__init__.pyi +4 -3
  136. hikyuu/util/check.py +8 -0
  137. hikyuu/util/check.pyi +5 -1
  138. hikyuu/util/singleton.pyi +1 -1
  139. {hikyuu-2.6.3.dist-info → hikyuu-2.6.6.dist-info}/METADATA +4 -3
  140. {hikyuu-2.6.3.dist-info → hikyuu-2.6.6.dist-info}/RECORD +144 -123
  141. {hikyuu-2.6.3.dist-info → hikyuu-2.6.6.dist-info}/top_level.txt +2 -2
  142. hikyuu/include/hikyuu/global/agent/hikyuu/__init__.py +0 -1
  143. hikyuu/include/hikyuu/global/agent/hikyuu/flat/__init__.py +0 -1
  144. {hikyuu-2.6.3.dist-info → hikyuu-2.6.6.dist-info}/LICENSE +0 -0
  145. {hikyuu-2.6.3.dist-info → hikyuu-2.6.6.dist-info}/WHEEL +0 -0
  146. {hikyuu-2.6.3.dist-info → hikyuu-2.6.6.dist-info}/entry_points.txt +0 -0
@@ -30,6 +30,7 @@ from hikyuu.util.check import hku_catch
30
30
  from hikyuu.util.mylog import class_logger
31
31
  from hikyuu.data.tdx_to_h5 import tdx_import_data as h5_import_data
32
32
  from hikyuu.data.tdx_to_mysql import tdx_import_data as mysql_import_data
33
+ from hikyuu.data.tdx_to_clickhouse import tdx_import_data as clickhouse_import_data
33
34
  from hikyuu.util import capture_multiprocess_all_logger, get_default_logger
34
35
 
35
36
 
@@ -91,7 +92,7 @@ class ImportTdxToH5Task:
91
92
  import_data = h5_import_data
92
93
  self.logger.debug('use hdf5 import kdata')
93
94
  use_hdf = True
94
- else:
95
+ elif self.config.getboolean('mysql', 'enable', fallback=True):
95
96
  db_config = {
96
97
  'user': self.config['mysql']['usr'],
97
98
  'password': self.config['mysql']['pwd'],
@@ -101,6 +102,17 @@ class ImportTdxToH5Task:
101
102
  connect = mysql.connector.connect(**db_config)
102
103
  import_data = mysql_import_data
103
104
  self.logger.debug('use mysql import kdata')
105
+ elif self.config.getboolean('clickhouse', 'enable', fallback=True):
106
+ db_config = {
107
+ 'username': self.config['clickhouse']['usr'],
108
+ 'password': self.config['clickhouse']['pwd'],
109
+ 'host': self.config['clickhouse']['host'],
110
+ 'port': self.config['clickhouse']['http_port']
111
+ }
112
+ import clickhouse_connect
113
+ connect = clickhouse_connect.get_client(**db_config)
114
+ import_data = clickhouse_import_data
115
+ self.logger.debug('use clickhouse import kdata')
104
116
 
105
117
  count = 0
106
118
  try:
@@ -28,6 +28,7 @@ import hashlib
28
28
  import sqlite3
29
29
  import urllib.request
30
30
  import mysql.connector
31
+ import clickhouse_connect
31
32
 
32
33
  from pytdx.hq import TdxHq_API
33
34
  from hikyuu.data.common import MARKET, g_market_list
@@ -37,6 +38,8 @@ from hikyuu.data.pytdx_weight_to_sqlite import pytdx_import_weight_to_sqlite
37
38
  from hikyuu.data.pytdx_weight_to_mysql import pytdx_import_weight_to_mysql
38
39
  from hikyuu.data.pytdx_finance_to_sqlite import pytdx_import_finance_to_sqlite
39
40
  from hikyuu.data.pytdx_finance_to_mysql import pytdx_import_finance_to_mysql
41
+ from hikyuu.data.pytdx_finance_to_clickhouse import pytdx_import_finance_to_clickhouse
42
+ from hikyuu.data.pytdx_weight_to_clickhouse import pytdx_import_weight_to_clickhouse
40
43
  from hikyuu.util import capture_multiprocess_all_logger, get_default_logger
41
44
  from hikyuu.util.check import hku_catch, hku_check
42
45
 
@@ -67,7 +70,7 @@ class ImportWeightToSqliteTask:
67
70
  pytdx_import_weight = pytdx_import_weight_to_sqlite
68
71
  pytdx_import_finance = pytdx_import_finance_to_sqlite
69
72
  self.logger.debug('use sqlite import weight')
70
- else:
73
+ elif self.config.getboolean('mysql', 'enable', fallback=True):
71
74
  db_config = {
72
75
  'user': self.config['mysql']['usr'],
73
76
  'password': self.config['mysql']['pwd'],
@@ -78,6 +81,17 @@ class ImportWeightToSqliteTask:
78
81
  pytdx_import_weight = pytdx_import_weight_to_mysql
79
82
  pytdx_import_finance = pytdx_import_finance_to_mysql
80
83
  self.logger.debug('use mysql import weight')
84
+ elif self.config.getboolean('clickhouse', 'enable', fallback=True):
85
+ db_config = {
86
+ 'username': self.config['clickhouse']['usr'],
87
+ 'password': self.config['clickhouse']['pwd'],
88
+ 'host': self.config['clickhouse']['host'],
89
+ 'port': self.config['clickhouse']['http_port']
90
+ }
91
+ connect = clickhouse_connect.get_client(**db_config)
92
+ pytdx_import_weight = pytdx_import_weight_to_clickhouse
93
+ pytdx_import_finance = pytdx_import_finance_to_clickhouse
94
+ self.logger.debug('use clickhouse import weight')
81
95
 
82
96
  except Exception as e:
83
97
  # self.queue.put([self.msg_name, str(e), -1, 0, total_count])
@@ -107,7 +121,7 @@ class ImportWeightToSqliteTask:
107
121
  # self.queue.put([self.msg_name, str(e), -1, 0, total_count])
108
122
  self.queue.put([self.msg_name, 'INFO', str(e), 0, 0])
109
123
  finally:
110
- connect.commit()
124
+ api.close()
111
125
  connect.close()
112
126
 
113
127
  self.queue.put([self.msg_name, '', 0, None, total_count])
@@ -6,8 +6,10 @@
6
6
 
7
7
  import sqlite3
8
8
  import mysql.connector
9
+ import clickhouse_connect
9
10
  from hikyuu.data.zh_bond10_to_mysql import import_zh_bond10_to_mysql
10
11
  from hikyuu.data.zh_bond10_to_sqlite import import_zh_bond10_to_sqlite
12
+ from hikyuu.data.zh_bond10_to_clickhouse import import_zh_bond10_to_clickhouse
11
13
  from hikyuu.util import *
12
14
 
13
15
 
@@ -27,7 +29,7 @@ class ImportZhBond10Task:
27
29
  sqlite_file = "{}/stock.db".format(self.config['hdf5']['dir'])
28
30
  connect = sqlite3.connect(sqlite_file, timeout=1800)
29
31
  import_zh_bond10 = import_zh_bond10_to_sqlite
30
- else:
32
+ elif self.config.getboolean('mysql', 'enable', fallback=True):
31
33
  db_config = {
32
34
  'user': self.config['mysql']['usr'],
33
35
  'password': self.config['mysql']['pwd'],
@@ -36,6 +38,15 @@ class ImportZhBond10Task:
36
38
  }
37
39
  connect = mysql.connector.connect(**db_config)
38
40
  import_zh_bond10 = import_zh_bond10_to_mysql
41
+ elif self.config.getboolean('clickhouse', 'enable', fallback=True):
42
+ db_config = {
43
+ 'username': self.config['clickhouse']['usr'],
44
+ 'password': self.config['clickhouse']['pwd'],
45
+ 'host': self.config['clickhouse']['host'],
46
+ 'port': self.config['clickhouse']['http_port']
47
+ }
48
+ connect = clickhouse_connect.get_client(**db_config)
49
+ import_zh_bond10 = import_zh_bond10_to_clickhouse
39
50
 
40
51
  try:
41
52
  import_zh_bond10(connect)