Hikyuu Quant Framework 基于 C++/Python 的极速量化交易框架,同时可基于策略部件进行资产重用,快速累积策略资产。
2.7.7 版本主要更新
🚀 新增特性
- feat(factor): 提供了完善的因子管理体系,包括单个因子 Factor 和因子集合 FactorSet 的管理。因子是量化分析的基础构建块,通常由技术指标或其他计算公式构成。
-
最佳实践
-
命名规范: 因子名称应具有描述性且不区分大小写
-
因子集组织: 将相关的因子组织到同一个FactorSet中便于管理
-
数据验证: 使用 check=True 参数验证股票列表是否属于指定板块
-
因子更新: 每日行情数据下载完成后,应及时调用 update_all_factors_values() 更新所有存储的因子值,确保因子数据与行情数据同步。该方法未集成到 HikyuuTdx 和 importdata 中,需要自行手工调用,原因是有时需要进行数据检查,确认数据无误后再进行因子值保存。
-
因子值保存: 对于高频聚合的因子值或高频因子值,建议设置 need_save_value=True 并保存到数据库。由于 Hikyuu的超高计算速度,普通的日频因子值(如MA5),通常不建议保存到数据库,因为从存储中读取因子值速度更更慢,这和其他的量化框架依赖因子存储来提升速度的习惯有所不同。建议自行根据需要测试决定。通常直接保存原始因子值,不需要进行截面、标准化等处理,可以由 MF 完成。对需要截面值的因子,通常需要指定对应的证券集,Factor和FactorSet直接指定。
-
特殊因子值保存: 对于不通过指标计算的特殊因子值(如PRICELIST或Indicator()),可以使用 save_special_values_to_db() 方法直接保存预计算的因子值
-
VIP功能使用: ⚠️ 因子相关的数据库存储和读取操作均为VIP功能,数据库引擎仅支持ClickHouse。使用前请确认已获得相应权限。包括但不限于:save_to_db()、remove_from_db()、save_values()、get_all_values()、get_values() 等涉及数据库的操作方法。
-
注意事项
-
因子名称和K线类型的组合是唯一的标识符
-
FactorSet 添加同名因子时会覆盖原有的因子
-
因子集中的因子保持添加顺序
-
因子计算结果的日期对齐需要参考证券进行同步
-
⚠️ 所有涉及数据库的操作方法均为VIP功能,仅支持ClickHouse数据库引擎
- feat(indicator): 新增涨跌停判断指标ISLIMITUP/ISLIMITDOWN支持
- feat(indicator): 重构 MDD/MRR指标实现,添加时间窗口参数支持和增量计算测试
- feat(trade_manage): 新增 getPositionDict 方法用于获取当前全部持仓记录字典
- feat(core): 添加许可证过期提醒功能
- feat(plugin): 添加 AGG_VWAP 指标的 KData 重载版本
- feat(hikyuu): 添加基于策略上下文的初始化函数
- 发布版本支持 python 3.14
⚡️ 优化改进
- refactor(hikyuu/utilities/thread): 优化并行计算
- feat(misc): 添加批量获取账户资金和性能数据的功能
- feat(stock): StockManager 添加互斥锁防止初始化冲突,支持加载扩展指标插件
- feat(agent): 添加多线程控制的互斥锁防止代理启停冲突
🐞 缺陷修复
- fix(trade_sys): crtST和现有接口不符无法使用
- fix(factor): 修复 MultiFactorBase 克隆和序列化中缺失 m_norm 的问题
- feat(HikyuuTdx): 优化板块信息下载,添加超时处理,防止卡死
更多信息,参见:
- 项目主页: https://hikyuu.org
- gitee 地址:https://gitee.com/fasiondog/hikyuu
- github 地址:https://github.com/fasiondog/hikyuu
- hub 地址: https://gitee.com/fasiondog/hikyuu_hub