Skip to content

Commit b0f8c8f

Browse files
authored
Merge pull request #435 from fasiondog/release
Release 2.7.3
2 parents d2bfea7 + 31861ad commit b0f8c8f

File tree

6 files changed

+66
-28
lines changed

6 files changed

+66
-28
lines changed

docs/source/indicator/indicator.rst

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,19 @@
9999
100100
聚合函数: 方差, 可参考 :func:`AGG_STD`
101101

102+
103+
.. py:function:: AGG_VWAP([ktype=Query.MIN, fill_null=False, unit=1])
104+
105+
聚合其他K线成交量加权平均价格(Volume Weighted Average Price)
106+
VWAP 是成交量加权的平均价格,计算方式是将每一分钟(或单位时间)的成交量乘以该分钟的成交价格,然后对所有乘积求和,最后除以总成交量。
107+
108+
:param KQuery.KType ktype: 聚合的K线周期
109+
:param bool fill_null: 是否填充缺失值
110+
:param int unit: 聚合周期单位 (上下文K线分组单位, 使用日线计算分钟线聚合时, unit=2代表聚合2天的分钟线)
111+
:return: 指标数据
112+
:rtype: Indicator
113+
114+
102115
.. py:function:: AGG_FUNC(ind, agg_func[, ktype=Query.MIN, fill_null=False, unit=1]
103116
104117
使用自定函数聚合其他K线周期的指标。虽然支持python自定义函数, 但python函数需要GIL, 速度较慢慢。建议最好直接使用 C++ 自定义聚合函数。

docs/source/indicator/overview.rst

Lines changed: 27 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -166,32 +166,6 @@
166166
* :py:func:`VIGOR` - 亚历山大.艾尔德力度指数
167167

168168

169-
**聚合指标**
170-
171-
* :py:func:`AGG_COUNT` - [VIP]聚合函数: 非空值计数
172-
* :py:func:`AGG_MAD` - [VIP]聚合函数: 平均绝对偏差
173-
* :py:func:`AGG_MAX` - [VIP]聚合函数: 最大值
174-
* :py:func:`AGG_MIN` - [VIP]聚合函数: 最大值
175-
* :py:func:`AGG_MEAN` - [VIP]聚合函数: 平均值
176-
* :py:func:`AGG_MEDIAN` - [VIP]聚合函数: 中位数
177-
* :py:func:`AGG_PROD` - [VIP]聚合函数: 乘积
178-
* :py:func:`AGG_SUM` - [VIP]聚合函数: 总和
179-
* :py:func:`AGG_STD` - [VIP]聚合函数: 标准差
180-
* :py:func:`AGG_VAR` - [VIP]聚合函数: 方差
181-
* :py:func:`AGG_QUANTILE` - [VIP]聚合函数: 分位数
182-
* :py:func:`AGG_FUNC` - [VIP]聚合函数: 自定义聚合函数
183-
184-
**分组指标**
185-
186-
* :py:func:`GROUP_COUNT` - [VIP]分组函数: 非空值计数
187-
* :py:func:`GROUP_MAX` - [VIP]分组函数: 分组累计最大值
188-
* :py:func:`GROUP_MIN` - [VIP]分组函数: 分组累计最小值
189-
* :py:func:`GROUP_MEAN` - [VIP]分组函数: 分组累计平均值
190-
* :py:func:`GROUP_PROD` - [VIP]分组函数: 分组累计乘积
191-
* :py:func:`GROUP_SUM` - [VIP]分组函数: 分组累计总和
192-
* :py:func:`GROUP_FUNC` - [VIP]分组函数: 自定义分组计算函数
193-
194-
195169
**时间指标**
196170

197171
* :py:func:`DATE` - 取得该周期从1900以来的年月日
@@ -210,6 +184,33 @@
210184
* :py:func:`ICIR` - 计算因子 IC 的 IR 值
211185

212186

187+
**聚合指标[VIP]**
188+
189+
* :py:func:`AGG_COUNT` - 聚合函数: 非空值计数
190+
* :py:func:`AGG_MAD` - 聚合函数: 平均绝对偏差
191+
* :py:func:`AGG_MAX` - 聚合函数: 最大值
192+
* :py:func:`AGG_MIN` - 聚合函数: 最大值
193+
* :py:func:`AGG_MEAN` - 聚合函数: 平均值
194+
* :py:func:`AGG_MEDIAN` - 聚合函数: 中位数
195+
* :py:func:`AGG_PROD` - 聚合函数: 乘积
196+
* :py:func:`AGG_SUM` - 聚合函数: 总和
197+
* :py:func:`AGG_STD` - 聚合函数: 标准差
198+
* :py:func:`AGG_VAR` - 聚合函数: 方差
199+
* :py:func:`AGG_QUANTILE` - 聚合函数: 分位数
200+
* :py:func:`AGG_VWAP` - 聚合函数: 成交量加权平均价
201+
* :py:func:`AGG_FUNC` - 聚合函数: 自定义聚合函数
202+
203+
**分组指标[VIP]**
204+
205+
* :py:func:`GROUP_COUNT` - 分组函数: 非空值计数
206+
* :py:func:`GROUP_MAX` - 分组函数: 分组累计最大值
207+
* :py:func:`GROUP_MIN` - 分组函数: 分组累计最小值
208+
* :py:func:`GROUP_MEAN` - 分组函数: 分组累计平均值
209+
* :py:func:`GROUP_PROD` - 分组函数: 分组累计乘积
210+
* :py:func:`GROUP_SUM` - 分组函数: 分组累计总和
211+
* :py:func:`GROUP_FUNC` - 分组函数: 自定义分组计算函数
212+
213+
213214
**其他转换辅助**
214215

215216
* :py:func:`concat_to_df` - 合并指标列表为 DateFrame

docs/source/release.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,21 @@
11
# 版本发布说明
22

3+
## 2.7.3 - 2025年1月6日
4+
5+
**🚀 新增特性**
6+
7+
* feat(config): 添加 timeline 和 trans 预加载支持
8+
* feat(StockManager): 添加根据指数获取板块列表功能
9+
* feat(plugin_extind): 添加AGG_VWAP指标支持
10+
11+
**🐞 缺陷修复**
12+
13+
* fixed(datetime): 优化UTC偏移量计算性能,该问题导致 linux 平台下 clickhouse 数据加载比其他平台慢了10倍
14+
* fixed(python): Python实现的SG等子类在赋值给C++类时可能存在临时变量类型降级的问题,导致 sys.sg = B() 缺失python _clone 实现
15+
* fix(data): 修复本地数据导入时的可能存在结构体解包格式错误
16+
* fix(trade_sys): 修复安全止损指标ST_Saftyloss在调用SAFTYLOSS函数时缺少CLOSE()参数
17+
* feat(_Stock): 为set_kdata_from_df方法添加默认列参数(原和文档说明不符),设置默认的列名参数为["datetime", "open", "high", "low", "close", "amount", "volume"]
18+
319
## 2.7.2 - 2025年12月24日
420

521
**🚀 新增特性**

docs/source/stock_manager.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,14 @@ StockManager/Block/Stock
271271
:param str category: 板块分类
272272
:return: 板块列表
273273
:rtype: BlockList
274+
275+
.. py:method:: get_block_list_by_index_stock(self, index_stk)
276+
277+
获取指定指数的板块列表
278+
279+
:param Stock index_stk: 指数
280+
:return: 板块列表
281+
:rtype: BlockList
274282

275283
.. py:method:: get_trading_calendar(self, query[, market='SH'])
276284

hikyuu_cpp/hikyuu/utilities/plugin/PluginLoader.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ class PluginLoader final {
5555
GetLastError());
5656

5757
#else
58-
m_handle = dlopen(filename.c_str(), RTLD_LAZY | RTLD_GLOBAL);
58+
m_handle = dlopen(filename.c_str(), RTLD_LAZY);
5959
HKU_WARN_IF_RETURN(!m_handle, false, "load plugin({}) failed! {}", filename, dlerror());
6060
#endif
6161

xmake.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ set_project("hikyuu")
66
add_rules("mode.debug", "mode.release")
77

88
-- version
9-
set_version("2.7.2", {build = "%Y%m%d%H%M"})
9+
set_version("2.7.3", {build = "%Y%m%d%H%M"})
1010

1111
set_warnings("all")
1212

0 commit comments

Comments
 (0)