hikyuu 2.3.1__py3-none-win_amd64.whl → 2.5.0__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 (157) hide show
  1. hikyuu/__init__.py +438 -6
  2. hikyuu/__init__.pyi +647 -496
  3. hikyuu/analysis/__init__.pyi +478 -466
  4. hikyuu/analysis/analysis.pyi +500 -486
  5. hikyuu/core.pyi +480 -468
  6. hikyuu/cpp/__init__.pyi +2 -2
  7. hikyuu/cpp/core310.pyd +0 -0
  8. hikyuu/cpp/core311.pyd +0 -0
  9. hikyuu/cpp/core312.pyd +0 -0
  10. hikyuu/cpp/core312.pyi +431 -67
  11. hikyuu/cpp/core313.pyd +0 -0
  12. hikyuu/cpp/core38.pyd +0 -0
  13. hikyuu/cpp/core39.pyd +0 -0
  14. hikyuu/cpp/hikyuu.dll +0 -0
  15. hikyuu/cpp/hikyuu.lib +0 -0
  16. hikyuu/cpp/sqlite3.dll +0 -0
  17. hikyuu/data/common_mysql.py +24 -7
  18. hikyuu/data/common_pytdx.py +17 -1
  19. hikyuu/data/em_block_to_mysql.py +3 -2
  20. hikyuu/data/em_block_to_sqlite.py +8 -3
  21. hikyuu/data/mysql_upgrade/0026.sql +9 -0
  22. hikyuu/data/sqlite_upgrade/0026.sql +10 -0
  23. hikyuu/draw/__init__.pyi +35 -0
  24. hikyuu/draw/drawplot/__init__.pyi +134 -0
  25. hikyuu/draw/drawplot/bokeh_draw.pyi +796 -0
  26. hikyuu/draw/drawplot/common.pyi +10 -0
  27. hikyuu/draw/drawplot/echarts_draw.py +5 -12
  28. hikyuu/draw/drawplot/echarts_draw.pyi +682 -0
  29. hikyuu/draw/drawplot/matplotlib_draw.py +18 -3
  30. hikyuu/draw/drawplot/matplotlib_draw.pyi +1101 -0
  31. hikyuu/draw/elder.pyi +44 -0
  32. hikyuu/draw/kaufman.pyi +38 -0
  33. hikyuu/draw/volume.pyi +31 -0
  34. hikyuu/examples/notebook/Demo/Demo2.ipynb +1 -1
  35. hikyuu/extend.py +9 -3
  36. hikyuu/extend.pyi +524 -504
  37. hikyuu/fetcher/stock/zh_block_em.py +118 -51
  38. hikyuu/gui/data/EscapetimeThread.py +4 -4
  39. hikyuu/gui/data/ImportBlockInfoTask.py +3 -2
  40. hikyuu/gui/data/ImportHistoryFinanceTask.py +2 -0
  41. hikyuu/gui/data/MainWindow.py +48 -42
  42. hikyuu/gui/importdata.py +13 -26
  43. hikyuu/hub.py +2 -4
  44. hikyuu/hub.pyi +52 -58
  45. hikyuu/include/hikyuu/DataType.h +5 -0
  46. hikyuu/include/hikyuu/Stock.h +7 -0
  47. hikyuu/include/hikyuu/indicator/Indicator.h +1 -1
  48. hikyuu/include/hikyuu/indicator/Indicator2InImp.h +65 -0
  49. hikyuu/include/hikyuu/indicator/IndicatorImp.h +1 -3
  50. hikyuu/include/hikyuu/indicator/build_in.h +7 -0
  51. hikyuu/include/hikyuu/indicator/crt/COST.h +3 -0
  52. hikyuu/include/hikyuu/indicator/crt/CYCLE.h +24 -0
  53. hikyuu/include/hikyuu/indicator/crt/DISCARD.h +27 -0
  54. hikyuu/include/hikyuu/indicator/crt/HSL.h +1 -13
  55. hikyuu/include/hikyuu/indicator/crt/INBLOCK.h +31 -0
  56. hikyuu/include/hikyuu/indicator/crt/INDEX.h +35 -23
  57. hikyuu/include/hikyuu/indicator/crt/JUMPDOWN.h +24 -0
  58. hikyuu/include/hikyuu/indicator/crt/JUMPUP.h +24 -0
  59. hikyuu/include/hikyuu/indicator/crt/LASTVALUE.h +29 -0
  60. hikyuu/include/hikyuu/indicator/crt/LIUTONGPAN.h +1 -0
  61. hikyuu/include/hikyuu/indicator/crt/WINNER.h +38 -0
  62. hikyuu/include/hikyuu/indicator/imp/ICorr.h +6 -21
  63. hikyuu/include/hikyuu/indicator/imp/ICost.h +31 -0
  64. hikyuu/include/hikyuu/indicator/imp/ICycle.h +30 -0
  65. hikyuu/include/hikyuu/indicator/imp/IDiscard.h +28 -0
  66. hikyuu/include/hikyuu/indicator/imp/IDma.h +6 -23
  67. hikyuu/include/hikyuu/indicator/imp/IHsl.h +30 -0
  68. hikyuu/include/hikyuu/indicator/imp/IInBlock.h +30 -0
  69. hikyuu/include/hikyuu/indicator/imp/IIndex.h +26 -0
  70. hikyuu/include/hikyuu/indicator/imp/IJumpDown.h +24 -0
  71. hikyuu/include/hikyuu/indicator/imp/IJumpUp.h +24 -0
  72. hikyuu/include/hikyuu/indicator/imp/ILastValue.h +26 -0
  73. hikyuu/include/hikyuu/indicator/imp/ISpearman.h +5 -20
  74. hikyuu/include/hikyuu/indicator/imp/IWinner.h +26 -0
  75. hikyuu/include/hikyuu/indicator_talib/imp/TaMavp.h +5 -19
  76. hikyuu/include/hikyuu/indicator_talib/imp/ta_defines.h +12 -63
  77. hikyuu/include/hikyuu/indicator_talib/imp/ta_imp.h +7 -53
  78. hikyuu/include/hikyuu/strategy/RunPortfolioInStrategy.h +3 -4
  79. hikyuu/include/hikyuu/strategy/Strategy.h +4 -5
  80. hikyuu/include/hikyuu/trade_manage/TradeRecord.h +5 -1
  81. hikyuu/include/hikyuu/trade_sys/allocatefunds/build_in.h +1 -0
  82. hikyuu/include/hikyuu/trade_sys/allocatefunds/crt/AF_FixedWeightList.h +22 -0
  83. hikyuu/include/hikyuu/trade_sys/allocatefunds/imp/FixedWeightListAllocateFunds.h +25 -0
  84. hikyuu/include/hikyuu/trade_sys/moneymanager/MoneyManagerBase.h +17 -4
  85. hikyuu/include/hikyuu/trade_sys/moneymanager/build_in.h +2 -0
  86. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedCapital.h +6 -0
  87. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedCapitalFunds.h +26 -0
  88. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedCountTps.h +27 -0
  89. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedRisk.h +6 -0
  90. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedUnits.h +6 -0
  91. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_WilliamsFixedRisk.h +7 -0
  92. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedCapitalFundsMM.h +28 -0
  93. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedCountTpsMM.h +44 -0
  94. hikyuu/include/hikyuu/trade_sys/portfolio/Portfolio.h +38 -37
  95. hikyuu/include/hikyuu/trade_sys/portfolio/build_in.h +1 -0
  96. hikyuu/include/hikyuu/trade_sys/portfolio/crt/PF_Simple.h +25 -1
  97. hikyuu/include/hikyuu/trade_sys/portfolio/crt/PF_WithoutAF.h +50 -0
  98. hikyuu/include/hikyuu/trade_sys/portfolio/imp/SimplePortfolio.h +53 -0
  99. hikyuu/include/hikyuu/trade_sys/portfolio/imp/WithoutAFPortfolio.h +57 -0
  100. hikyuu/include/hikyuu/trade_sys/selector/imp/MultiFactorSelector.h +7 -0
  101. hikyuu/include/hikyuu/trade_sys/signal/SignalBase.h +51 -5
  102. hikyuu/include/hikyuu/trade_sys/signal/build_in.h +2 -0
  103. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Bool.h +2 -1
  104. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Logic.h +37 -0
  105. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_OneSide.h +28 -0
  106. hikyuu/include/hikyuu/trade_sys/signal/imp/OneSideSignal.h +46 -0
  107. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/AddSignal.h +19 -0
  108. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/AddValueSignal.h +19 -0
  109. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/DivSignal.h +19 -0
  110. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/DivValueSignal.h +22 -0
  111. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/MulSignal.h +19 -0
  112. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/MulValueSignal.h +19 -0
  113. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/OperatorSignal.h +68 -0
  114. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/OperatorValueSignal.h +67 -0
  115. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/SubSignal.h +19 -0
  116. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/SubValueSignal.h +22 -0
  117. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/__init__.py +1 -0
  118. hikyuu/include/hikyuu/trade_sys/stoploss/crt/ST_Indicator.h +1 -1
  119. hikyuu/include/hikyuu/trade_sys/stoploss/imp/IndicatorStoploss.h +3 -4
  120. hikyuu/include/hikyuu/utilities/FilterNode.h +2 -2
  121. hikyuu/include/hikyuu/utilities/Log.h +42 -15
  122. hikyuu/include/hikyuu/utilities/datetime/Datetime.h +1 -1
  123. hikyuu/include/hikyuu/utilities/datetime/TimeDelta.h +2 -2
  124. hikyuu/include/hikyuu/utilities/db_connect/DBCondition.h +4 -0
  125. hikyuu/include/hikyuu/utilities/db_connect/SQLResultSet.h +2 -2
  126. hikyuu/include/hikyuu/utilities/db_connect/mysql/MySQLConnect.h +5 -1
  127. hikyuu/include/hikyuu/utilities/node/NodeServer.h +4 -4
  128. hikyuu/include/hikyuu/utilities/thread/MQStealThreadPool.h +2 -2
  129. hikyuu/include/hikyuu/utilities/thread/MQThreadPool.h +2 -2
  130. hikyuu/include/hikyuu/utilities/thread/StealThreadPool.h +5 -5
  131. hikyuu/include/hikyuu/utilities/thread/ThreadPool.h +2 -2
  132. hikyuu/include/hikyuu/utilities/thread/algorithm.h +16 -10
  133. hikyuu/include/hikyuu/version.h +5 -5
  134. hikyuu/indicator/indicator.py +1 -0
  135. hikyuu/interactive.py +1 -318
  136. hikyuu/trade_manage/__init__.pyi +492 -478
  137. hikyuu/trade_manage/broker.pyi +18 -19
  138. hikyuu/trade_manage/broker_easytrader.pyi +4 -6
  139. hikyuu/trade_manage/broker_mail.pyi +24 -22
  140. hikyuu/trade_manage/trade.pyi +492 -478
  141. hikyuu/util/check.pyi +15 -17
  142. hikyuu/util/mylog.pyi +7 -8
  143. hikyuu/util/notebook.pyi +11 -9
  144. hikyuu/util/singleton.pyi +6 -8
  145. hikyuu/util/slice.pyi +2 -1
  146. {hikyuu-2.3.1.dist-info → hikyuu-2.5.0.dist-info}/METADATA +2 -2
  147. {hikyuu-2.3.1.dist-info → hikyuu-2.5.0.dist-info}/RECORD +151 -105
  148. {hikyuu-2.3.1.dist-info → hikyuu-2.5.0.dist-info}/top_level.txt +1 -0
  149. hikyuu/cpp/core310.pyi +0 -12503
  150. hikyuu/cpp/core311.pyi +0 -12503
  151. hikyuu/cpp/core313.pyi +0 -12494
  152. hikyuu/cpp/core38.pyi +0 -12503
  153. hikyuu/cpp/core39.pyi +0 -12503
  154. hikyuu/deprecated.py +0 -651
  155. {hikyuu-2.3.1.dist-info → hikyuu-2.5.0.dist-info}/LICENSE +0 -0
  156. {hikyuu-2.3.1.dist-info → hikyuu-2.5.0.dist-info}/WHEEL +0 -0
  157. {hikyuu-2.3.1.dist-info → hikyuu-2.5.0.dist-info}/entry_points.txt +0 -0
