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.
- hikyuu/__init__.py +6 -0
- hikyuu/__init__.pyi +548 -546
- hikyuu/analysis/__init__.pyi +519 -514
- hikyuu/analysis/analysis.pyi +520 -515
- hikyuu/core.pyi +521 -516
- hikyuu/cpp/__init__.pyi +2 -2
- hikyuu/cpp/boost_date_time-mt.dll +0 -0
- hikyuu/cpp/boost_serialization-mt.dll +0 -0
- hikyuu/cpp/boost_wserialization-mt.dll +0 -0
- hikyuu/cpp/core310.pyd +0 -0
- hikyuu/cpp/core310.pyi +167 -36
- hikyuu/cpp/core311.pyd +0 -0
- hikyuu/cpp/core311.pyi +167 -36
- hikyuu/cpp/core312.pyd +0 -0
- hikyuu/cpp/core312.pyi +167 -36
- hikyuu/cpp/core313.pyd +0 -0
- hikyuu/cpp/core313.pyi +167 -36
- hikyuu/cpp/core39.pyd +0 -0
- hikyuu/cpp/core39.pyi +167 -36
- hikyuu/cpp/hikyuu.dll +0 -0
- hikyuu/cpp/hikyuu.lib +0 -0
- hikyuu/cpp/i18n/__init__.py +0 -0
- hikyuu/cpp/i18n/zh_CN.mo +0 -0
- hikyuu/cpp/sqlite3.dll +0 -0
- hikyuu/data/clickhouse_upgrade/__init__.py +1 -0
- hikyuu/data/clickhouse_upgrade/createdb.sql +1085 -0
- hikyuu/data/common.py +1 -1
- hikyuu/data/common_clickhouse.py +512 -0
- hikyuu/data/common_mysql.py +19 -0
- hikyuu/data/common_pytdx.py +2 -0
- hikyuu/data/common_sqlite3.py +1 -0
- hikyuu/data/em_block_to_clickhouse.py +120 -0
- hikyuu/data/hku_config_template.py +70 -1
- hikyuu/data/mysql_upgrade/0028.sql +95 -0
- hikyuu/data/pytdx_finance_to_clickhouse.py +107 -0
- hikyuu/data/pytdx_to_clickhouse.py +841 -0
- hikyuu/data/pytdx_to_h5.py +53 -13
- hikyuu/data/pytdx_to_mysql.py +42 -9
- hikyuu/data/pytdx_to_taos.py +736 -0
- hikyuu/data/pytdx_weight_to_clickhouse.py +191 -0
- hikyuu/data/sqlite_upgrade/0028.sql +97 -0
- hikyuu/data/tdx_to_clickhouse.py +448 -0
- hikyuu/data/zh_bond10_to_clickhouse.py +49 -0
- hikyuu/draw/__init__.pyi +1 -1
- hikyuu/draw/drawplot/__init__.pyi +8 -8
- hikyuu/draw/drawplot/bokeh_draw.pyi +538 -536
- hikyuu/draw/drawplot/common.pyi +1 -1
- hikyuu/draw/drawplot/echarts_draw.pyi +540 -538
- hikyuu/draw/drawplot/matplotlib_draw.py +7 -7
- hikyuu/draw/drawplot/matplotlib_draw.pyi +550 -548
- hikyuu/draw/elder.pyi +11 -11
- hikyuu/draw/kaufman.pyi +18 -18
- hikyuu/draw/volume.pyi +10 -10
- hikyuu/examples/notebook/001-overview.ipynb +65 -100
- hikyuu/examples/notebook/004-IndicatorOverview.ipynb +34 -32
- hikyuu/examples/notebook/007-SystemDetails.ipynb +64 -50
- hikyuu/examples/notebook/010-Portfolio.ipynb +120 -124
- hikyuu/extend.py +1 -1
- hikyuu/extend.pyi +527 -527
- hikyuu/fetcher/stock/zh_block_em.py +349 -5
- hikyuu/fetcher/stock/zh_stock_a_pytdx.py +11 -21
- hikyuu/fetcher/stock/zh_stock_a_qmt.py +4 -5
- hikyuu/fetcher/stock/zh_stock_a_sina_qq.py +16 -60
- hikyuu/flat/Spot.py +96 -200
- hikyuu/gui/HikyuuTDX.py +175 -23
- hikyuu/gui/data/ImportBlockInfoTask.py +12 -1
- hikyuu/gui/data/ImportHistoryFinanceTask.py +62 -44
- hikyuu/gui/data/ImportPytdxTimeToH5Task.py +14 -2
- hikyuu/gui/data/ImportPytdxToH5Task.py +17 -3
- hikyuu/gui/data/ImportPytdxTransToH5Task.py +14 -2
- hikyuu/gui/data/ImportTdxToH5Task.py +13 -1
- hikyuu/gui/data/ImportWeightToSqliteTask.py +16 -2
- hikyuu/gui/data/ImportZhBond10Task.py +12 -1
- hikyuu/gui/data/MainWindow.py +191 -110
- hikyuu/gui/data/UsePytdxImportToH5Thread.py +52 -29
- hikyuu/gui/data/UseQmtImportToH5Thread.py +1 -0
- hikyuu/gui/data/UseTdxImportToH5Thread.py +21 -2
- hikyuu/gui/dataserver.py +12 -4
- hikyuu/gui/spot_server.py +30 -40
- hikyuu/gui/start_qmt.py +20 -3
- hikyuu/hub.pyi +6 -6
- hikyuu/include/hikyuu/DataType.h +11 -0
- hikyuu/include/hikyuu/MarketInfo.h +6 -0
- hikyuu/include/hikyuu/StockManager.h +8 -0
- hikyuu/include/hikyuu/data_driver/BaseInfoDriver.h +35 -0
- hikyuu/include/hikyuu/data_driver/kdata/mysql/KRecordTable.h +1 -0
- hikyuu/include/hikyuu/global/GlobalSpotAgent.h +1 -1
- hikyuu/include/hikyuu/global/SpotRecord.h +15 -31
- hikyuu/include/hikyuu/global/agent/spot_generated.h +48 -232
- hikyuu/include/hikyuu/global/schedule/scheduler.h +1 -1
- hikyuu/include/hikyuu/indicator/build_in.h +1 -0
- hikyuu/include/hikyuu/indicator/crt/BARSLASTCOUNT.h +33 -0
- hikyuu/include/hikyuu/indicator/imp/IBarsLastCount.h +27 -0
- hikyuu/include/hikyuu/plugin/KDataToHdf5Importer.h +3 -0
- hikyuu/include/hikyuu/plugin/backtest.h +2 -2
- hikyuu/include/hikyuu/plugin/dataserver.h +26 -1
- hikyuu/include/hikyuu/plugin/device.h +8 -4
- hikyuu/include/hikyuu/plugin/interface/BackTestPluginInterface.h +1 -1
- hikyuu/include/hikyuu/plugin/interface/DataDriverPluginInterface.h +27 -0
- hikyuu/include/hikyuu/plugin/interface/DataServerPluginInterface.h +2 -1
- hikyuu/include/hikyuu/plugin/interface/DevicePluginInterface.h +2 -1
- hikyuu/include/hikyuu/plugin/interface/ImportKDataToHdf5PluginInterface.h +3 -0
- hikyuu/include/hikyuu/plugin/interface/TMReportPluginInterface.h +80 -0
- hikyuu/include/hikyuu/plugin/interface/plugins.h +4 -0
- hikyuu/include/hikyuu/strategy/Strategy.h +0 -9
- hikyuu/include/hikyuu/trade_manage/Performance.h +17 -9
- hikyuu/include/hikyuu/trade_manage/PositionExtInfo.h +92 -0
- hikyuu/include/hikyuu/trade_manage/PositionRecord.h +7 -1
- hikyuu/include/hikyuu/trade_manage/TradeManagerBase.h +60 -1
- hikyuu/include/hikyuu/trade_sys/selector/crt/SE_Optimal.h +8 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/optimal/OptimalEvaluateSelector.h +28 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/optimal/OptimalSelectorBase.h +1 -0
- hikyuu/include/hikyuu/utilities/DllLoader.h +226 -0
- hikyuu/include/hikyuu/utilities/config.h +1 -1
- hikyuu/include/hikyuu/utilities/datetime/Datetime.h +20 -0
- hikyuu/include/hikyuu/utilities/datetime/TimeDelta.h +6 -0
- hikyuu/include/hikyuu/utilities/mo/mo.h +30 -14
- hikyuu/include/hikyuu/utilities/os.h +6 -0
- hikyuu/include/hikyuu/utilities/plugin/PluginLoader.h +10 -10
- hikyuu/include/hikyuu/utilities/thread/MQThreadPool.h +13 -7
- hikyuu/include/hikyuu/utilities/thread/ThreadPool.h +13 -6
- hikyuu/include/hikyuu/version.h +4 -4
- hikyuu/plugin/backtest.dll +0 -0
- hikyuu/plugin/clickhousedriver.dll +0 -0
- hikyuu/plugin/dataserver.dll +0 -0
- hikyuu/plugin/device.dll +0 -0
- hikyuu/plugin/extind.dll +0 -0
- hikyuu/plugin/import2hdf5.dll +0 -0
- hikyuu/plugin/tmreport.dll +0 -0
- hikyuu/trade_manage/__init__.pyi +537 -535
- hikyuu/trade_manage/broker.pyi +3 -3
- hikyuu/trade_manage/broker_easytrader.pyi +1 -1
- hikyuu/trade_manage/trade.pyi +537 -535
- hikyuu/util/__init__.py +1 -0
- hikyuu/util/__init__.pyi +4 -3
- hikyuu/util/check.py +8 -0
- hikyuu/util/check.pyi +5 -1
- hikyuu/util/singleton.pyi +1 -1
- {hikyuu-2.6.3.dist-info → hikyuu-2.6.6.dist-info}/METADATA +4 -3
- {hikyuu-2.6.3.dist-info → hikyuu-2.6.6.dist-info}/RECORD +144 -123
- {hikyuu-2.6.3.dist-info → hikyuu-2.6.6.dist-info}/top_level.txt +2 -2
- hikyuu/include/hikyuu/global/agent/hikyuu/__init__.py +0 -1
- hikyuu/include/hikyuu/global/agent/hikyuu/flat/__init__.py +0 -1
- {hikyuu-2.6.3.dist-info → hikyuu-2.6.6.dist-info}/LICENSE +0 -0
- {hikyuu-2.6.3.dist-info → hikyuu-2.6.6.dist-info}/WHEEL +0 -0
- {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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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)
|