您现在的位置是:首页 > 文章详情

Hikyuu 2.6.8 发布,开源高性能量化交易框架

日期:2025-09-08点击:13

Hikyuu Quant Framework 基于 C++/Python 的极速量化交易框架,同时可基于策略部件进行资产重用,快速累积策略资产

更多信息,参见:

2.6.8 版本主要更新

🚀 新增特性

  • 新增 get_inds_view 方法,用于指定日期或范围内的系列指标结果并返回 pandas.DataFrame 结果。该方法主要用于获取系列指标结果后,使用其他 python 库,进行进一步数据处理,或日常监控打印。
    In [3]: df = get_inds_view(blocka, [CLOSE(), OPEN(), MA(CLOSE()), AMA(CLOSE()), MA(CLOSE(),n=30)], Datetime(20250822))
    
    In [4]: df
    Out[4]: 
          证券代码  证券名称   交易时间  CLOSE   OPEN         MA        AMA         MA
    0     SH600229  城市传媒 2025-08-22   5.89   7.23   7.087273   7.060143   7.034000
    1     SH601121  宝地矿业 2025-08-22   7.21   6.01   2.482273   2.486140   6.544000
    2     SH600227    赤天化 2025-08-22   7.97   6.41   6.292273   6.406271   2.462333
    3     SH600390  五矿资本 2025-08-22   6.62   2.59   6.585455   6.015825   6.208000
    4     SZ000612  焦作万方 2025-08-22   2.56   6.69   6.260000   6.334334   8.710933
    ...        ...       ...        ...    ...    ...        ...        ...        ...
    3467  SH603255    鼎际得 2025-08-22  32.36  32.39  31.984409  32.237558  31.445567
    3468  SH600621  华鑫股份 2025-08-22  17.91  16.80  16.134909  16.596052  15.940933
    3469  SH600999  招商证券 2025-08-22  19.32  18.68  18.342727  18.646812  18.188667
    3470  SZ002301  齐心集团 2025-08-22   7.32   7.36   7.130000   7.192394   7.109333
    3471  SH603369    今世缘 2025-08-22  42.49  42.21  40.229545  41.319146  40.089333
    
    [3472 rows x 8 columns]
    
     
  • 新增 AGG 系列聚合指标(捐赠用户),如日线使用分钟线聚合结果
    #如计算:每日成交金额 / 日内分钟线最大成交金额
    ind = AGG_MAX(AMO(), ktype=Query.MIN)/AMO()
    s = sm['sz000001']
    k = s.get_kdata(Query(-100, ktype=Query.DAY))
    result = ind(k)
    print(result.to_df()))
    
     
  • IC 指标增加 strict 参数,strict 模式下为当前时刻的 N 日后收益,非 strict 模式下为当前时刻之前的 N 天收益
  • 新增 REFX 指标,增强 REF 指标,可进行左移(未来函数, 勿在回测中使用,通常用于其他数据处理)
  • K线添加分时和分笔数据支持, 在 KQuery 中添加 TIMELINE 和 TRANS 两种新 K 线类型,可直接使用指标计算分时和分笔数据
    In [28]: s = sm['sz000001']
    
    In [29]: k = s.get_kdata(Query(-100, ktype=Query.TRANS))
    
    In [30]: MA(CLOSE())(k).to_df()
    Out[30]: 
                  datetime     value0
    0  2025-09-04 14:52:08  11.750000
    1  2025-09-04 14:52:11  11.750000
    2  2025-09-04 14:52:14  11.750000
    3  2025-09-04 14:52:17  11.750000
    4  2025-09-04 14:52:20  11.750000
    ..                 ...        ...
    95 2025-09-04 14:56:53  11.730455
    96 2025-09-04 14:56:56  11.730909
    97 2025-09-04 14:56:59  11.731364
    98 2025-09-04 14:57:02  11.732273
    99 2025-09-04 15:00:00  11.732727
    
    [100 rows x 2 columns]
    
     
  • KData新增 get_kdata 方法获取对应时间范围内其他不同 K 线周期数据
  • 添加 Indicator 结果集转换为 numpy.array 的新方法 to_array
  • StockManager 添加 is_trading_hours 方法判断是否为交易时间段

⚡️ 优化改进

  • 改进 python 中 std::share_ptr 引出对象的 clone 操作,提升 windows 下相关并行处理速度
  • Indicaotr 优化双指标等特殊指标的表达式去重,提升公式计算性能
  • 预加载模式 KData 与 Stock 共享数据、非预加载模式下捐赠用户 KData 使用LRUCache
  • CVAL、SLICE、ALIGN 支持处理多结果集指标
  • KRecord/KDataImp 使用全局 Null对象

🐞 缺陷修复

  • 修复 MySQL/ClickHouse 无法按索引方式获取非预加载数据的错误
  • 修复 Indicator 类中 to_numpy 函数的内存泄漏问题
  • 修复 ALIGN 当日期超过给定范围时的对齐问题,优化了对齐算法
  • 修复非中文环境 Windows 设置终端为中文编码导致的终端崩溃
原文链接:https://www.oschina.net/news/370845/hikyuu-2-6-8-released
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章