hikyuu 2.7.2__py3-none-win_amd64.whl → 2.7.3__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 (80) hide show
  1. hikyuu/__init__.py +18 -6
  2. hikyuu/__init__.pyi +13 -12
  3. hikyuu/analysis/__init__.pyi +1 -0
  4. hikyuu/analysis/analysis.pyi +2 -1
  5. hikyuu/core.pyi +3 -2
  6. hikyuu/cpp/boost_date_time-mt.dll +0 -0
  7. hikyuu/cpp/boost_serialization-mt.dll +0 -0
  8. hikyuu/cpp/boost_wserialization-mt.dll +0 -0
  9. hikyuu/cpp/core310.pyd +0 -0
  10. hikyuu/cpp/core310.pyi +44 -17
  11. hikyuu/cpp/core311.pyd +0 -0
  12. hikyuu/cpp/core311.pyi +44 -17
  13. hikyuu/cpp/core312.pyd +0 -0
  14. hikyuu/cpp/core312.pyi +44 -17
  15. hikyuu/cpp/core313.pyd +0 -0
  16. hikyuu/cpp/core313.pyi +44 -17
  17. hikyuu/cpp/hikyuu.dll +0 -0
  18. hikyuu/cpp/hikyuu.lib +0 -0
  19. hikyuu/cpp/i18n/zh_CN/hikyuu.mo +0 -0
  20. hikyuu/data/hku_config_template.py +20 -2
  21. hikyuu/data/tdx_to_clickhouse.py +2 -2
  22. hikyuu/data/tdx_to_h5.py +11 -11
  23. hikyuu/data/tdx_to_mysql.py +2 -2
  24. hikyuu/draw/drawplot/__init__.pyi +1 -1
  25. hikyuu/draw/drawplot/bokeh_draw.pyi +8 -7
  26. hikyuu/draw/drawplot/echarts_draw.pyi +8 -7
  27. hikyuu/draw/drawplot/matplotlib_draw.pyi +8 -7
  28. hikyuu/extend.pyi +4 -3
  29. hikyuu/gui/HikyuuTDX.py +20 -0
  30. hikyuu/gui/data/MainWindow.py +169 -133
  31. hikyuu/hub.pyi +6 -6
  32. hikyuu/include/hikyuu/StockManager.h +13 -2
  33. hikyuu/include/hikyuu/data_driver/BaseInfoDriver.h +2 -1
  34. hikyuu/include/hikyuu/data_driver/KDataDriver.h +2 -4
  35. hikyuu/include/hikyuu/data_driver/kdata/mysql/MySQLKDataDriver.h +5 -1
  36. hikyuu/include/hikyuu/data_driver/kdata/sqlite/SQLiteKDataDriver.h +1 -1
  37. hikyuu/include/hikyuu/global/sysinfo.h +1 -1
  38. hikyuu/include/hikyuu/plugin/extind.h +3 -0
  39. hikyuu/include/hikyuu/python/pybind_utils.h +1 -1
  40. hikyuu/include/hikyuu/trade_manage/TradeManagerBase.h +0 -1
  41. hikyuu/include/hikyuu/trade_sys/allocatefunds/AllocateFundsBase.h +0 -1
  42. hikyuu/include/hikyuu/trade_sys/condition/ConditionBase.h +0 -1
  43. hikyuu/include/hikyuu/trade_sys/environment/EnvironmentBase.h +0 -1
  44. hikyuu/include/hikyuu/trade_sys/moneymanager/MoneyManagerBase.h +0 -1
  45. hikyuu/include/hikyuu/trade_sys/multifactor/MultiFactorBase.h +0 -1
  46. hikyuu/include/hikyuu/trade_sys/multifactor/NormalizeBase.h +0 -1
  47. hikyuu/include/hikyuu/trade_sys/multifactor/ScoresFilterBase.h +0 -1
  48. hikyuu/include/hikyuu/trade_sys/portfolio/Portfolio.h +13 -13
  49. hikyuu/include/hikyuu/trade_sys/profitgoal/ProfitGoalBase.h +0 -1
  50. hikyuu/include/hikyuu/trade_sys/selector/SelectorBase.h +0 -1
  51. hikyuu/include/hikyuu/trade_sys/signal/SignalBase.h +0 -1
  52. hikyuu/include/hikyuu/trade_sys/slippage/SlippageBase.h +0 -1
  53. hikyuu/include/hikyuu/trade_sys/stoploss/StoplossBase.h +0 -1
  54. hikyuu/include/hikyuu/trade_sys/system/System.h +1 -2
  55. hikyuu/include/hikyuu/utilities/thread/MQStealThreadPool.h +1 -0
  56. hikyuu/include/hikyuu/utilities/thread/MQThreadPool.h +1 -0
  57. hikyuu/include/hikyuu/utilities/thread/StealThreadPool.h +1 -0
  58. hikyuu/include/hikyuu/utilities/thread/ThreadPool.h +1 -0
  59. hikyuu/include/hikyuu/version.h +4 -4
  60. hikyuu/plugin/backtest.dll +0 -0
  61. hikyuu/plugin/checkdata.dll +0 -0
  62. hikyuu/plugin/clickhousedriver.dll +0 -0
  63. hikyuu/plugin/dataserver.dll +0 -0
  64. hikyuu/plugin/dataserver_parquet.dll +0 -0
  65. hikyuu/plugin/device.dll +0 -0
  66. hikyuu/plugin/extind.dll +0 -0
  67. hikyuu/plugin/hkuextra.dll +0 -0
  68. hikyuu/plugin/import2ch.dll +0 -0
  69. hikyuu/plugin/import2hdf5.dll +0 -0
  70. hikyuu/plugin/import2mysql.dll +0 -0
  71. hikyuu/plugin/tmreport.dll +0 -0
  72. hikyuu/trade_manage/__init__.pyi +8 -7
  73. hikyuu/trade_manage/trade.pyi +8 -7
  74. hikyuu/util/__init__.pyi +1 -1
  75. hikyuu/util/singleton.pyi +1 -1
  76. {hikyuu-2.7.2.dist-info → hikyuu-2.7.3.dist-info}/METADATA +1 -1
  77. {hikyuu-2.7.2.dist-info → hikyuu-2.7.3.dist-info}/RECORD +80 -80
  78. {hikyuu-2.7.2.dist-info → hikyuu-2.7.3.dist-info}/WHEEL +0 -0
  79. {hikyuu-2.7.2.dist-info → hikyuu-2.7.3.dist-info}/entry_points.txt +0 -0
  80. {hikyuu-2.7.2.dist-info → hikyuu-2.7.3.dist-info}/top_level.txt +0 -0
