hikyuu 2.7.2__py3-none-win_amd64.whl → 2.7.5__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 +21 -7
- hikyuu/__init__.pyi +16 -14
- hikyuu/analysis/__init__.pyi +2 -0
- hikyuu/analysis/analysis.pyi +3 -1
- hikyuu/core.pyi +4 -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 +123 -62
- hikyuu/cpp/core311.pyd +0 -0
- hikyuu/cpp/core311.pyi +123 -62
- hikyuu/cpp/core312.pyd +0 -0
- hikyuu/cpp/core312.pyi +123 -62
- hikyuu/cpp/core313.pyd +0 -0
- hikyuu/cpp/core313.pyi +123 -62
- hikyuu/cpp/hikyuu.dll +0 -0
- hikyuu/cpp/hikyuu.lib +0 -0
- hikyuu/cpp/i18n/zh_CN/hikyuu.mo +0 -0
- hikyuu/cpp/mimalloc-redirect.dll +0 -0
- hikyuu/cpp/mimalloc.dll +0 -0
- hikyuu/data/clickhouse_upgrade/0002.sql +9 -0
- hikyuu/data/common_mysql.py +1 -1
- hikyuu/data/em_block_to_mysql.py +16 -4
- hikyuu/data/em_block_to_sqlite.py +16 -4
- hikyuu/data/hku_config_template.py +21 -3
- hikyuu/data/mysql_upgrade/0030.sql +3 -0
- hikyuu/data/pytdx_to_h5.py +2 -2
- hikyuu/data/pytdx_to_mysql.py +5 -5
- hikyuu/data/sqlite_upgrade/0030.sql +5 -0
- hikyuu/data/tdx_to_clickhouse.py +2 -2
- hikyuu/data/tdx_to_h5.py +11 -11
- hikyuu/data/tdx_to_mysql.py +2 -2
- hikyuu/draw/__init__.pyi +1 -1
- hikyuu/draw/drawplot/bokeh_draw.pyi +8 -6
- hikyuu/draw/drawplot/echarts_draw.pyi +8 -6
- hikyuu/draw/drawplot/matplotlib_draw.py +19 -11
- hikyuu/draw/drawplot/matplotlib_draw.pyi +8 -6
- hikyuu/examples/notebook/001-overview.ipynb +112 -78
- hikyuu/examples/notebook/004-IndicatorOverview.ipynb +52 -65
- hikyuu/examples/notebook/006-TradeManager.ipynb +402 -291
- hikyuu/examples/notebook/008-Pickle.ipynb +25 -17
- hikyuu/examples/notebook/009-RealData.ipynb +36 -38
- hikyuu/examples/notebook/Demo/Demo2.ipynb +146 -116
- hikyuu/extend.pyi +5 -3
- hikyuu/gui/HikyuuTDX.py +20 -0
- hikyuu/gui/data/MainWindow.py +169 -133
- hikyuu/gui/data/UseTdxImportToH5Thread.py +4 -2
- hikyuu/gui/start_qmt.py +1 -1
- hikyuu/hub.pyi +6 -6
- hikyuu/include/hikyuu/Block.h +9 -9
- hikyuu/include/hikyuu/HistoryFinanceInfo.h +3 -3
- hikyuu/include/hikyuu/KData.h +51 -28
- hikyuu/include/hikyuu/KDataImp.h +12 -7
- hikyuu/include/hikyuu/KDataPrivatedBufferImp.h +13 -7
- hikyuu/include/hikyuu/KDataSharedBufferImp.h +8 -6
- hikyuu/include/hikyuu/KQuery.h +11 -11
- hikyuu/include/hikyuu/KRecord.h +1 -1
- hikyuu/include/hikyuu/MarketInfo.h +10 -10
- hikyuu/include/hikyuu/Stock.h +30 -30
- hikyuu/include/hikyuu/StockManager.h +24 -12
- hikyuu/include/hikyuu/StockTypeInfo.h +9 -9
- hikyuu/include/hikyuu/StockWeight.h +9 -9
- hikyuu/include/hikyuu/TimeLineRecord.h +1 -1
- hikyuu/include/hikyuu/TransRecord.h +1 -1
- hikyuu/include/hikyuu/data_driver/BaseInfoDriver.h +2 -1
- hikyuu/include/hikyuu/data_driver/BlockInfoDriver.h +6 -0
- hikyuu/include/hikyuu/data_driver/KDataDriver.h +6 -7
- hikyuu/include/hikyuu/data_driver/kdata/mysql/MySQLKDataDriver.h +5 -1
- hikyuu/include/hikyuu/data_driver/kdata/sqlite/SQLiteKDataDriver.h +1 -1
- hikyuu/include/hikyuu/global/sysinfo.h +1 -1
- hikyuu/include/hikyuu/indicator/IndParam.h +1 -1
- hikyuu/include/hikyuu/indicator/Indicator.h +56 -27
- hikyuu/include/hikyuu/indicator/Indicator2InImp.h +0 -4
- hikyuu/include/hikyuu/indicator/IndicatorImp.h +146 -73
- hikyuu/include/hikyuu/indicator/crt/CONTEXT.h +11 -1
- hikyuu/include/hikyuu/indicator/crt/IC.h +19 -14
- hikyuu/include/hikyuu/indicator/crt/ICIR.h +4 -7
- hikyuu/include/hikyuu/indicator/imp/IAbs.h +1 -0
- hikyuu/include/hikyuu/indicator/imp/IAcos.h +1 -0
- hikyuu/include/hikyuu/indicator/imp/IAd.h +0 -2
- hikyuu/include/hikyuu/indicator/imp/IAdvance.h +3 -0
- hikyuu/include/hikyuu/indicator/imp/IAma.h +3 -0
- hikyuu/include/hikyuu/indicator/imp/IAsin.h +1 -0
- hikyuu/include/hikyuu/indicator/imp/IAtan.h +1 -0
- hikyuu/include/hikyuu/indicator/imp/IAtr.h +2 -3
- hikyuu/include/hikyuu/indicator/imp/IBackset.h +2 -4
- hikyuu/include/hikyuu/indicator/imp/IBlockSetNum.h +3 -0
- hikyuu/include/hikyuu/indicator/imp/ICeil.h +1 -0
- hikyuu/include/hikyuu/indicator/imp/IContext.h +0 -3
- hikyuu/include/hikyuu/indicator/imp/ICorr.h +3 -0
- hikyuu/include/hikyuu/indicator/imp/ICos.h +1 -0
- hikyuu/include/hikyuu/indicator/imp/ICost.h +0 -2
- hikyuu/include/hikyuu/indicator/imp/ICount.h +2 -1
- hikyuu/include/hikyuu/indicator/imp/ICval.h +1 -4
- hikyuu/include/hikyuu/indicator/imp/ICycle.h +0 -2
- hikyuu/include/hikyuu/indicator/imp/IDecline.h +3 -0
- hikyuu/include/hikyuu/indicator/imp/IDevsq.h +4 -1
- hikyuu/include/hikyuu/indicator/imp/IDiff.h +1 -0
- hikyuu/include/hikyuu/indicator/imp/IDma.h +2 -0
- hikyuu/include/hikyuu/indicator/imp/IDropna.h +0 -4
- hikyuu/include/hikyuu/indicator/imp/IEma.h +3 -1
- hikyuu/include/hikyuu/indicator/imp/IEvery.h +5 -1
- hikyuu/include/hikyuu/indicator/imp/IExist.h +5 -1
- hikyuu/include/hikyuu/indicator/imp/IExp.h +1 -0
- hikyuu/include/hikyuu/indicator/imp/IFilter.h +4 -5
- hikyuu/include/hikyuu/indicator/imp/IFinance.h +1 -2
- hikyuu/include/hikyuu/indicator/imp/IFloor.h +1 -0
- hikyuu/include/hikyuu/indicator/imp/IHhvbars.h +5 -1
- hikyuu/include/hikyuu/indicator/imp/IHighLine.h +5 -1
- hikyuu/include/hikyuu/indicator/imp/IHsl.h +0 -2
- hikyuu/include/hikyuu/indicator/imp/IIc.h +3 -6
- hikyuu/include/hikyuu/indicator/imp/IInBlock.h +1 -2
- hikyuu/include/hikyuu/indicator/imp/IIntpart.h +1 -0
- hikyuu/include/hikyuu/indicator/imp/IIsInf.h +1 -0
- hikyuu/include/hikyuu/indicator/imp/IIsInfa.h +1 -0
- hikyuu/include/hikyuu/indicator/imp/IIsLastBar.h +0 -1
- hikyuu/include/hikyuu/indicator/imp/IIsNa.h +1 -0
- hikyuu/include/hikyuu/indicator/imp/IJumpDown.h +1 -0
- hikyuu/include/hikyuu/indicator/imp/IJumpUp.h +1 -0
- hikyuu/include/hikyuu/indicator/imp/IKData.h +1 -2
- hikyuu/include/hikyuu/indicator/imp/ILiuTongPan.h +0 -2
- hikyuu/include/hikyuu/indicator/imp/ILn.h +1 -0
- hikyuu/include/hikyuu/indicator/imp/ILog.h +1 -0
- hikyuu/include/hikyuu/indicator/imp/ILowLine.h +5 -1
- hikyuu/include/hikyuu/indicator/imp/ILowLineBars.h +5 -1
- hikyuu/include/hikyuu/indicator/imp/IMa.h +6 -1
- hikyuu/include/hikyuu/indicator/imp/IMacd.h +2 -0
- hikyuu/include/hikyuu/indicator/imp/INot.h +1 -0
- hikyuu/include/hikyuu/indicator/imp/IPow.h +3 -1
- hikyuu/include/hikyuu/indicator/imp/IQuantileTrunc.h +1 -0
- hikyuu/include/hikyuu/indicator/imp/IRecover.h +3 -0
- hikyuu/include/hikyuu/indicator/imp/IRef.h +3 -1
- hikyuu/include/hikyuu/indicator/imp/IResult.h +1 -0
- hikyuu/include/hikyuu/indicator/imp/IReverse.h +1 -0
- hikyuu/include/hikyuu/indicator/imp/IRoc.h +6 -1
- hikyuu/include/hikyuu/indicator/imp/IRocp.h +5 -1
- hikyuu/include/hikyuu/indicator/imp/IRocr.h +5 -1
- hikyuu/include/hikyuu/indicator/imp/IRocr100.h +5 -1
- hikyuu/include/hikyuu/indicator/imp/IRound.h +1 -0
- hikyuu/include/hikyuu/indicator/imp/IRoundDown.h +1 -0
- hikyuu/include/hikyuu/indicator/imp/IRoundUp.h +1 -0
- hikyuu/include/hikyuu/indicator/imp/ISaftyLoss.h +1 -0
- hikyuu/include/hikyuu/indicator/imp/ISign.h +1 -0
- hikyuu/include/hikyuu/indicator/imp/ISin.h +1 -0
- hikyuu/include/hikyuu/indicator/imp/ISlope.h +5 -1
- hikyuu/include/hikyuu/indicator/imp/ISma.h +2 -0
- hikyuu/include/hikyuu/indicator/imp/ISpearman.h +3 -0
- hikyuu/include/hikyuu/indicator/imp/ISqrt.h +1 -0
- hikyuu/include/hikyuu/indicator/imp/IStdev.h +5 -1
- hikyuu/include/hikyuu/indicator/imp/IStdp.h +5 -1
- hikyuu/include/hikyuu/indicator/imp/ISum.h +6 -1
- hikyuu/include/hikyuu/indicator/imp/ITan.h +1 -0
- hikyuu/include/hikyuu/indicator/imp/ITime.h +1 -2
- hikyuu/include/hikyuu/indicator/imp/ITimeLine.h +0 -2
- hikyuu/include/hikyuu/indicator/imp/ITr.h +1 -2
- hikyuu/include/hikyuu/indicator/imp/IVar.h +5 -1
- hikyuu/include/hikyuu/indicator/imp/IVarp.h +5 -1
- hikyuu/include/hikyuu/indicator/imp/IVigor.h +0 -2
- hikyuu/include/hikyuu/indicator/imp/IWma.h +5 -1
- hikyuu/include/hikyuu/indicator/imp/IZongGuBen.h +1 -2
- hikyuu/include/hikyuu/indicator_talib/imp/TaAdosc.h +0 -2
- hikyuu/include/hikyuu/indicator_talib/imp/TaSar.h +0 -2
- hikyuu/include/hikyuu/indicator_talib/imp/TaSarext.h +0 -4
- hikyuu/include/hikyuu/indicator_talib/imp/TaStoch.h +0 -3
- hikyuu/include/hikyuu/indicator_talib/imp/TaStochf.h +0 -2
- hikyuu/include/hikyuu/indicator_talib/imp/TaUltosc.h +0 -2
- hikyuu/include/hikyuu/indicator_talib/imp/ta_defines.h +2 -4
- hikyuu/include/hikyuu/indicator_talib/imp/ta_imp.h +70 -90
- hikyuu/include/hikyuu/plugin/extind.h +3 -0
- hikyuu/include/hikyuu/plugin/hkuextra.h +2 -0
- hikyuu/include/hikyuu/plugin/interface/HkuExtraPluginInterface.h +2 -0
- hikyuu/include/hikyuu/python/pybind_utils.h +22 -5
- hikyuu/include/hikyuu/trade_manage/TradeCostBase.h +5 -3
- hikyuu/include/hikyuu/trade_manage/TradeManagerBase.h +9 -3
- hikyuu/include/hikyuu/trade_sys/allocatefunds/AllocateFundsBase.h +8 -4
- hikyuu/include/hikyuu/trade_sys/condition/ConditionBase.h +5 -3
- hikyuu/include/hikyuu/trade_sys/environment/EnvironmentBase.h +6 -3
- hikyuu/include/hikyuu/trade_sys/moneymanager/MoneyManagerBase.h +5 -3
- hikyuu/include/hikyuu/trade_sys/multifactor/MultiFactorBase.h +23 -20
- hikyuu/include/hikyuu/trade_sys/multifactor/NormalizeBase.h +6 -4
- hikyuu/include/hikyuu/trade_sys/multifactor/ScoresFilterBase.h +5 -3
- hikyuu/include/hikyuu/trade_sys/multifactor/crt/MF_EqualWeight.h +3 -3
- hikyuu/include/hikyuu/trade_sys/multifactor/crt/MF_ICIRWeight.h +4 -4
- hikyuu/include/hikyuu/trade_sys/multifactor/crt/MF_ICWeight.h +4 -4
- hikyuu/include/hikyuu/trade_sys/multifactor/crt/MF_Weight.h +4 -4
- hikyuu/include/hikyuu/trade_sys/portfolio/Portfolio.h +16 -13
- hikyuu/include/hikyuu/trade_sys/profitgoal/ProfitGoalBase.h +4 -3
- hikyuu/include/hikyuu/trade_sys/selector/SelectorBase.h +12 -3
- hikyuu/include/hikyuu/trade_sys/selector/crt/SE_MultiFactor.h +1 -1
- hikyuu/include/hikyuu/trade_sys/selector/crt/SE_MultiFactor2.h +1 -1
- hikyuu/include/hikyuu/trade_sys/selector/imp/MultiFactorSelector.h +1 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/MultiFactorSelector2.h +1 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/optimal/OptimalSelectorBase.h +0 -2
- hikyuu/include/hikyuu/trade_sys/selector/imp/optimal/PerformanceOptimalSelector.h +0 -4
- hikyuu/include/hikyuu/trade_sys/signal/SignalBase.h +5 -3
- hikyuu/include/hikyuu/trade_sys/slippage/SlippageBase.h +5 -3
- hikyuu/include/hikyuu/trade_sys/stoploss/StoplossBase.h +5 -3
- hikyuu/include/hikyuu/trade_sys/system/System.h +6 -4
- hikyuu/include/hikyuu/utilities/LruCache.h +299 -0
- hikyuu/include/hikyuu/utilities/arithmetic.h +2 -2
- hikyuu/include/hikyuu/utilities/omp_macro.h +25 -0
- hikyuu/include/hikyuu/utilities/plugin/PluginManager.h +5 -0
- hikyuu/include/hikyuu/utilities/thread/GlobalStealThreadPool.h +72 -19
- hikyuu/include/hikyuu/utilities/thread/GlobalThreadPool.h +0 -4
- hikyuu/include/hikyuu/utilities/thread/MQStealThreadPool.h +1 -0
- hikyuu/include/hikyuu/utilities/thread/MQThreadPool.h +1 -0
- hikyuu/include/hikyuu/utilities/thread/StealThreadPool.h +1 -0
- hikyuu/include/hikyuu/utilities/thread/ThreadPool.h +1 -4
- hikyuu/include/hikyuu/utilities/thread/algorithm.h +286 -0
- hikyuu/include/hikyuu/version.h +4 -4
- hikyuu/plugin/backtest.dll +0 -0
- hikyuu/plugin/checkdata.dll +0 -0
- hikyuu/plugin/clickhousedriver.dll +0 -0
- hikyuu/plugin/dataserver.dll +0 -0
- hikyuu/plugin/dataserver_parquet.dll +0 -0
- hikyuu/plugin/device.dll +0 -0
- hikyuu/plugin/extind.dll +0 -0
- hikyuu/plugin/hkuextra.dll +0 -0
- hikyuu/plugin/import2ch.dll +0 -0
- hikyuu/plugin/import2hdf5.dll +0 -0
- hikyuu/plugin/import2mysql.dll +0 -0
- hikyuu/plugin/tmreport.dll +0 -0
- hikyuu/test/Indicator.py +1 -2
- hikyuu/trade_manage/__init__.pyi +7 -5
- hikyuu/trade_manage/trade.pyi +7 -5
- hikyuu/util/singleton.pyi +1 -1
- {hikyuu-2.7.2.dist-info → hikyuu-2.7.5.dist-info}/METADATA +2 -13
- {hikyuu-2.7.2.dist-info → hikyuu-2.7.5.dist-info}/RECORD +232 -225
- {hikyuu-2.7.2.dist-info → hikyuu-2.7.5.dist-info}/WHEEL +1 -1
- {hikyuu-2.7.2.dist-info → hikyuu-2.7.5.dist-info}/entry_points.txt +0 -0
- {hikyuu-2.7.2.dist-info → hikyuu-2.7.5.dist-info}/top_level.txt +0 -0
hikyuu/data/em_block_to_mysql.py
CHANGED
|
@@ -22,10 +22,22 @@ def em_import_block_to_mysql(connect):
|
|
|
22
22
|
|
|
23
23
|
hku_info("更新数据库")
|
|
24
24
|
cur = connect.cursor()
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
|
|
26
|
+
# 构建参数化的DELETE语句以防止SQL注入
|
|
27
|
+
categories = tuple(blks.keys())
|
|
28
|
+
if len(categories) == 1:
|
|
29
|
+
# 处理只有一个类别的特殊情况
|
|
30
|
+
placeholders = '%s'
|
|
31
|
+
params = categories
|
|
32
|
+
else:
|
|
33
|
+
placeholders = ','.join(['%s'] * len(categories)) # 创建相应数量的占位符
|
|
34
|
+
params = categories
|
|
35
|
+
|
|
36
|
+
sql = f"delete from hku_base.block where category in ({placeholders})"
|
|
37
|
+
cur.execute(sql, params)
|
|
38
|
+
|
|
39
|
+
sql = f"delete from hku_base.BlockIndex where category in ({placeholders})"
|
|
40
|
+
cur.execute(sql, params)
|
|
29
41
|
|
|
30
42
|
insert_records = []
|
|
31
43
|
|
|
@@ -23,10 +23,22 @@ def em_import_block_to_sqlite(connect):
|
|
|
23
23
|
|
|
24
24
|
hku_info("更新数据库")
|
|
25
25
|
cur = connect.cursor()
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
|
|
27
|
+
# 构建参数化的DELETE语句以防止SQL注入
|
|
28
|
+
categories = tuple(blks.keys())
|
|
29
|
+
if len(categories) == 1:
|
|
30
|
+
# 处理只有一个类别的特殊情况
|
|
31
|
+
placeholders = '?'
|
|
32
|
+
params = categories
|
|
33
|
+
else:
|
|
34
|
+
placeholders = ','.join(['?'] * len(categories)) # 创建相应数量的占位符
|
|
35
|
+
params = categories
|
|
36
|
+
|
|
37
|
+
sql = f"delete from block where category in ({placeholders})"
|
|
38
|
+
cur.execute(sql, params)
|
|
39
|
+
|
|
40
|
+
sql = f"delete from BlockIndex where category in ({placeholders})"
|
|
41
|
+
cur.execute(sql, params)
|
|
30
42
|
|
|
31
43
|
insert_records = []
|
|
32
44
|
|
|
@@ -54,6 +54,8 @@ min15 = {min15}
|
|
|
54
54
|
min30 = {min30}
|
|
55
55
|
min60 = {min60}
|
|
56
56
|
hour2= {hour2}
|
|
57
|
+
timeline = {timeline}
|
|
58
|
+
trans = {trans}
|
|
57
59
|
day_max = {day_max}
|
|
58
60
|
week_max = {week_max}
|
|
59
61
|
month_max = {month_max}
|
|
@@ -66,6 +68,8 @@ min15_max = {min15_max}
|
|
|
66
68
|
min30_max = {min30_max}
|
|
67
69
|
min60_max = {min60_max}
|
|
68
70
|
hour2_max = {hour2_max}
|
|
71
|
+
timeline_max = {timeline_max}
|
|
72
|
+
trans_max = {trans_max}
|
|
69
73
|
|
|
70
74
|
[baseinfo]
|
|
71
75
|
type = sqlite3
|
|
@@ -120,6 +124,8 @@ min15 = {min15}
|
|
|
120
124
|
min30 = {min30}
|
|
121
125
|
min60 = {min60}
|
|
122
126
|
hour2 = {hour2}
|
|
127
|
+
timeline = {timeline}
|
|
128
|
+
trans = {trans}
|
|
123
129
|
day_max = {day_max}
|
|
124
130
|
week_max = {week_max}
|
|
125
131
|
month_max = {month_max}
|
|
@@ -132,6 +138,8 @@ min15_max = {min15_max}
|
|
|
132
138
|
min30_max = {min30_max}
|
|
133
139
|
min60_max = {min60_max}
|
|
134
140
|
hour2_max = {hour2_max}
|
|
141
|
+
timeline_max = {timeline_max}
|
|
142
|
+
trans_max = {trans_max}
|
|
135
143
|
|
|
136
144
|
[baseinfo]
|
|
137
145
|
type = mysql
|
|
@@ -177,6 +185,8 @@ min15 = {min15}
|
|
|
177
185
|
min30 = {min30}
|
|
178
186
|
min60 = {min60}
|
|
179
187
|
hour2 = {hour2}
|
|
188
|
+
timeline = {timeline}
|
|
189
|
+
trans = {trans}
|
|
180
190
|
day_max = {day_max}
|
|
181
191
|
week_max = {week_max}
|
|
182
192
|
month_max = {month_max}
|
|
@@ -189,6 +199,8 @@ min15_max = {min15_max}
|
|
|
189
199
|
min30_max = {min30_max}
|
|
190
200
|
min60_max = {min60_max}
|
|
191
201
|
hour2_max = {hour2_max}
|
|
202
|
+
timeline_max = {timeline_max}
|
|
203
|
+
trans_max = {trans_max}
|
|
192
204
|
|
|
193
205
|
[baseinfo]
|
|
194
206
|
type = clickhouse
|
|
@@ -291,6 +303,8 @@ min15 = False
|
|
|
291
303
|
min30 = False
|
|
292
304
|
min60 = False
|
|
293
305
|
hour2 = False
|
|
306
|
+
timeline = False
|
|
307
|
+
trans = False
|
|
294
308
|
day_max = 100000
|
|
295
309
|
week_max = 100000
|
|
296
310
|
month_max = 100000
|
|
@@ -303,6 +317,8 @@ min15_max = 5120
|
|
|
303
317
|
min30_max = 5120
|
|
304
318
|
min60_max = 5120
|
|
305
319
|
hour2_max = 5120
|
|
320
|
+
timeline_max = 5120
|
|
321
|
+
trans_max = 5120
|
|
306
322
|
"""
|
|
307
323
|
|
|
308
324
|
|
|
@@ -314,13 +330,15 @@ def generate_default_config():
|
|
|
314
330
|
user_dir = os.path.expanduser('~')
|
|
315
331
|
data_dir = "c:\\stock" if sys.platform == 'win32' else f"{user_dir}/stock"
|
|
316
332
|
hdf5_config = hdf5_template.format(dir=data_dir, reload_time="00:00", quotation_server='ipc:///tmp/hikyuu_real.ipc',
|
|
317
|
-
day=True, week=False,
|
|
333
|
+
lazy_preload=False, day=True, week=False,
|
|
318
334
|
month=False, quarter=False, halfyear=False, year=False,
|
|
319
335
|
min1=False, min5=False, min15=False, min30=False,
|
|
320
|
-
min60=False, hour2=False,
|
|
336
|
+
min60=False, hour2=False, timeline=False, trans=False,
|
|
337
|
+
day_max=100000, week_max=100000,
|
|
321
338
|
month_max=100000, quarter_max=100000, halfyear_max=100000,
|
|
322
339
|
year_max=100000, min1_max=5120, min5_max=5120, min15_max=5120,
|
|
323
|
-
min30_max=5120, min60_max=5120, hour2_max=5120
|
|
340
|
+
min30_max=5120, min60_max=5120, hour2_max=5120,
|
|
341
|
+
timeline_max=5120, trans_max=5120)
|
|
324
342
|
config_dir = f"{user_dir}/.hikyuu"
|
|
325
343
|
if not os.path.lexists(config_dir):
|
|
326
344
|
os.makedirs(config_dir)
|
hikyuu/data/pytdx_to_h5.py
CHANGED
|
@@ -327,11 +327,11 @@ def import_one_stock_data(connect, api, h5file, market, ktype, stock_record, sta
|
|
|
327
327
|
hku_error(
|
|
328
328
|
f"fetch data from tdx error! {bar_datetime} {ktype} {market}{code} last_krecord close: {last_krecord['closePrice']*0.001}, bar: {bar['close']}")
|
|
329
329
|
return (0, False, Datetime(last_datetime))
|
|
330
|
-
if ktype == 'DAY' and last_krecord['transAmount'] != 0 and (abs(float(last_krecord['transAmount']) - round(bar["amount"]*0.001))) >
|
|
330
|
+
if ktype == 'DAY' and last_krecord['transAmount'] != 0 and (abs(float(last_krecord['transAmount']) - round(bar["amount"]*0.001))) > 10000:
|
|
331
331
|
hku_error(
|
|
332
332
|
f"fetch data from tdx error! {bar_datetime} {ktype} {market}{code} last_krecord amount: {float(last_krecord['transAmount'])}, bar: {round(bar['amount']*0.001)}")
|
|
333
333
|
return (0, False, Datetime(last_datetime))
|
|
334
|
-
if ktype == 'DAY' and last_krecord['transCount'] != 0 and abs(float(last_krecord['transCount']) - bar["vol"]) >
|
|
334
|
+
if ktype == 'DAY' and last_krecord['transCount'] != 0 and abs(float(last_krecord['transCount']) - bar["vol"]) > 10000:
|
|
335
335
|
hku_error(
|
|
336
336
|
f"fetch data from tdx error! {bar_datetime} {ktype} {market}{code} last_krecord count: {last_krecord['transCount']}, bar: {bar['vol']}")
|
|
337
337
|
return (0, False, Datetime(last_datetime))
|
hikyuu/data/pytdx_to_mysql.py
CHANGED
|
@@ -371,11 +371,11 @@ def import_one_stock_data(
|
|
|
371
371
|
hku_error(
|
|
372
372
|
f"fetch data from tdx error! {bar_datetime} {ktype} {market}{code} last_krecord close: {last_krecord[4]}, bar: {bar['close']}")
|
|
373
373
|
return (0, False, Datetime(last_datetime))
|
|
374
|
-
if ktype == 'DAY' and last_krecord[5] != 0.0 and abs(last_krecord[5] - bar["amount"]*0.001) >
|
|
374
|
+
if ktype == 'DAY' and last_krecord[5] != 0.0 and abs(last_krecord[5] - bar["amount"]*0.001) > 10000:
|
|
375
375
|
hku_error(
|
|
376
376
|
f"fetch data from tdx error! {bar_datetime} {ktype} {market}{code} last_krecord amount: {last_krecord[5]}, bar: {bar['amount']*0.001}")
|
|
377
377
|
return (0, False, Datetime(last_datetime))
|
|
378
|
-
if ktype == 'DAY' and last_krecord[6] != 0.0 and abs(last_krecord[6] - bar["vol"]) >
|
|
378
|
+
if ktype == 'DAY' and last_krecord[6] != 0.0 and abs(last_krecord[6] - bar["vol"]) > 10000:
|
|
379
379
|
hku_error(
|
|
380
380
|
f"fetch data from tdx error! {bar_datetime} {ktype} {market}{code} last_krecord count: {last_krecord[6]}, bar: {bar['vol']}")
|
|
381
381
|
return (0, False, Datetime(last_datetime))
|
|
@@ -523,11 +523,11 @@ def import_data(
|
|
|
523
523
|
'5MIN': 'MIN5'
|
|
524
524
|
}
|
|
525
525
|
nktype = ktype_dict[ktype]
|
|
526
|
-
|
|
527
|
-
if
|
|
526
|
+
importer = get_mysql_importer()
|
|
527
|
+
if importer is not None:
|
|
528
528
|
for r in failed_list:
|
|
529
529
|
hku_warn("remove {}{} {}: {}", r[0], r[1], nktype, r[2].start_of_day())
|
|
530
|
-
|
|
530
|
+
importer.remove(r[0], r[1], nktype, r[2].start_of_day())
|
|
531
531
|
hku_warn(f"已清理 {market} {failed_count} 个失败股票的最后记录,建议重新导入")
|
|
532
532
|
|
|
533
533
|
if failed_count >= failed_limit:
|
hikyuu/data/tdx_to_clickhouse.py
CHANGED
|
@@ -189,7 +189,7 @@ def tdx_import_day_data_from_file(connect, filename, ktype, market, stock_record
|
|
|
189
189
|
with open(filename, 'rb') as src_file:
|
|
190
190
|
data = src_file.read(32)
|
|
191
191
|
while data:
|
|
192
|
-
record = struct.unpack('
|
|
192
|
+
record = struct.unpack('IIIIIfII', data)
|
|
193
193
|
if lastdatetime and record[0] <= lastdatetime:
|
|
194
194
|
data = src_file.read(32)
|
|
195
195
|
continue
|
|
@@ -291,7 +291,7 @@ def tdx_import_min_data_from_file(connect, filename, ktype, market, stock_record
|
|
|
291
291
|
|
|
292
292
|
data = src_file.read(32)
|
|
293
293
|
while data:
|
|
294
|
-
record = struct.unpack('
|
|
294
|
+
record = struct.unpack('HHfffffII', data)
|
|
295
295
|
if record[3] >= record[2] >= record[4] > 0\
|
|
296
296
|
and record[3] >= record[5] >= record[4] > 0\
|
|
297
297
|
and record[5] >= 0 \
|
hikyuu/data/tdx_to_h5.py
CHANGED
|
@@ -124,14 +124,14 @@ def tdx_import_stock_name_from_file(connect, filename, market, quotations=None):
|
|
|
124
124
|
length = len(codepre[0])
|
|
125
125
|
if code[:length] == codepre[0]:
|
|
126
126
|
count += 1
|
|
127
|
-
#print(market, code, newStockDict[code], codepre)
|
|
127
|
+
# print(market, code, newStockDict[code], codepre)
|
|
128
128
|
sql = "insert into Stock(marketid, code, name, type, valid, startDate, endDate) \
|
|
129
129
|
values (%s, '%s', '%s', %s, %s, %s, %s)" \
|
|
130
130
|
% (marketid, code, newStockDict[code], codepre[1], 1, today, 99999999)
|
|
131
131
|
cur.execute(sql)
|
|
132
132
|
break
|
|
133
133
|
|
|
134
|
-
#print('%s新增股票数:%i' % (market.upper(), count))
|
|
134
|
+
# print('%s新增股票数:%i' % (market.upper(), count))
|
|
135
135
|
connect.commit()
|
|
136
136
|
cur.close()
|
|
137
137
|
return count
|
|
@@ -163,7 +163,7 @@ def tdx_import_day_data_from_file(connect, filename, h5file, market, stock_recor
|
|
|
163
163
|
with open(filename, 'rb') as src_file:
|
|
164
164
|
data = src_file.read(32)
|
|
165
165
|
while data:
|
|
166
|
-
record = struct.unpack('
|
|
166
|
+
record = struct.unpack('IIIIIfII', data)
|
|
167
167
|
if lastdatetime and record[0] <= lastdatetime:
|
|
168
168
|
data = src_file.read(32)
|
|
169
169
|
continue
|
|
@@ -191,8 +191,8 @@ def tdx_import_day_data_from_file(connect, filename, h5file, market, stock_recor
|
|
|
191
191
|
if add_record_count > 0:
|
|
192
192
|
table.flush()
|
|
193
193
|
|
|
194
|
-
|
|
195
|
-
#if valid == 0:
|
|
194
|
+
# 更新基础信息数据库中股票对应的起止日期及其有效标志
|
|
195
|
+
# if valid == 0:
|
|
196
196
|
cur = connect.cursor()
|
|
197
197
|
cur.execute(
|
|
198
198
|
"update stock set valid=1, startdate=%i, enddate=%i where stockid=%i" %
|
|
@@ -201,13 +201,13 @@ def tdx_import_day_data_from_file(connect, filename, h5file, market, stock_recor
|
|
|
201
201
|
connect.commit()
|
|
202
202
|
cur.close()
|
|
203
203
|
|
|
204
|
-
|
|
204
|
+
# 记录最新更新日期
|
|
205
205
|
if (code == '000001' and marketid == MARKETID.SH) \
|
|
206
|
-
or (code == '399001' and marketid == MARKETID.SZ)
|
|
206
|
+
or (code == '399001' and marketid == MARKETID.SZ):
|
|
207
207
|
update_last_date(connect, marketid, table[-1]['datetime'] / 10000)
|
|
208
208
|
|
|
209
209
|
elif table.nrows == 0:
|
|
210
|
-
#print(market, stock_record)
|
|
210
|
+
# print(market, stock_record)
|
|
211
211
|
table.remove()
|
|
212
212
|
|
|
213
213
|
return add_record_count
|
|
@@ -290,7 +290,7 @@ def tdx_import_min_data_from_file(connect, filename, h5file, market, stock_recor
|
|
|
290
290
|
|
|
291
291
|
data = src_file.read(32)
|
|
292
292
|
while data:
|
|
293
|
-
record = struct.unpack('
|
|
293
|
+
record = struct.unpack('HHfffffII', data)
|
|
294
294
|
if 0 not in record[2:6]:
|
|
295
295
|
if record[3] >= record[2] >= record[4] \
|
|
296
296
|
and record[3] >= record[5] >= record[4]:
|
|
@@ -314,7 +314,7 @@ def tdx_import_min_data_from_file(connect, filename, h5file, market, stock_recor
|
|
|
314
314
|
if add_record_count > 0:
|
|
315
315
|
table.flush()
|
|
316
316
|
elif table.nrows == 0:
|
|
317
|
-
#print(market, stock_record)
|
|
317
|
+
# print(market, stock_record)
|
|
318
318
|
table.remove()
|
|
319
319
|
|
|
320
320
|
return add_record_count
|
|
@@ -386,7 +386,7 @@ if __name__ == '__main__':
|
|
|
386
386
|
|
|
387
387
|
src_dir = "D:\\TdxW_HuaTai"
|
|
388
388
|
dest_dir = "c:\\stock"
|
|
389
|
-
quotations = ['stock', 'fund']
|
|
389
|
+
quotations = ['stock', 'fund'] # 通达信盘后数据没有债券
|
|
390
390
|
|
|
391
391
|
connect = sqlite3.connect(dest_dir + "\\stock.db")
|
|
392
392
|
create_database(connect)
|
hikyuu/data/tdx_to_mysql.py
CHANGED
|
@@ -171,7 +171,7 @@ def tdx_import_day_data_from_file(connect, filename, ktype, market, stock_record
|
|
|
171
171
|
with open(filename, 'rb') as src_file:
|
|
172
172
|
data = src_file.read(32)
|
|
173
173
|
while data:
|
|
174
|
-
record = struct.unpack('
|
|
174
|
+
record = struct.unpack('IIIIIfII', data)
|
|
175
175
|
if lastdatetime and record[0] <= lastdatetime:
|
|
176
176
|
data = src_file.read(32)
|
|
177
177
|
continue
|
|
@@ -297,7 +297,7 @@ def tdx_import_min_data_from_file(connect, filename, ktype, market, stock_record
|
|
|
297
297
|
|
|
298
298
|
data = src_file.read(32)
|
|
299
299
|
while data:
|
|
300
|
-
record = struct.unpack('
|
|
300
|
+
record = struct.unpack('HHfffffII', data)
|
|
301
301
|
if record[3] >= record[2] >= record[4] > 0\
|
|
302
302
|
and record[3] >= record[5] >= record[4] > 0\
|
|
303
303
|
and record[5] >= 0 \
|
hikyuu/draw/__init__.pyi
CHANGED
|
@@ -9,8 +9,8 @@ from hikyuu.draw.drawplot import gcf
|
|
|
9
9
|
from hikyuu.draw.drawplot import get_current_draw_engine
|
|
10
10
|
from hikyuu.draw.drawplot.matplotlib_draw import DRAWBAND
|
|
11
11
|
from hikyuu.draw.drawplot.matplotlib_draw import DRAWICON
|
|
12
|
-
from hikyuu.draw.drawplot.matplotlib_draw import DRAWIMG
|
|
13
12
|
from hikyuu.draw.drawplot.matplotlib_draw import DRAWIMG as DRAWBMP
|
|
13
|
+
from hikyuu.draw.drawplot.matplotlib_draw import DRAWIMG
|
|
14
14
|
from hikyuu.draw.drawplot.matplotlib_draw import DRAWLINE
|
|
15
15
|
from hikyuu.draw.drawplot.matplotlib_draw import DRAWNUMBER
|
|
16
16
|
from hikyuu.draw.drawplot.matplotlib_draw import DRAWNUMBER_FIX
|
|
@@ -114,6 +114,7 @@ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 impo
|
|
|
114
114
|
from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import AGG_STD
|
|
115
115
|
from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import AGG_SUM
|
|
116
116
|
from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import AGG_VAR
|
|
117
|
+
from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import AGG_VWAP
|
|
117
118
|
from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import ALIGN
|
|
118
119
|
from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import AMA
|
|
119
120
|
from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import ASIN
|
|
@@ -202,8 +203,8 @@ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 impo
|
|
|
202
203
|
from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import KALMAN
|
|
203
204
|
from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import KDATA_PART
|
|
204
205
|
from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LAST
|
|
205
|
-
from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LASTVALUE as CONST
|
|
206
206
|
from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LASTVALUE
|
|
207
|
+
from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LASTVALUE as CONST
|
|
207
208
|
from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LIUTONGPAN
|
|
208
209
|
from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LIUTONGPAN as CAPITAL
|
|
209
210
|
from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LLV
|
|
@@ -316,8 +317,8 @@ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 impo
|
|
|
316
317
|
from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import SP_TruncNormal
|
|
317
318
|
from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import SP_Uniform
|
|
318
319
|
from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import SQRT
|
|
319
|
-
from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import STDEV as STD
|
|
320
320
|
from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import STDEV
|
|
321
|
+
from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import STDEV as STD
|
|
321
322
|
from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import STDP
|
|
322
323
|
from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import ST_FixedPercent
|
|
323
324
|
from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import ST_Indicator
|
|
@@ -545,6 +546,7 @@ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 impo
|
|
|
545
546
|
from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import crt_sys_strategy
|
|
546
547
|
from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import dates_to_np
|
|
547
548
|
from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import df_to_krecords
|
|
549
|
+
from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import enable_kdata_cache
|
|
548
550
|
from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import fetch_trial_license
|
|
549
551
|
from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import find_optimal_system
|
|
550
552
|
from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import find_optimal_system_multi
|
|
@@ -632,8 +634,8 @@ from hikyuu.hub import get_part_info
|
|
|
632
634
|
from hikyuu.hub import get_part_list
|
|
633
635
|
from hikyuu.hub import get_part_module
|
|
634
636
|
from hikyuu.hub import get_part_name_list
|
|
635
|
-
from hikyuu.hub import print_part_info as help_part
|
|
636
637
|
from hikyuu.hub import print_part_info
|
|
638
|
+
from hikyuu.hub import print_part_info as help_part
|
|
637
639
|
from hikyuu.hub import remove_hub
|
|
638
640
|
from hikyuu.hub import search_part
|
|
639
641
|
from hikyuu.hub import update_hub
|
|
@@ -684,8 +686,8 @@ from hikyuu.util.mylog import class_logger
|
|
|
684
686
|
from hikyuu.util.mylog import hku_benchmark
|
|
685
687
|
from hikyuu.util.mylog import hku_debug as hku_trace
|
|
686
688
|
from hikyuu.util.mylog import hku_debug
|
|
687
|
-
from hikyuu.util.mylog import hku_debug_if as hku_trace_if
|
|
688
689
|
from hikyuu.util.mylog import hku_debug_if
|
|
690
|
+
from hikyuu.util.mylog import hku_debug_if as hku_trace_if
|
|
689
691
|
from hikyuu.util.mylog import hku_error
|
|
690
692
|
from hikyuu.util.mylog import hku_error_if
|
|
691
693
|
from hikyuu.util.mylog import hku_fatal
|
|
@@ -700,7 +702,6 @@ from hikyuu.util.mylog import with_trace
|
|
|
700
702
|
from hikyuu.util.notebook import in_interactive_session
|
|
701
703
|
from hikyuu.util.notebook import in_ipython_frontend
|
|
702
704
|
from hikyuu.util.timeout import timeout
|
|
703
|
-
import io as io
|
|
704
705
|
import locale as locale
|
|
705
706
|
import logging
|
|
706
707
|
import numpy as np
|
|
@@ -709,8 +710,9 @@ import pandas as pd
|
|
|
709
710
|
from pathlib import Path
|
|
710
711
|
import pickle as pickle
|
|
711
712
|
import sys as sys
|
|
713
|
+
import time as time
|
|
712
714
|
import traceback as traceback
|
|
713
|
-
__all__ = ['ABS', 'ACOS', 'AD', 'ADVANCE', 'AF_EqualWeight', 'AF_FixedAmount', 'AF_FixedWeight', 'AF_FixedWeightList', 'AF_MultiFactor', 'AGG_COUNT', 'AGG_FUNC', 'AGG_MAD', 'AGG_MAX', 'AGG_MEAN', 'AGG_MEDIAN', 'AGG_MIN', 'AGG_PROD', 'AGG_QUANTILE', 'AGG_STD', 'AGG_SUM', 'AGG_VAR', 'ALIGN', 'AMA', 'AMO', 'ASIN', 'ATAN', 'ATR', 'AVEDEV', 'AllocateFundsBase', 'BACKSET', 'BARSCOUNT', 'BARSLAST', 'BARSLASTCOUNT', 'BARSSINCE', 'BARSSINCEN', 'BASE_DIR', 'BETWEEN', 'BLOCKSETNUM', 'BUSINESS', 'Block', 'BlockInfoDriver', 'BorrowRecord', 'BrokerPositionRecord', 'CAPITAL', 'CEILING', 'CLOSE', 'CN_Bool', 'CN_OPLine', 'CONST', 'CONTEXT', 'CONTEXT_K', 'CORR', 'COS', 'COST', 'COUNT', 'CROSS', 'CVAL', 'CYCLE', 'C_AMO', 'C_CLOSE', 'C_HIGH', 'C_KDATA', 'C_LOW', 'C_OPEN', 'C_VOL', 'ColumnDataSource', 'ConditionBase', 'Constant', 'CostRecord', 'DATE', 'DAY', 'DEBUG', 'DECLINE', 'DEVSQ', 'DIFF', 'DISCARD', 'DMA', 'DOWNNDAY', 'DROPNA', 'DataDriverFactory', 'Datetime', 'DatetimeList', 'DatetimeList_to_df', 'DatetimeList_to_np', 'DatetimeTickFormatter', 'Datetime_date', 'Datetime_datetime', 'Days', 'EMA', 'ERROR', 'EVERY', 'EV_Bool', 'EV_TwoLine', 'EXIST', 'EXP', 'EasyTraderOrderBroker', 'EnvironmentBase', 'FATAL', 'FILTER', 'FINANCE', 'FLOOR', 'FundsRecord', 'GROUP_COUNT', 'GROUP_FUNC', 'GROUP_MAX', 'GROUP_MEAN', 'GROUP_MIN', 'GROUP_PROD', 'GROUP_SUM', 'HHV', 'HHVBARS', 'HIGH', 'HKUCheckError', 'HKUException', 'HOUR', 'HSL', 'Hours', 'HoverTool', 'IC', 'ICIR', 'IF', 'INBLOCK', 'INDEXA', 'INDEXADV', 'INDEXC', 'INDEXDEC', 'INDEXH', 'INDEXL', 'INDEXO', 'INDEXV', 'INFO', 'INSUM', 'INTPART', 'IR', 'ISINF', 'ISINFA', 'ISLASTBAR', 'ISNA', 'IndParam', 'Indicator', 'IndicatorImp', 'JUMPDOWN', 'JUMPUP', 'KALMAN', 'KDATA', 'KDATA_PART', 'KDJ', 'KData', 'KDataDriver', 'KDataToClickHouseImporter', 'KDataToHdf5Importer', 'KDataToMySQLImporter', 'KRecord', 'KRecordList', 'LAST', 'LASTVALUE', 'LIUTONGPAN', 'LLV', 'LLVBARS', 'LN', 'LOG', 'LOG_LEVEL', 'LONGCROSS', 'LOW', 'Label', 'LoanRecord', 'LoggingContext', 'MA', 'MACD', 'MAX', 'MDD', 'MF_EqualWeight', 'MF_ICIRWeight', 'MF_ICWeight', 'MF_Weight', 'MIN', 'MINUTE', 'MM_FixedCapital', 'MM_FixedCapitalFunds', 'MM_FixedCount', 'MM_FixedCountTps', 'MM_FixedPercent', 'MM_FixedRisk', 'MM_FixedUnits', 'MM_Nothing', 'MM_WilliamsFixedRisk', 'MOD', 'MONTH', 'MRR', 'MailOrderBroker', 'MarketInfo', 'Microseconds', 'Milliseconds', 'Minutes', 'MoneyManagerBase', 'MultiFactorBase', 'NDAY', 'NORM_MinMax', 'NORM_NOTHING', 'NORM_Quantile', 'NORM_Quantile_Uniform', 'NORM_Zscore', 'NOT', 'NormalizeBase', 'OFF', 'OPEN', 'OrderBrokerBase', 'OrderBrokerWrap', 'PF_Simple', 'PF_WithoutAF', 'PG_FixedHoldDays', 'PG_FixedPercent', 'PG_NoGoal', 'POS', 'POW', 'PRICELIST', 'Parameter', 'Parameter_items', 'Parameter_iter', 'Parameter_keys', 'Parameter_to_dict', 'Path', 'Performance', 'Performance_to_df', 'Portfolio', 'PositionRecord', 'PositionRecordList', 'ProfitGoalBase', 'QUANTILE_TRUNC', 'Query', 'RANK', 'RECOVER_BACKWARD', 'RECOVER_EQUAL_BACKWARD', 'RECOVER_EQUAL_FORWARD', 'RECOVER_FORWARD', 'REF', 'REFX', 'REPLACE', 'RESULT', 'REVERSE', 'ROC', 'ROCP', 'ROCR', 'ROCR100', 'ROUND', 'ROUNDDOWN', 'ROUNDUP', 'RSI', 'SAFTYLOSS', 'SCFilter_AmountLimit', 'SCFilter_Group', 'SCFilter_IgnoreNan', 'SCFilter_LessOrEqualValue', 'SCFilter_Price', 'SCFilter_TopN', 'SE_EvaluateOptimal', 'SE_Fixed', 'SE_MaxFundsOptimal', 'SE_MultiFactor', 'SE_MultiFactor2', 'SE_PerformanceOptimal', 'SE_Signal', 'SGN', 'SG_Add', 'SG_AllwaysBuy', 'SG_And', 'SG_Band', 'SG_Bool', 'SG_Buy', 'SG_Cross', 'SG_CrossGold', 'SG_Cycle', 'SG_Div', 'SG_Flex', 'SG_Mul', 'SG_OneSide', 'SG_Or', 'SG_Sell', 'SG_Single', 'SG_Single2', 'SG_Sub', 'SIN', 'SLICE', 'SLOPE', 'SMA', 'SPEARMAN', 'SP_FixedPercent', 'SP_FixedValue', 'SP_LogNormal', 'SP_Normal', 'SP_TruncNormal', 'SP_Uniform', 'SQRT', 'STD', 'STDEV', 'STDP', 'ST_FixedPercent', 'ST_Indicator', 'ST_Saftyloss', 'SUM', 'SUMBARS', 'SYS_Simple', 'SYS_WalkForward', 'ScoreRecord', 'ScoreRecordList', 'ScoresFilterBase', 'Seconds', 'SelectorBase', 'SignalBase', 'SlippageBase', 'SpotRecord', 'Stock', 'StockManager', 'StockTypeInfo', 'StockWeight', 'StockWeightList', 'StoplossBase', 'Strategy', 'StrategyContext', 'System', 'SystemPart', 'SystemWeight', 'SystemWeightList', 'TAN', 'TA_ACCBANDS', 'TA_ACOS', 'TA_AD', 'TA_ADD', 'TA_ADOSC', 'TA_ADX', 'TA_ADXR', 'TA_APO', 'TA_AROON', 'TA_AROONOSC', 'TA_ASIN', 'TA_ATAN', 'TA_ATR', 'TA_AVGDEV', 'TA_AVGPRICE', 'TA_BBANDS', 'TA_BETA', 'TA_BOP', 'TA_CCI', 'TA_CDL2CROWS', 'TA_CDL3BLACKCROWS', 'TA_CDL3INSIDE', 'TA_CDL3LINESTRIKE', 'TA_CDL3OUTSIDE', 'TA_CDL3STARSINSOUTH', 'TA_CDL3WHITESOLDIERS', 'TA_CDLABANDONEDBABY', 'TA_CDLADVANCEBLOCK', 'TA_CDLBELTHOLD', 'TA_CDLBREAKAWAY', 'TA_CDLCLOSINGMARUBOZU', 'TA_CDLCONCEALBABYSWALL', 'TA_CDLCOUNTERATTACK', 'TA_CDLDARKCLOUDCOVER', 'TA_CDLDOJI', 'TA_CDLDOJISTAR', 'TA_CDLDRAGONFLYDOJI', 'TA_CDLENGULFING', 'TA_CDLEVENINGDOJISTAR', 'TA_CDLEVENINGSTAR', 'TA_CDLGAPSIDESIDEWHITE', 'TA_CDLGRAVESTONEDOJI', 'TA_CDLHAMMER', 'TA_CDLHANGINGMAN', 'TA_CDLHARAMI', 'TA_CDLHARAMICROSS', 'TA_CDLHIGHWAVE', 'TA_CDLHIKKAKE', 'TA_CDLHIKKAKEMOD', 'TA_CDLHOMINGPIGEON', 'TA_CDLIDENTICAL3CROWS', 'TA_CDLINNECK', 'TA_CDLINVERTEDHAMMER', 'TA_CDLKICKING', 'TA_CDLKICKINGBYLENGTH', 'TA_CDLLADDERBOTTOM', 'TA_CDLLONGLEGGEDDOJI', 'TA_CDLLONGLINE', 'TA_CDLMARUBOZU', 'TA_CDLMATCHINGLOW', 'TA_CDLMATHOLD', 'TA_CDLMORNINGDOJISTAR', 'TA_CDLMORNINGSTAR', 'TA_CDLONNECK', 'TA_CDLPIERCING', 'TA_CDLRICKSHAWMAN', 'TA_CDLRISEFALL3METHODS', 'TA_CDLSEPARATINGLINES', 'TA_CDLSHOOTINGSTAR', 'TA_CDLSHORTLINE', 'TA_CDLSPINNINGTOP', 'TA_CDLSTALLEDPATTERN', 'TA_CDLSTICKSANDWICH', 'TA_CDLTAKURI', 'TA_CDLTASUKIGAP', 'TA_CDLTHRUSTING', 'TA_CDLTRISTAR', 'TA_CDLUNIQUE3RIVER', 'TA_CDLUPSIDEGAP2CROWS', 'TA_CDLXSIDEGAP3METHODS', 'TA_CEIL', 'TA_CMO', 'TA_CORREL', 'TA_COS', 'TA_COSH', 'TA_DEMA', 'TA_DIV', 'TA_DX', 'TA_EMA', 'TA_EXP', 'TA_FLOOR', 'TA_HT_DCPERIOD', 'TA_HT_DCPHASE', 'TA_HT_PHASOR', 'TA_HT_SINE', 'TA_HT_TRENDLINE', 'TA_HT_TRENDMODE', 'TA_IMI', 'TA_KAMA', 'TA_LINEARREG', 'TA_LINEARREG_ANGLE', 'TA_LINEARREG_INTERCEPT', 'TA_LINEARREG_SLOPE', 'TA_LN', 'TA_LOG10', 'TA_MA', 'TA_MACD', 'TA_MACDEXT', 'TA_MACDFIX', 'TA_MAMA', 'TA_MAVP', 'TA_MAX', 'TA_MAXINDEX', 'TA_MEDPRICE', 'TA_MFI', 'TA_MIDPOINT', 'TA_MIDPRICE', 'TA_MIN', 'TA_MININDEX', 'TA_MINMAX', 'TA_MINMAXINDEX', 'TA_MINUS_DI', 'TA_MINUS_DM', 'TA_MOM', 'TA_MULT', 'TA_NATR', 'TA_OBV', 'TA_PLUS_DI', 'TA_PLUS_DM', 'TA_PPO', 'TA_ROC', 'TA_ROCP', 'TA_ROCR', 'TA_ROCR100', 'TA_RSI', 'TA_SAR', 'TA_SAREXT', 'TA_SIN', 'TA_SINH', 'TA_SMA', 'TA_SQRT', 'TA_STDDEV', 'TA_STOCH', 'TA_STOCHF', 'TA_STOCHRSI', 'TA_SUB', 'TA_SUM', 'TA_T3', 'TA_TAN', 'TA_TANH', 'TA_TEMA', 'TA_TRANGE', 'TA_TRIMA', 'TA_TRIX', 'TA_TSF', 'TA_TYPPRICE', 'TA_ULTOSC', 'TA_VAR', 'TA_WCLPRICE', 'TA_WILLR', 'TA_WMA', 'TC_FixedA', 'TC_FixedA2015', 'TC_FixedA2017', 'TC_TestStub', 'TC_Zero', 'TIME', 'TIMELINE', 'TIMELINEVOL', 'TR', 'TRACE', 'TURNOVER', 'TestOrderBroker', 'TimeDelta', 'TimeDelta_timedelta', 'TimeLineList', 'TimeLineRecord', 'Title', 'TradeCostBase', 'TradeManager', 'TradeRecord', 'TradeRecordList', 'TradeRequest', 'TransList', 'TransRecord', 'UPNDAY', 'UTCOffset', 'VALUE', 'VAR', 'VARP', 'VIGOR', 'VOL', 'WARN', 'WEAVE', 'WEEK', 'WINNER', 'WITHDAY', 'WITHHALFYEAR', 'WITHHOUR', 'WITHHOUR2', 'WITHHOUR4', 'WITHKTYPE', 'WITHMIN', 'WITHMIN15', 'WITHMIN30', 'WITHMIN5', 'WITHMIN60', 'WITHMONTH', 'WITHQUARTER', 'WITHWEEK', 'WITHYEAR', 'WMA', 'YEAR', 'ZHBOND10', 'ZONGGUBEN', 'ZSCORE', 'active_device', 'add_class_logger_handler', 'add_local_hub', 'add_remote_hub', 'analysis', 'analysis_sys_list', 'analysis_sys_list_multi', 'atexit', 'ax_draw_macd', 'ax_draw_macd2', 'ax_fill_between', 'ax_set_xlim', 'ax_set_ylim', 'backtest', 'batch_calculate_inds', 'bind_email', 'broker', 'broker_easytrader', 'broker_mail', 'build_hub', 'can_upgrade', 'capture_multiprocess_all_logger', 'check_data', 'class_logger', 'close_ostream_to_python', 'close_spend_time', 'column', 'combinate_ind', 'combinate_ind_analysis', 'combinate_ind_analysis_multi', 'combinate_index', 'concat_to_df', 'constant', 'core', 'cpp', 'create_figure', 'create_one_axes_figure', 'create_three_axes_figure', 'create_two_axes_figure', 'crtAF', 'crtBrokerTM', 'crtCN', 'crtEV', 'crtMF', 'crtMM', 'crtNorm', 'crtOB', 'crtPG', 'crtSCFilter', 'crtSE', 'crtSEOptimal', 'crtSG', 'crtSP', 'crtST', 'crtTM', 'crt_pf_strategy', 'crt_sys_strategy', 'current_path', 'date', 'dates_to_np', 'datetime', 'df_to_ind', 'df_to_krecords', 'dll_directory', 'extend', 'fetch_trial_license', 'figure', 'find_optimal_system', 'find_optimal_system_multi', 'g_axes', 'g_figure', 'g_use_in_notbook', 'gca', 'gcf', 'get_block', 'get_business_name', 'get_color', 'get_current_hub', 'get_data_from_buffer_server', 'get_date_format', 'get_date_range', 'get_expire_date', 'get_funds_list', 'get_hub_name_list', 'get_hub_path', 'get_kdata', 'get_latest_version_info', 'get_log_level', 'get_part', 'get_part_info', 'get_part_list', 'get_part_module', 'get_part_name_list', 'get_spot_from_buffer_server', 'get_stock', 'get_system_part_enum', 'get_system_part_name', 'get_version', 'get_version_git', 'get_version_with_build', 'help_part', 'hikyuu_init', 'hku_benchmark', 'hku_catch', 'hku_check', 'hku_check_ignore', 'hku_check_throw', 'hku_debug', 'hku_debug_if', 'hku_error', 'hku_error_if', 'hku_fatal', 'hku_fatal_if', 'hku_info', 'hku_info_if', 'hku_logger', 'hku_run_ignore_exception', 'hku_to_async', 'hku_trace', 'hku_trace_if', 'hku_warn', 'hku_warn_if', 'hub', 'ibar', 'in_interactive_session', 'in_ipython_frontend', 'indicator', 'inner_analysis_sys_list', 'inner_combinate_ind_analysis', 'inner_combinate_ind_analysis_with_block', 'io', 'iplot', 'is_valid_license', 'isinf', 'isnan', 'kplot', 'krecords_to_df', 'krecords_to_np', 'locale', 'mkplot', 'new_Query_init', 'new_path', 'np', 'old_Query_init', 'open_ostream_to_python', 'open_spend_time', 'os', 'output_file', 'output_notebook', 'parallel_run_pf', 'parallel_run_sys', 'part_clone', 'part_init', 'part_iter', 'pd', 'pickle', 'positions_to_df', 'positions_to_np', 'print_part_info', 'pyind', 'register_extra_ktype', 'release_extra_ktype', 'remove_hub', 'remove_license', 'roundDown', 'roundEx', 'roundUp', 'run_in_strategy', 'scorerecords_to_df', 'scorerecords_to_np', 'search_part', 'set_log_level', 'set_my_logger_file', 'set_python_in_interactive', 'set_python_in_jupyter', 'sgplot', 'show', 'show_gcf', 'spend_time', 'spot_agent_is_connected', 'spot_agent_is_running', 'start_data_server', 'start_spot_agent', 'stop_data_server', 'stop_spot_agent', 'sys', 'systemweights_to_df', 'systemweights_to_np', 'timedelta', 'timeline_to_df', 'timeline_to_np', 'timeout', 'toPriceList', 'traceback', 'trade', 'trade_manage', 'trade_sys', 'trades_to_df', 'trades_to_np', 'trans_color', 'translist_to_df', 'translist_to_np', 'update_hub', 'use_bokeh_in_notebook', 'util', 'view_license', 'weights_to_df', 'weights_to_np', 'with_trace']
|
|
715
|
+
__all__ = ['ABS', 'ACOS', 'AD', 'ADVANCE', 'AF_EqualWeight', 'AF_FixedAmount', 'AF_FixedWeight', 'AF_FixedWeightList', 'AF_MultiFactor', 'AGG_COUNT', 'AGG_FUNC', 'AGG_MAD', 'AGG_MAX', 'AGG_MEAN', 'AGG_MEDIAN', 'AGG_MIN', 'AGG_PROD', 'AGG_QUANTILE', 'AGG_STD', 'AGG_SUM', 'AGG_VAR', 'AGG_VWAP', 'ALIGN', 'AMA', 'AMO', 'ASIN', 'ATAN', 'ATR', 'AVEDEV', 'AllocateFundsBase', 'BACKSET', 'BARSCOUNT', 'BARSLAST', 'BARSLASTCOUNT', 'BARSSINCE', 'BARSSINCEN', 'BASE_DIR', 'BETWEEN', 'BLOCKSETNUM', 'BUSINESS', 'Block', 'BlockInfoDriver', 'BorrowRecord', 'BrokerPositionRecord', 'CAPITAL', 'CEILING', 'CLOSE', 'CN_Bool', 'CN_OPLine', 'CONST', 'CONTEXT', 'CONTEXT_K', 'CORR', 'COS', 'COST', 'COUNT', 'CROSS', 'CVAL', 'CYCLE', 'C_AMO', 'C_CLOSE', 'C_HIGH', 'C_KDATA', 'C_LOW', 'C_OPEN', 'C_VOL', 'ColumnDataSource', 'ConditionBase', 'Constant', 'CostRecord', 'DATE', 'DAY', 'DEBUG', 'DECLINE', 'DEVSQ', 'DIFF', 'DISCARD', 'DMA', 'DOWNNDAY', 'DROPNA', 'DataDriverFactory', 'Datetime', 'DatetimeList', 'DatetimeList_to_df', 'DatetimeList_to_np', 'DatetimeTickFormatter', 'Datetime_date', 'Datetime_datetime', 'Days', 'EMA', 'ERROR', 'EVERY', 'EV_Bool', 'EV_TwoLine', 'EXIST', 'EXP', 'EasyTraderOrderBroker', 'EnvironmentBase', 'FATAL', 'FILTER', 'FINANCE', 'FLOOR', 'FundsRecord', 'GROUP_COUNT', 'GROUP_FUNC', 'GROUP_MAX', 'GROUP_MEAN', 'GROUP_MIN', 'GROUP_PROD', 'GROUP_SUM', 'HHV', 'HHVBARS', 'HIGH', 'HKUCheckError', 'HKUException', 'HOUR', 'HSL', 'Hours', 'HoverTool', 'IC', 'ICIR', 'IF', 'INBLOCK', 'INDEXA', 'INDEXADV', 'INDEXC', 'INDEXDEC', 'INDEXH', 'INDEXL', 'INDEXO', 'INDEXV', 'INFO', 'INSUM', 'INTPART', 'IR', 'ISINF', 'ISINFA', 'ISLASTBAR', 'ISNA', 'IndParam', 'Indicator', 'IndicatorImp', 'JUMPDOWN', 'JUMPUP', 'KALMAN', 'KDATA', 'KDATA_PART', 'KDJ', 'KData', 'KDataDriver', 'KDataToClickHouseImporter', 'KDataToHdf5Importer', 'KDataToMySQLImporter', 'KRecord', 'KRecordList', 'LAST', 'LASTVALUE', 'LIUTONGPAN', 'LLV', 'LLVBARS', 'LN', 'LOG', 'LOG_LEVEL', 'LONGCROSS', 'LOW', 'Label', 'LoanRecord', 'LoggingContext', 'MA', 'MACD', 'MAX', 'MDD', 'MF_EqualWeight', 'MF_ICIRWeight', 'MF_ICWeight', 'MF_Weight', 'MIN', 'MINUTE', 'MM_FixedCapital', 'MM_FixedCapitalFunds', 'MM_FixedCount', 'MM_FixedCountTps', 'MM_FixedPercent', 'MM_FixedRisk', 'MM_FixedUnits', 'MM_Nothing', 'MM_WilliamsFixedRisk', 'MOD', 'MONTH', 'MRR', 'MailOrderBroker', 'MarketInfo', 'Microseconds', 'Milliseconds', 'Minutes', 'MoneyManagerBase', 'MultiFactorBase', 'NDAY', 'NORM_MinMax', 'NORM_NOTHING', 'NORM_Quantile', 'NORM_Quantile_Uniform', 'NORM_Zscore', 'NOT', 'NormalizeBase', 'OFF', 'OPEN', 'OrderBrokerBase', 'OrderBrokerWrap', 'PF_Simple', 'PF_WithoutAF', 'PG_FixedHoldDays', 'PG_FixedPercent', 'PG_NoGoal', 'POS', 'POW', 'PRICELIST', 'Parameter', 'Parameter_items', 'Parameter_iter', 'Parameter_keys', 'Parameter_to_dict', 'Path', 'Performance', 'Performance_to_df', 'Portfolio', 'PositionRecord', 'PositionRecordList', 'ProfitGoalBase', 'QUANTILE_TRUNC', 'Query', 'RANK', 'RECOVER_BACKWARD', 'RECOVER_EQUAL_BACKWARD', 'RECOVER_EQUAL_FORWARD', 'RECOVER_FORWARD', 'REF', 'REFX', 'REPLACE', 'RESULT', 'REVERSE', 'ROC', 'ROCP', 'ROCR', 'ROCR100', 'ROUND', 'ROUNDDOWN', 'ROUNDUP', 'RSI', 'SAFTYLOSS', 'SCFilter_AmountLimit', 'SCFilter_Group', 'SCFilter_IgnoreNan', 'SCFilter_LessOrEqualValue', 'SCFilter_Price', 'SCFilter_TopN', 'SE_EvaluateOptimal', 'SE_Fixed', 'SE_MaxFundsOptimal', 'SE_MultiFactor', 'SE_MultiFactor2', 'SE_PerformanceOptimal', 'SE_Signal', 'SGN', 'SG_Add', 'SG_AllwaysBuy', 'SG_And', 'SG_Band', 'SG_Bool', 'SG_Buy', 'SG_Cross', 'SG_CrossGold', 'SG_Cycle', 'SG_Div', 'SG_Flex', 'SG_Mul', 'SG_OneSide', 'SG_Or', 'SG_Sell', 'SG_Single', 'SG_Single2', 'SG_Sub', 'SIN', 'SLICE', 'SLOPE', 'SMA', 'SPEARMAN', 'SP_FixedPercent', 'SP_FixedValue', 'SP_LogNormal', 'SP_Normal', 'SP_TruncNormal', 'SP_Uniform', 'SQRT', 'STD', 'STDEV', 'STDP', 'ST_FixedPercent', 'ST_Indicator', 'ST_Saftyloss', 'SUM', 'SUMBARS', 'SYS_Simple', 'SYS_WalkForward', 'ScoreRecord', 'ScoreRecordList', 'ScoresFilterBase', 'Seconds', 'SelectorBase', 'SignalBase', 'SlippageBase', 'SpotRecord', 'Stock', 'StockManager', 'StockTypeInfo', 'StockWeight', 'StockWeightList', 'StoplossBase', 'Strategy', 'StrategyContext', 'System', 'SystemPart', 'SystemWeight', 'SystemWeightList', 'TAN', 'TA_ACCBANDS', 'TA_ACOS', 'TA_AD', 'TA_ADD', 'TA_ADOSC', 'TA_ADX', 'TA_ADXR', 'TA_APO', 'TA_AROON', 'TA_AROONOSC', 'TA_ASIN', 'TA_ATAN', 'TA_ATR', 'TA_AVGDEV', 'TA_AVGPRICE', 'TA_BBANDS', 'TA_BETA', 'TA_BOP', 'TA_CCI', 'TA_CDL2CROWS', 'TA_CDL3BLACKCROWS', 'TA_CDL3INSIDE', 'TA_CDL3LINESTRIKE', 'TA_CDL3OUTSIDE', 'TA_CDL3STARSINSOUTH', 'TA_CDL3WHITESOLDIERS', 'TA_CDLABANDONEDBABY', 'TA_CDLADVANCEBLOCK', 'TA_CDLBELTHOLD', 'TA_CDLBREAKAWAY', 'TA_CDLCLOSINGMARUBOZU', 'TA_CDLCONCEALBABYSWALL', 'TA_CDLCOUNTERATTACK', 'TA_CDLDARKCLOUDCOVER', 'TA_CDLDOJI', 'TA_CDLDOJISTAR', 'TA_CDLDRAGONFLYDOJI', 'TA_CDLENGULFING', 'TA_CDLEVENINGDOJISTAR', 'TA_CDLEVENINGSTAR', 'TA_CDLGAPSIDESIDEWHITE', 'TA_CDLGRAVESTONEDOJI', 'TA_CDLHAMMER', 'TA_CDLHANGINGMAN', 'TA_CDLHARAMI', 'TA_CDLHARAMICROSS', 'TA_CDLHIGHWAVE', 'TA_CDLHIKKAKE', 'TA_CDLHIKKAKEMOD', 'TA_CDLHOMINGPIGEON', 'TA_CDLIDENTICAL3CROWS', 'TA_CDLINNECK', 'TA_CDLINVERTEDHAMMER', 'TA_CDLKICKING', 'TA_CDLKICKINGBYLENGTH', 'TA_CDLLADDERBOTTOM', 'TA_CDLLONGLEGGEDDOJI', 'TA_CDLLONGLINE', 'TA_CDLMARUBOZU', 'TA_CDLMATCHINGLOW', 'TA_CDLMATHOLD', 'TA_CDLMORNINGDOJISTAR', 'TA_CDLMORNINGSTAR', 'TA_CDLONNECK', 'TA_CDLPIERCING', 'TA_CDLRICKSHAWMAN', 'TA_CDLRISEFALL3METHODS', 'TA_CDLSEPARATINGLINES', 'TA_CDLSHOOTINGSTAR', 'TA_CDLSHORTLINE', 'TA_CDLSPINNINGTOP', 'TA_CDLSTALLEDPATTERN', 'TA_CDLSTICKSANDWICH', 'TA_CDLTAKURI', 'TA_CDLTASUKIGAP', 'TA_CDLTHRUSTING', 'TA_CDLTRISTAR', 'TA_CDLUNIQUE3RIVER', 'TA_CDLUPSIDEGAP2CROWS', 'TA_CDLXSIDEGAP3METHODS', 'TA_CEIL', 'TA_CMO', 'TA_CORREL', 'TA_COS', 'TA_COSH', 'TA_DEMA', 'TA_DIV', 'TA_DX', 'TA_EMA', 'TA_EXP', 'TA_FLOOR', 'TA_HT_DCPERIOD', 'TA_HT_DCPHASE', 'TA_HT_PHASOR', 'TA_HT_SINE', 'TA_HT_TRENDLINE', 'TA_HT_TRENDMODE', 'TA_IMI', 'TA_KAMA', 'TA_LINEARREG', 'TA_LINEARREG_ANGLE', 'TA_LINEARREG_INTERCEPT', 'TA_LINEARREG_SLOPE', 'TA_LN', 'TA_LOG10', 'TA_MA', 'TA_MACD', 'TA_MACDEXT', 'TA_MACDFIX', 'TA_MAMA', 'TA_MAVP', 'TA_MAX', 'TA_MAXINDEX', 'TA_MEDPRICE', 'TA_MFI', 'TA_MIDPOINT', 'TA_MIDPRICE', 'TA_MIN', 'TA_MININDEX', 'TA_MINMAX', 'TA_MINMAXINDEX', 'TA_MINUS_DI', 'TA_MINUS_DM', 'TA_MOM', 'TA_MULT', 'TA_NATR', 'TA_OBV', 'TA_PLUS_DI', 'TA_PLUS_DM', 'TA_PPO', 'TA_ROC', 'TA_ROCP', 'TA_ROCR', 'TA_ROCR100', 'TA_RSI', 'TA_SAR', 'TA_SAREXT', 'TA_SIN', 'TA_SINH', 'TA_SMA', 'TA_SQRT', 'TA_STDDEV', 'TA_STOCH', 'TA_STOCHF', 'TA_STOCHRSI', 'TA_SUB', 'TA_SUM', 'TA_T3', 'TA_TAN', 'TA_TANH', 'TA_TEMA', 'TA_TRANGE', 'TA_TRIMA', 'TA_TRIX', 'TA_TSF', 'TA_TYPPRICE', 'TA_ULTOSC', 'TA_VAR', 'TA_WCLPRICE', 'TA_WILLR', 'TA_WMA', 'TC_FixedA', 'TC_FixedA2015', 'TC_FixedA2017', 'TC_TestStub', 'TC_Zero', 'TIME', 'TIMELINE', 'TIMELINEVOL', 'TR', 'TRACE', 'TURNOVER', 'TestOrderBroker', 'TimeDelta', 'TimeDelta_timedelta', 'TimeLineList', 'TimeLineRecord', 'Title', 'TradeCostBase', 'TradeManager', 'TradeRecord', 'TradeRecordList', 'TradeRequest', 'TransList', 'TransRecord', 'UPNDAY', 'UTCOffset', 'VALUE', 'VAR', 'VARP', 'VIGOR', 'VOL', 'WARN', 'WEAVE', 'WEEK', 'WINNER', 'WITHDAY', 'WITHHALFYEAR', 'WITHHOUR', 'WITHHOUR2', 'WITHHOUR4', 'WITHKTYPE', 'WITHMIN', 'WITHMIN15', 'WITHMIN30', 'WITHMIN5', 'WITHMIN60', 'WITHMONTH', 'WITHQUARTER', 'WITHWEEK', 'WITHYEAR', 'WMA', 'YEAR', 'ZHBOND10', 'ZONGGUBEN', 'ZSCORE', 'active_device', 'add_class_logger_handler', 'add_local_hub', 'add_remote_hub', 'analysis', 'analysis_sys_list', 'analysis_sys_list_multi', 'atexit', 'ax_draw_macd', 'ax_draw_macd2', 'ax_fill_between', 'ax_set_xlim', 'ax_set_ylim', 'backtest', 'batch_calculate_inds', 'bind_email', 'broker', 'broker_easytrader', 'broker_mail', 'build_hub', 'can_upgrade', 'capture_multiprocess_all_logger', 'check_data', 'class_logger', 'close_ostream_to_python', 'close_spend_time', 'column', 'combinate_ind', 'combinate_ind_analysis', 'combinate_ind_analysis_multi', 'combinate_index', 'concat_to_df', 'constant', 'core', 'cpp', 'create_figure', 'create_one_axes_figure', 'create_three_axes_figure', 'create_two_axes_figure', 'crtAF', 'crtBrokerTM', 'crtCN', 'crtEV', 'crtMF', 'crtMM', 'crtNorm', 'crtOB', 'crtPG', 'crtSCFilter', 'crtSE', 'crtSEOptimal', 'crtSG', 'crtSP', 'crtST', 'crtTM', 'crt_pf_strategy', 'crt_sys_strategy', 'current_path', 'date', 'dates_to_np', 'datetime', 'df_to_ind', 'df_to_krecords', 'dll_directory', 'enable_kdata_cache', 'extend', 'fetch_trial_license', 'figure', 'find_optimal_system', 'find_optimal_system_multi', 'g_axes', 'g_figure', 'g_use_in_notbook', 'gca', 'gcf', 'get_block', 'get_business_name', 'get_color', 'get_current_hub', 'get_data_from_buffer_server', 'get_date_format', 'get_date_range', 'get_expire_date', 'get_funds_list', 'get_hub_name_list', 'get_hub_path', 'get_kdata', 'get_latest_version_info', 'get_log_level', 'get_part', 'get_part_info', 'get_part_list', 'get_part_module', 'get_part_name_list', 'get_spot_from_buffer_server', 'get_stock', 'get_system_part_enum', 'get_system_part_name', 'get_version', 'get_version_git', 'get_version_with_build', 'help_part', 'hikyuu_init', 'hku_benchmark', 'hku_catch', 'hku_check', 'hku_check_ignore', 'hku_check_throw', 'hku_debug', 'hku_debug_if', 'hku_error', 'hku_error_if', 'hku_fatal', 'hku_fatal_if', 'hku_info', 'hku_info_if', 'hku_logger', 'hku_run_ignore_exception', 'hku_to_async', 'hku_trace', 'hku_trace_if', 'hku_warn', 'hku_warn_if', 'hub', 'ibar', 'in_interactive_session', 'in_ipython_frontend', 'indicator', 'inner_analysis_sys_list', 'inner_combinate_ind_analysis', 'inner_combinate_ind_analysis_with_block', 'iplot', 'is_valid_license', 'isinf', 'isnan', 'kplot', 'krecords_to_df', 'krecords_to_np', 'locale', 'mkplot', 'new_Query_init', 'new_path', 'np', 'old_Query_init', 'open_ostream_to_python', 'open_spend_time', 'os', 'output_file', 'output_notebook', 'parallel_run_pf', 'parallel_run_sys', 'part_clone', 'part_init', 'part_iter', 'pd', 'pickle', 'positions_to_df', 'positions_to_np', 'print_part_info', 'pyind', 'register_extra_ktype', 'release_extra_ktype', 'remove_hub', 'remove_license', 'roundDown', 'roundEx', 'roundUp', 'run_in_strategy', 'scorerecords_to_df', 'scorerecords_to_np', 'search_part', 'set_log_level', 'set_my_logger_file', 'set_python_in_interactive', 'set_python_in_jupyter', 'sgplot', 'show', 'show_gcf', 'spend_time', 'spot_agent_is_connected', 'spot_agent_is_running', 'start_data_server', 'start_spot_agent', 'stop_data_server', 'stop_spot_agent', 'sys', 'systemweights_to_df', 'systemweights_to_np', 'time', 'timedelta', 'timeline_to_df', 'timeline_to_np', 'timeout', 'toPriceList', 'traceback', 'trade', 'trade_manage', 'trade_sys', 'trades_to_df', 'trades_to_np', 'trans_color', 'translist_to_df', 'translist_to_np', 'update_hub', 'use_bokeh_in_notebook', 'util', 'view_license', 'weights_to_df', 'weights_to_np', 'with_trace']
|
|
714
716
|
def ax_draw_macd(axes, kdata, n1 = 12, n2 = 26, n3 = 9):
|
|
715
717
|
"""
|
|
716
718
|
绘制MACD
|