hikyuu/util/check.pyi CHANGED
@@ -5,18 +5,13 @@ import logging
5
5
  import multiprocessing.synchronize
6
6
  import sys as sys
7
7
  import traceback as traceback
8
- import typing
9
8
  __all__ = ['HKUCheckError', 'HKUIngoreError', 'asyncio', 'checkif', 'functools', 'g_hku_logger_lock', 'get_exception_info', 'hku_catch', 'hku_check', 'hku_check_ignore', 'hku_check_throw', 'hku_logger', 'hku_to_async', 'sys', 'traceback']
10
9
  class HKUCheckError(Exception):
11
- __firstlineno__: typing.ClassVar[int] = 17
12
- __static_attributes__: typing.ClassVar[tuple] = ('expression', 'message')
13
10
  def __init__(self, expression, message):
14
11
  ...
15
12
  def __str__(self):
16
13
  ...
17
14
  class HKUIngoreError(Exception):
18
- __firstlineno__: typing.ClassVar[int] = 26
19
- __static_attributes__: typing.ClassVar[tuple] = ('expression', 'message')
20
15
  def __init__(self, expression, message = None):
21
16
  ...
22
17
  def __str__(self):
@@ -25,21 +20,23 @@ def checkif(expression, message, excepion = None, **kwargs):
25
20
  """
26
21
  如果 expression 为 True,则抛出异常。注意:该函数的判定和 assert 是相反的。
27
22
 
28
- :param boolean expression: 判断条件
29
- :param str message: 异常注解信息
30
- :param Exception exception: 指定的异常类,为None时,为默认 HKUCheckError 异常
23
+ :param boolean expression: 判断条件
24
+ :param str message: 异常注解信息
25
+ :param Exception exception: 指定的异常类,为None时,为默认 HKUCheckError 异常
26
+
31
27
  """