hikyuu/hub.pyi CHANGED
@@ -28,11 +28,11 @@ import sys as sys
28
28
  import typing
29
29
  __all__: list = ['add_remote_hub', 'add_local_hub', 'update_hub', 'remove_hub', 'build_hub', 'help_part', 'get_part', 'get_part_list', 'get_hub_path', 'get_part_info', 'get_part_module', 'print_part_info', 'get_hub_name_list', 'get_part_name_list', 'get_current_hub', 'search_part']
30
30
  class ConfigModel(sqlalchemy.orm.decl_api.Base):
31
- __mapper__: typing.ClassVar[sqlalchemy.orm.mapper.Mapper] # value = <Mapper at 0x295e2bef160; ConfigModel>
31
+ __mapper__: typing.ClassVar[sqlalchemy.orm.mapper.Mapper] # value = <Mapper at 0x1d356c0f220; ConfigModel>
32
32
  __table__: typing.ClassVar[sqlalchemy.sql.schema.Table] # value = Table('hub_config', MetaData(), Column('id', Integer(), table=<hub_config>, primary_key=True, nullable=False, default=Sequence('config_id_seq', metadata=MetaData())), Column('key', String(), table=<hub_config>), Column('value', String(), table=<hub_config>), schema=None)
33
33
  __table_args__: typing.ClassVar[tuple] # value = (UniqueConstraint(Column('key', String(), table=<hub_config>)))
34
34
  __tablename__: typing.ClassVar[str] = 'hub_config'
35
- _sa_class_manager: typing.ClassVar[sqlalchemy.orm.instrumentation.ClassManager] # value = <ClassManager of <class 'hikyuu.hub.ConfigModel'> at 295e2c018a0>
35
+ _sa_class_manager: typing.ClassVar[sqlalchemy.orm.instrumentation.ClassManager] # value = <ClassManager of <class 'hikyuu.hub.ConfigModel'> at 1d355bcd2b0>
36
36
  def __init__(self, **kwargs):
37
37
  """
38
38
  A simple constructor that allows initialization from kwargs.
@@ -109,11 +109,11 @@ class HubManager:
109
109
  def print_part_info(self, name):
110
110
  ...
111
111
  class HubModel(sqlalchemy.orm.decl_api.Base):
112
- __mapper__: typing.ClassVar[sqlalchemy.orm.mapper.Mapper] # value = <Mapper at 0x295e2befca0; HubModel>
112
+ __mapper__: typing.ClassVar[sqlalchemy.orm.mapper.Mapper] # value = <Mapper at 0x1d356c0fca0; HubModel>
113
113
  __table__: typing.ClassVar[sqlalchemy.sql.schema.Table] # value = Table('hub_repo', MetaData(), Column('id', Integer(), table=<hub_repo>, primary_key=True, nullable=False, default=Sequence('remote_id_seq', metadata=MetaData())), Column('name', String(), table=<hub_repo>), Column('hub_type', String(), table=<hub_repo>), Column('local_base', String(), table=<hub_repo>), Column('local', String(), table=<hub_repo>), Column('url', String(), table=<hub_repo>), Column('branch', String(), table=<hub_repo>), schema=None)
114
114
  __table_args__: typing.ClassVar[tuple] # value = (UniqueConstraint(Column('name', String(), table=<hub_repo>)))
115
115
  __tablename__: typing.ClassVar[str] = 'hub_repo'
116
- _sa_class_manager: typing.ClassVar[sqlalchemy.orm.instrumentation.ClassManager] # value = <ClassManager of <class 'hikyuu.hub.HubModel'> at 295e2c2a480>
116
+ _sa_class_manager: typing.ClassVar[sqlalchemy.orm.instrumentation.ClassManager] # value = <ClassManager of <class 'hikyuu.hub.HubModel'> at 1d356c4e7f0>
117
117
  def __init__(self, **kwargs):
118
118
  """
119
119
  A simple constructor that allows initialization from kwargs.
@@ -146,11 +146,11 @@ class ModuleConflictError(Exception):
146
146
  def __str__(self):
147
147
  ...
148
148
  class PartModel(sqlalchemy.orm.decl_api.Base):
149
- __mapper__: typing.ClassVar[sqlalchemy.orm.mapper.Mapper] # value = <Mapper at 0x295e2c3c730; PartModel>
149
+ __mapper__: typing.ClassVar[sqlalchemy.orm.mapper.Mapper] # value = <Mapper at 0x1d356c607f0; PartModel>
150
150
  __table__: typing.ClassVar[sqlalchemy.sql.schema.Table] # value = Table('hub_part', MetaData(), Column('id', Integer(), table=<hub_part>, primary_key=True, nullable=False, default=Sequence('part_id_seq', metadata=MetaData())), Column('hub_name', String(), table=<hub_part>), Column('part', String(), table=<hub_part>), Column('name', String(), table=<hub_part>), Column('author', String(), table=<hub_part>), Column('version', String(), table=<hub_part>), Column('doc', String(), table=<hub_part>), Column('module_name', String(), table=<hub_part>), Column('label', String(), table=<hub_part>), schema=None)
151
151
  __table_args__: typing.ClassVar[tuple] # value = (UniqueConstraint(Column('name', String(), table=<hub_part>)))
152
152
  __tablename__: typing.ClassVar[str] = 'hub_part'
153
- _sa_class_manager: typing.ClassVar[sqlalchemy.orm.instrumentation.ClassManager] # value = <ClassManager of <class 'hikyuu.hub.PartModel'> at 295e2c2b420>
153
+ _sa_class_manager: typing.ClassVar[sqlalchemy.orm.instrumentation.ClassManager] # value = <ClassManager of <class 'hikyuu.hub.PartModel'> at 1d356c4f380>
154
154
  def __init__(self, **kwargs):