32
28
  def get_exception_info():
33
29
  ...
34
30
  def hku_catch(ret = None, trace = False, callback = None, retry = 1, with_msg = False, re_raise = False):
35
31
  """
36
32
  捕获发生的异常, 包装方式: @hku_catch()
37
- :param ret: 异常发生时返回值, with_msg为True时, 返回为 (ret, errmsg)
38
- :param boolean trace: 打印异常堆栈信息
39
- :param func callback: 发生异常后的回调函数, 入参同func
40
- :param int retry: 尝试执行的次数
41
- :param boolean with_msg: 是否返回异常错误信息, 为True时, 函数返回为 (ret, errmsg)
42
- :param boolean re_raise: 是否将错误信息以异常的方式重新抛出
33
+ :param ret: 异常发生时返回值, with_msg为True时, 返回为 (ret, errmsg)
34
+ :param boolean trace: 打印异常堆栈信息
35
+ :param func callback: 发生异常后的回调函数, 入参同func
36
+ :param int retry: 尝试执行的次数
37
+ :param boolean with_msg: 是否返回异常错误信息, 为True时, 函数返回为 (ret, errmsg)
38
+ :param boolean re_raise: 是否将错误信息以异常的方式重新抛出
39
+
43
40
  """
44
41
  def hku_check(exp, msg, *args, **kwargs):
45
42
  ...
@@ -51,9 +48,10 @@ def hku_check_throw(expression, message, excepion = None, **kwargs):
51
48
  """
52
49
  如果 expression 为 False,则抛出异常。
53
50
 
54
- :param boolean expression: 判断条件
55
- :param str message: 异常注解信息
56
- :param Exception exception: 指定的异常类,为None时,为默认 HKUCheckError 异常
51
+ :param boolean expression: 判断条件
52
+ :param str message: 异常注解信息
53
+ :param Exception exception: 指定的异常类,为None时,为默认 HKUCheckError 异常
54
+
57
55
  """
58
56
  def hku_to_async(func):
59
57
  ...
hikyuu/util/mylog.pyi CHANGED
@@ -5,11 +5,8 @@ import multiprocessing as multiprocessing
5
5
  import os as os
6
6
  import time as time
7
7
  import traceback as traceback
8
- import typing
9
8
  __all__ = ['FORMAT', 'LoggingContext', 'add_class_logger_handler', 'capture_multiprocess_all_logger', 'class_logger', 'functools', 'g_hku_logger_lock', 'get_default_logger', 'hku_debug', 'hku_debug_if', 'hku_error', 'hku_error_if', 'hku_fatal', 'hku_fatal_if', 'hku_info', 'hku_info_if', 'hku_logger', 'hku_logger_name', 'hku_trace', 'hku_trace_if', 'hku_warn', 'hku_warn_if', 'logging', 'multiprocessing', 'os', 'set_my_logger_file', 'spend_time', 'time', 'traceback', 'with_trace']
10
9
  class LoggingContext:
11
- __firstlineno__: typing.ClassVar[int] = 244
12
- __static_attributes__: typing.ClassVar[tuple] = ('close', 'handler', 'level', 'logger', 'old_level')
13
10
  def __enter__(self):
14
11
  ...