155
155
  """
156
156
  A simple constructor that allows initialization from kwargs.
@@ -90,7 +90,7 @@ public:
90
90
 
91
91
  /** 是否所有数据准备完毕 */
92
92
  bool dataReady() const;
93
-
93
+ bool initializing() const;
94
94
  /**
95
95
  * 根据"市场简称证券代码"获取对应的证券实例
96
96
  * @param querystr 格式:“市场简称证券代码”,如"sh000001"
@@ -164,6 +164,13 @@ public:
164
164
  */
165
165
  BlockList getBlockList();
166
166
 
167
+ /**
168
+ * 获取指定指数的板块列表, 如果不存在返回空列表
169
+ * @param index_stk 指数
170
+ * @return 板块列表
171
+ */
172
+ BlockList getBlockListByIndexStock(const Stock& stk);
173
+
167
174
  /**
168
175
  * 获取指定证券所属的板块列表
169
176
  * @param stk 指定证券
@@ -322,7 +329,7 @@ private:
322
329
  static StockManager* m_sm;
323
330
  std::atomic_bool m_initializing{false};
324
331
  std::atomic_bool m_cancel_load{false}; // 取消加载, 用于退出指示
325
- std::atomic_bool m_data_ready{false}; // 用于指示是否所有数据准备完毕
332
+ std::atomic_bool m_data_ready{true}; // 用于指示是否所有数据准备完毕, 如果未初始化则为 true
326
333
  std::thread::id m_thread_id; // 记录线程id,用于判断Stratege是以独立进程方式还是线程方式运行
327
334
  string m_tmpdir;
328
335
  string m_datadir;
@@ -369,6 +376,10 @@ inline bool StockManager::dataReady() const {
369
376
  return m_data_ready;
370
377
  }
371
378
 
379
+ inline bool StockManager::initializing() const {
380
+ return m_initializing;
381
+ }
382
+
372
383
  inline Stock StockManager::operator[](const string& query) const {
373
384
  return getStock(query);
374
385
  }
@@ -219,7 +219,8 @@ public:
219
219
  /**
220
220
  * 获取所有历史财务信息, 用于列式存储时数据初始化使用
221
221
  */
222
- virtual unordered_map<string, vector<HistoryFinanceInfo>> getAllHistoryFinance() {
222
+ virtual unordered_map<string, vector<HistoryFinanceInfo>> getAllHistoryFinance(
223
+ const std::atomic_bool& cancel_flag) {
223
224
  HKU_ERROR("Not support getAllHistoryFinance()!");
224
225
  return unordered_map<string, vector<HistoryFinanceInfo>>();
225
226
  }
@@ -129,8 +129,7 @@ public:
129
129
  }
130
130
 
131
131
  virtual std::unordered_map<std::string, KRecordList> getAllKRecordList(
132
- const KQuery::KType& ktype, const Datetime& start_date,
133
- const std::atomic<bool>& cancel_flag) {
132
+ const KQuery::KType& ktype, const Datetime& start_date, const std::atomic_bool& cancel_flag) {
134
133
  HKU_THROW("Not support getAllKRecordList");
135
134
  }
136
135
 
@@ -210,8 +209,7 @@ public:
210
209
  }
211
210
 
212
211
  std::unordered_map<std::string, KRecordList> getAllKRecordList(
213
- const KQuery::KType& ktype, const Datetime& start_date,
214
- const std::atomic<bool>& cancel_flag) {
212
+ const KQuery::KType& ktype, const Datetime& start_date, const std::atomic_bool& cancel_flag) {
215
213
  return m_driver->getAllKRecordList(ktype, start_date, cancel_flag);
216
214
  }
217
215
 
@@ -26,6 +26,9 @@ public:
26
26
  MySQLKDataDriver();
27
27
  virtual ~MySQLKDataDriver() override;
28
28
 
29
+ MySQLKDataDriver(const MySQLKDataDriver&) = delete;
30
+ MySQLKDataDriver& operator=(const MySQLKDataDriver&) = delete;
31
+
29
32
  virtual KDataDriverPtr _clone() override {
30
33
  return std::make_shared<MySQLKDataDriver>();
31
34
  }
@@ -56,7 +59,8 @@ public:
56
59
  const KQuery& query) override;
57
60
 
58
61
  private:
59
- string _getTableName(const string& market, const string& code, const KQuery::KType& ktype);
62
+ static string _getTableName(const string& market, const string& code,
63
+ const KQuery::KType& ktype);
60
64
  KRecordList _getKRecordList(const string& market, const string& code,
61
65
  const KQuery::KType& kType, size_t start_ix, size_t end_ix);
62
66
  KRecordList _getKRecordList(const string& market, const string& code,
@@ -43,7 +43,7 @@ public:
43
43
  const KQuery& query) override;
44
44
 
45
45
  private:
46
- string _getTableName(const string& market, const string& code, KQuery::KType ktype);
46
+ static string _getTableName(const string& market, const string& code, KQuery::KType ktype);
47
47
  KRecordList _getKRecordList(const string& market, const string& code,
48
48
  const KQuery::KType& kType, size_t start_ix, size_t end_ix);
49
49
  KRecordList _getKRecordList(const string& market, const string& code,
@@ -39,7 +39,7 @@ std::string HKU_API getVersionWithGit();
39
39
  bool HKU_API CanUpgrade();
40
40
 
41
41
  struct HKU_API LatestVersionInfo {
42
- int version;
42
+ int version{1003001};
43
43
  Datetime release_date;
44
44
  std::string remark;
45
45
  LatestVersionInfo() = default;
@@ -191,6 +191,9 @@ Indicator HKU_API AGG_VAR(const Indicator& ind, const KQuery::KType& ktype = KQu
191
191
  Indicator HKU_API AGG_QUANTILE(const Indicator& ind, const KQuery::KType& ktype = KQuery::MIN,
192
192
  bool fill_null = false, int unit = 1, double quantile = 0.75);
193
193
 
194
+ Indicator HKU_API AGG_VWAP(const KQuery::KType& ktype = KQuery::MIN, bool fill_null = false,
195
+ int unit = 1);
196
+
194
197
  using agg_func_t = std::function<double(const DatetimeList& src_ds, const Indicator::value_t* src,
195
198
  size_t group_start, size_t group_last)>;
196
199
  Indicator HKU_API AGG_FUNC(const Indicator& ind, agg_func_t agg_func,
@@ -102,7 +102,7 @@ public:
102
102
  return this->_clone(); \
103
103
  } \
104
104
  \
105
- protected: \
105
+ public: \
106
106
  inline bool isPythonObject() const override { \
107
107
  return true; \
108
108
  }
@@ -769,7 +769,6 @@ public:
769
769
  std::vector<std::pair<Datetime, double>> getProfitPercentYearly(
770
770
  const Datetime& datetime = Datetime::now());
771
771
 
772
- protected:
773
772
  virtual bool isPythonObject() const {
774
773
  return false;
775
774
  }
@@ -101,7 +101,6 @@ public:
101
101
  static void adjustWeight(SystemWeightList& sw_list, double can_allocate_weight,
102
102
  bool auto_adjust, bool ignore_zero);
103
103
 
104
- protected:
105
104
  virtual bool isPythonObject() const {
106
105
  return false;
107
106
  }
@@ -109,7 +109,6 @@ public:
109
109
  return m_values.cend();
110
110
  }
111
111
 
112
- protected:
113
112
  virtual bool isPythonObject() const {
114
113
  return false;
115
114
  }
@@ -93,7 +93,6 @@ public:
93
93
  /** 子类克隆接口 */
94
94
  virtual EnvironmentPtr _clone() = 0;
95
95
 
96
- protected:
97
96
  virtual bool isPythonObject() const {
98
97
  return false;
99
98
  }
@@ -152,7 +152,6 @@ public:
152
152
  /** 子类克隆私有变量接口 */
153
153
  virtual MoneyManagerPtr _clone() = 0;
154
154
 
155
- protected:
156
155
  virtual bool isPythonObject() const {
157
156
  return false;
158
157
  }
@@ -164,7 +164,6 @@ public:
164
164
  virtual MultiFactorPtr _clone() = 0;
165
165
  virtual IndicatorList _calculate(const vector<IndicatorList>&) = 0;
166
166
 
167
- protected:
168
167
  virtual bool isPythonObject() const {
169
168
  return false;
170
169
  }
@@ -42,7 +42,6 @@ public:
42
42
 
43
43
  virtual PriceList normalize(const PriceList& data) = 0;
44
44
 
45
- protected:
46
45
  virtual bool isPythonObject() const {
47
46
  return false;
48
47
  }
@@ -49,7 +49,6 @@ public:
49
49
  public:
50
50
  friend HKU_API ScoresFilterPtr operator|(const ScoresFilterPtr& a, const ScoresFilterPtr& b);
51
51
 
52
- protected:
53
52
  virtual bool isPythonObject() const {
54
53
  return false;
55
54
  }
@@ -88,7 +88,7 @@ public:
88
88
 
89
89
  /** 克隆操作 */
90
90
  typedef shared_ptr<Portfolio> PortfolioPtr;
91
- PortfolioPtr clone() const;
91
+ PortfolioPtr clone();
92
92
 
93
93
  /** 运行前准备 */
94
94
  void readyForRun();
@@ -99,7 +99,7 @@ public:
99
99
  virtual string str() const;
100
100
 
101
101
  virtual void _reset() {}
102
- virtual PortfolioPtr _clone() const {
102
+ virtual PortfolioPtr _clone() {
103
103
  return std::make_shared<Portfolio>();
104
104
  }
105
105
 
@@ -113,6 +113,10 @@ public:
113
113
  */
114
114
  virtual json lastSuggestion() const;
115
115
 
116
+ virtual bool isPythonObject() const {
117
+ return false;
118
+ }
119
+
116
120
  private:
117
121
  void initParam();
118
122
 
@@ -122,10 +126,6 @@ private:
122
126
  const string& mode);
123
127
 
124
128
  protected:
125
- virtual bool isPythonObject() const {
126
- return false;
127
- }
128
-
129
129
  // 跟踪打印当前TM持仓情况
130
130
  void traceMomentTMAfterRunAtOpen(const Datetime& date);
131
131
  void traceMomentTMAfterRunAtClose(const Datetime& date);
@@ -177,13 +177,13 @@ private:
177
177
  #endif /* HKU_SUPPORT_SERIALIZATION */
178
178
  };
179
179
 
180
- #define PORTFOLIO_IMP(classname) \
181
- public: \
182
- virtual PortfolioPtr _clone() const override { \
183
- return std::make_shared<classname>(); \
184
- } \
185
- virtual void _reset() override; \
186
- virtual void _readyForRun() override; \
180
+ #define PORTFOLIO_IMP(classname) \
181
+ public: \
182
+ virtual PortfolioPtr _clone() override { \
183
+ return std::make_shared<classname>(); \
184
+ } \
185
+ virtual void _reset() override; \
186
+ virtual void _readyForRun() override; \
187
187
  virtual void _runMoment(const Datetime& date, const Datetime& nextCycle, bool adjust) override;
188
188
 
189
189
  /**
@@ -82,7 +82,6 @@ public:
82
82
  /** 子类计算接口,由setTO调用 */
83
83
  virtual void _calculate() {}
84
84
 
85
- protected:
86
85
  virtual bool isPythonObject() const {
87
86
  return false;
88
87
  }
@@ -163,7 +163,6 @@ public:
163
163
  /** 在已有过滤基础上追加过滤,仅用于 MF 相关的 Selector,从 MF 获取 Score 列表时进行过滤 */
164
164
  void addScoresFilter(const ScoresFilterPtr& filter);
165
165
 
166
- protected:
167
166
  virtual bool isPythonObject() const {
168
167
  return false;
169
168
  }
@@ -130,7 +130,6 @@ public:
130
130
  /** 子类计算接口,在setTO中调用 */
131
131
  virtual void _calculate(const KData&) = 0;
132
132
 
133
- protected:
134
133
  virtual bool isPythonObject() const {
135
134
  return false;
136
135
  }
@@ -71,7 +71,6 @@ public:
71
71
  /** 子类计算接口,由setTO调用 */
72
72
  virtual void _calculate() = 0;
73
73
 
74
- protected:
75
74
  virtual bool isPythonObject() const {
76
75
  return false;
77
76
  }
@@ -86,7 +86,6 @@ public:
86
86
  /** 子类计算接口,由setTO调用 */
87
87
  virtual void _calculate() = 0;
88
88
 
89
- protected:
90
89
  virtual bool isPythonObject() const {
91
90
  return false;
92
91
  }
@@ -36,7 +36,7 @@ class HKU_API WalkForwardSystem;
36
36
  * 交易系统基类
37
37
  * @ingroup System
38
38
  */
39
- class HKU_API System {
39
+ class HKU_API System : public enable_shared_from_this<System> {
40
40
  PARAMETER_SUPPORT_WITH_CHECK
41
41
  friend class HKU_API Portfolio;
42
42
  friend class HKU_API AllocateFundsBase;
@@ -276,7 +276,6 @@ public:
276
276
  // 处理延迟买入请求,仅供 PF 调用
277
277
  virtual TradeRecord pfProcessDelayBuyRequest(const Datetime& date);
278
278
 
279
- protected:
280
279
  virtual bool isPythonObject() const {
281
280
  return false;
282
281
  }
@@ -74,6 +74,7 @@ public:
74
74
  if (!m_done) {
75
75
  join();
76
76
  }
77
+ m_threads.clear();
77
78
  }
78
79
 
79
80
  /** 获取工作线程数 */
@@ -77,6 +77,7 @@ public:
77
77
  if (!m_done) {
78
78
  join();
79
79
  }
80
+ m_threads.clear();
80
81
  }
81
82
 
82
83
  /** 获取工作线程数 */
@@ -78,6 +78,7 @@ public:
78
78
  if (!m_done) {
79
79
  join();
80
80
  }
81
+ m_threads.clear();
81
82
  }
82
83
 
83
84
  /** 获取工作线程数 */
@@ -67,6 +67,7 @@ public:
67
67
  if (!m_done) {
68
68
  join();
69
69
  }
70
+ m_threads.clear();
70
71
  }
71
72
 
72
73
  /** 获取工作线程数 */
@@ -12,13 +12,13 @@
12
12
  #define HKU_VERSION_H
13
13
 
14
14
  // clang-format off
15
- #define HKU_VERSION "2.7.2"
15
+ #define HKU_VERSION "2.7.3"
16
16
  #define HKU_VERSION_MAJOR 2
17
17
  #define HKU_VERSION_MINOR 7
18
- #define HKU_VERSION_ALTER 2
19
- #define HKU_VERSION_BUILD 202512242101
18
+ #define HKU_VERSION_ALTER 3
19
+ #define HKU_VERSION_BUILD 202601061403
20
20
  #define HKU_VERSION_MODE "RELEASE"
21
- #define HKU_VERSION_GIT "2.7.2 release.380a3be0 (RELEASE)"
21
+ #define HKU_VERSION_GIT "2.7.3 release.31861ada (RELEASE)"
22
22
  // clang-format on
23
23
 
24
24
  #endif /* HKU_VERSION_H */
Binary file
Binary file
Binary file
Binary file
Binary file
hikyuu/plugin/device.dll CHANGED
Binary file
hikyuu/plugin/extind.dll CHANGED
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -95,6 +95,7 @@ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 impo
95
95
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import AGG_STD
96
96
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import AGG_SUM
97
97
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import AGG_VAR
98
+ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import AGG_VWAP
98
99
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import ALIGN
99
100
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import AMA
100
101
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import ASIN
@@ -183,10 +184,10 @@ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 impo
183
184
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import KALMAN
184
185
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import KDATA_PART
185
186
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LAST
186
- from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LASTVALUE as CONST
187
187
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LASTVALUE
188
- from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LIUTONGPAN
188
+ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LASTVALUE as CONST
189
189
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LIUTONGPAN as CAPITAL
190
+ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LIUTONGPAN
190
191
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LLV
191
192
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LLVBARS
192
193
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LN
@@ -231,8 +232,8 @@ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 impo
231
232
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import PG_NoGoal
232
233
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import POS
233
234
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import POW
234
- from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import PRICELIST as VALUE
235
235
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import PRICELIST
236
+ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import PRICELIST as VALUE
236
237
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import QUANTILE_TRUNC
237
238
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import RANK
238
239
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import RECOVER_BACKWARD
@@ -297,8 +298,8 @@ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 impo
297
298
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import SP_TruncNormal
298
299
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import SP_Uniform
299
300
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import SQRT
300
- from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import STDEV as STD
301
301
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import STDEV
302
+ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import STDEV as STD
302
303
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import STDP
303
304
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import ST_FixedPercent
304
305
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import ST_Indicator
@@ -625,8 +626,8 @@ from hikyuu.util.mylog import add_class_logger_handler
625
626
  from hikyuu.util.mylog import capture_multiprocess_all_logger
626
627
  from hikyuu.util.mylog import class_logger
627
628
  from hikyuu.util.mylog import hku_benchmark
628
- from hikyuu.util.mylog import hku_debug as hku_trace
629
629
  from hikyuu.util.mylog import hku_debug
630
+ from hikyuu.util.mylog import hku_debug as hku_trace
630
631
  from hikyuu.util.mylog import hku_debug_if as hku_trace_if
631
632
  from hikyuu.util.mylog import hku_debug_if
632
633
  from hikyuu.util.mylog import hku_error
@@ -643,7 +644,6 @@ from hikyuu.util.mylog import with_trace
643
644
  from hikyuu.util.notebook import in_interactive_session
644
645
  from hikyuu.util.notebook import in_ipython_frontend
645
646
  from hikyuu.util.timeout import timeout
646
- import io as io
647
647
  import locale as locale
648
648
  import logging
649
649
  import numpy as np
@@ -652,12 +652,13 @@ import pandas as pd
652
652
  from pathlib import Path
653
653
  import pickle as pickle
654
654
  import sys as sys
655
+ import time as time
655
656
  import traceback as traceback
656
657
  from . import broker
657
658
  from . import broker_easytrader
658
659
  from . import broker_mail
659
660
  from . import trade
660
- __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', 'ConditionBase', 'Constant', 'CostRecord', 'DATE', 'DAY', 'DEBUG', 'DECLINE', 'DEVSQ', 'DIFF', 'DISCARD', 'DMA', 'DOWNNDAY', 'DROPNA', 'DataDriverFactory', 'Datetime', 'DatetimeList', 'DatetimeList_to_df', 'DatetimeList_to_np', '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', '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', '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', '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', 'atexit', 'backtest', 'batch_calculate_inds', 'bind_email', 'broker', 'broker_easytrader', 'broker_mail', 'can_upgrade', 'capture_multiprocess_all_logger', 'check_data', 'class_logger', 'close_ostream_to_python', 'close_spend_time', 'combinate_ind', 'combinate_index', 'concat_to_df', 'constant', 'core', 'cpp', 'crtBrokerTM', 'crtOB', 'crtSEOptimal', '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', 'find_optimal_system', 'find_optimal_system_multi', 'get_block', 'get_business_name', 'get_data_from_buffer_server', 'get_date_range', 'get_expire_date', 'get_funds_list', 'get_kdata', 'get_latest_version_info', 'get_log_level', 'get_spot_from_buffer_server', 'get_stock', 'get_system_part_enum', 'get_system_part_name', 'get_version', 'get_version_git', 'get_version_with_build', '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', 'in_interactive_session', 'in_ipython_frontend', 'indicator', 'inner_analysis_sys_list', 'inner_combinate_ind_analysis', 'inner_combinate_ind_analysis_with_block', 'io', 'is_valid_license', 'isinf', 'isnan', 'krecords_to_df', 'krecords_to_np', 'locale', 'new_Query_init', 'new_path', 'np', 'old_Query_init', 'open_ostream_to_python', 'open_spend_time', 'os', 'parallel_run_pf', 'parallel_run_sys', 'pd', 'pickle', 'positions_to_df', 'positions_to_np', 'pyind', 'register_extra_ktype', 'release_extra_ktype', 'remove_license', 'roundDown', 'roundEx', 'roundUp', 'run_in_strategy', 'scorerecords_to_df', 'scorerecords_to_np', 'set_log_level', 'set_my_logger_file', 'set_python_in_interactive', 'set_python_in_jupyter', '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', 'trades_to_df', 'trades_to_np', 'translist_to_df', 'translist_to_np', 'util', 'view_license', 'weights_to_df', 'weights_to_np', 'with_trace']
661
+ __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', 'ConditionBase', 'Constant', 'CostRecord', 'DATE', 'DAY', 'DEBUG', 'DECLINE', 'DEVSQ', 'DIFF', 'DISCARD', 'DMA', 'DOWNNDAY', 'DROPNA', 'DataDriverFactory', 'Datetime', 'DatetimeList', 'DatetimeList_to_df', 'DatetimeList_to_np', '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', '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', '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', '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', 'atexit', 'backtest', 'batch_calculate_inds', 'bind_email', 'broker', 'broker_easytrader', 'broker_mail', 'can_upgrade', 'capture_multiprocess_all_logger', 'check_data', 'class_logger', 'close_ostream_to_python', 'close_spend_time', 'combinate_ind', 'combinate_index', 'concat_to_df', 'constant', 'core', 'cpp', 'crtBrokerTM', 'crtOB', 'crtSEOptimal', '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', 'find_optimal_system', 'find_optimal_system_multi', 'get_block', 'get_business_name', 'get_data_from_buffer_server', 'get_date_range', 'get_expire_date', 'get_funds_list', 'get_kdata', 'get_latest_version_info', 'get_log_level', 'get_spot_from_buffer_server', 'get_stock', 'get_system_part_enum', 'get_system_part_name', 'get_version', 'get_version_git', 'get_version_with_build', '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', 'in_interactive_session', 'in_ipython_frontend', 'indicator', 'inner_analysis_sys_list', 'inner_combinate_ind_analysis', 'inner_combinate_ind_analysis_with_block', 'is_valid_license', 'isinf', 'isnan', 'krecords_to_df', 'krecords_to_np', 'locale', 'new_Query_init', 'new_path', 'np', 'old_Query_init', 'open_ostream_to_python', 'open_spend_time', 'os', 'parallel_run_pf', 'parallel_run_sys', 'pd', 'pickle', 'positions_to_df', 'positions_to_np', 'pyind', 'register_extra_ktype', 'release_extra_ktype', 'remove_license', 'roundDown', 'roundEx', 'roundUp', 'run_in_strategy', 'scorerecords_to_df', 'scorerecords_to_np', 'set_log_level', 'set_my_logger_file', 'set_python_in_interactive', 'set_python_in_jupyter', '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', 'trades_to_df', 'trades_to_np', 'translist_to_df', 'translist_to_np', 'util', 'view_license', 'weights_to_df', 'weights_to_np', 'with_trace']
661
662
  AMO: hikyuu.cpp.core310.Indicator # value = Indicator{...
662
663
  BASE_DIR: str = 'D:\\workspace\\hikyuu\\hikyuu'
663
664
  CLOSE: hikyuu.cpp.core310.Indicator # value = Indicator{...