15
12
  def __exit__(self, et, ev, tb):
@@ -20,16 +17,18 @@ def add_class_logger_handler(class_list, level = 20, handler = None):
20
17
  """
21
18
  为指定的类增加日志 handler,并设定级别
22
19
 
23
- :param class_list: 类列表
24
- :param level: 日志级别
25
- :param handler: logging handler
20
+ :param class_list: 类列表
21
+ :param level: 日志级别
22
+ :param handler: logging handler
23
+
26
24
  """
27
25
  def capture_multiprocess_all_logger(queue, level = None):
28
26
  """
29
27
  重设所有子进程中的 logger 输出指定的 queue,并重设level
30
28
 
31
- @param multiprocessing.Queue queue 指定的 mp Queue
32
- @param level 日志输出等级, None为保持原有等级
29
+ @param multiprocessing.Queue queue 指定的 mp Queue
30
+ @param level 日志输出等级, None为保持原有等级
31
+
33
32
  """
34
33
  def class_logger(cls, enable = False):
35
34
  ...
hikyuu/util/notebook.pyi CHANGED
@@ -3,19 +3,21 @@ __all__ = ['in_interactive_session', 'in_ipython_frontend']
3
3
  def in_interactive_session() -> bool:
4
4
  """
5
5
 
6
- Check if we're running in an interactive shell.
6
+ Check if we're running in an interactive shell.
7
7
 
8
- Returns
9
- -------
10
- bool
11
- True if running under python/ipython interactive shell.
8
+ Returns
9
+ -------
10
+ bool
11
+ True if running under python/ipython interactive shell.
12
+
12
13
  """
13
14
  def in_ipython_frontend() -> bool:
14
15
  """
15
16
 
16
- Check if we're inside an IPython zmq frontend. 检测是否在 jupyter 环境中
17
+ Check if we're inside an IPython zmq frontend. 检测是否在 jupyter 环境中
17
18
 
18
- Returns
19
- -------
20
- bool
19
+ Returns
20
+ -------
21
+ bool
22
+
21
23
  """
hikyuu/util/singleton.pyi CHANGED
@@ -1,5 +1,4 @@
1
1
  from __future__ import annotations
2
- import _thread
3
2
  import threading as threading
4
3
  import typing
5
4
  __all__ = ['SingletonType', 'threading']
@@ -7,14 +6,13 @@ class SingletonType(type):
7
6
  """
8
7
  基于 metalclass 实现单例
9
8
 
10
- 示例:
11
- class MyClass(metaclass=SingletonType):
12
- def __init__(self,name):
13
- self.name = name
9
+ 示例:
10
+ class MyClass(metaclass=SingletonType):
11
+ def __init__(self,name):
12
+ self.name = name
13
+
14
14
  """
15
- __firstlineno__: typing.ClassVar[int] = 13
16
- __static_attributes__: typing.ClassVar[tuple] = tuple()
17
- _instance_lock: typing.ClassVar[_thread.lock] # value = <unlocked _thread.lock object at 0x00000275F9C1D800>
15
+ _instance_lock: typing.ClassVar[_thread.lock] # value = <unlocked _thread.lock object at 0x0000024738CD4780>
18
16
  @classmethod
19
17
  def __call__(cls, *args, **kwargs):
20
18
  ...
hikyuu/util/slice.pyi CHANGED
@@ -3,5 +3,6 @@ __all__ = ['list_getitem']
3
3
  def list_getitem(data, i):
4
4
  """
5
5
  对C++引出的vector,实现python的切片,
6
- 将引入的vector类的__getitem__函数覆盖即可。
6
+ 将引入的vector类的__getitem__函数覆盖即可。
7
+
7
8
  """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hikyuu
3
- Version: 2.3.1
3
+ Version: 2.5.0
4
4
  Summary: Hikyuu Quant Framework for System Trading Analysis and backtester
5
5
  Home-page: http://hikyuu.org/
6
6
  Author: fasiondog
@@ -28,7 +28,7 @@ Classifier: Programming Language :: Python :: 3.13
28
28
  Description-Content-Type: text/markdown
29
29
  License-File: LICENSE
30
30
  Requires-Dist: click
31
- Requires-Dist: numpy<=1.26.4
31
+ Requires-Dist: numpy
32
32
  Requires-Dist: matplotlib
33
33
  Requires-Dist: pandas>=0.17.1
34
34
  Requires-Dist: pytdx