Hikyuu 1.3.4 发布,高性能量化交易研究框架

来源: 投稿
作者: fasiondog
2024-02-02 09:47:00

Hikyuu 是一款基于 C++/Python 的高性能开源量化交易研究框架,用于快速策略分析及回测。与其他量化平台或回测软件相比,具备:

  1. 超快的回测速度;
  2. 对完整的系统交易理念进行抽象,并分解为不同的组件,通过重用不同的方面策略,最大化的减轻编写策略的负担。

更多信息,参见项目主页: https://hikyuu.org  http://fasiondog.gitee.io/hikyuu

  1. fixed windows 下第三方依赖 hikyuu 的 C++ 代码中无法使用 KData
  2. 调整 matplotlib font manager 日志级别
  3. 配合 hub (策略组件仓库) 使用 C++ 部件更新,参见 https://gitee.com/fasiondog/hikyuu_hub

Hikyuu 策略仓库

  • ind 指标部件
  • part 策略部件
    • af 资产分配策略
    • se 选股策略
    • ev 市场环境判定策略
    • cn 系统有效性策略
    • sg 信号指示器
    • pg 盈利目标策略
    • st 止损/止盈策略
    • sp 移滑价差算法
  • sys 交易系统策略
  • prtflo 资产组合策略
  • other 其他

创建纯 python 实现的部件

在相应类别下创建自定义命名的子目录,并在改目录下创建 part.py 文件,其中定义 part 函数(可带参数),part 函数返回相应实例即可。具体可参见已有部件的实现。

创建 c++ 实现的部件

编译系统准备

  1. 已安装相应的 c++ 编译器
  2. 已安装 xmake
  3. 已安装 hikyuu

创建部件

通过 setup.py 中的 create 命令创建相应的部件,参数 -t 指明部件类别,-n 指定部件名称,如下创建一个名为 example 的指标部件:

python setup.py create -t ind -n example

将在指定类别的目录下创建相应目录及相关文件。

在生成的文件中,修改 export.cpp,在其中实现自己的逻辑即可(即"my_part"的实现)。可参考 cn/ma 下的均线系统判断条件实现。另外,可在 part.py 中,修改 part() 的帮助说明。其他生成文件不要修改。

复杂实现,可以自行添加其他 c++ 源文件进行实现。

编译部件

使用 build 命令编译指定部件,如:

python setup.py build -t ind -n example

使用 buildall 命令编译所有 c++ 部件,如:

python setup.py buildall

清理部件

使用 clear, clearall 命令执行清理,使用方法同 build, buildall 命令

删除部件

直接手工删除相应目录即可

C++ 部件注意事项

初次下载 hub 仓库时,已有的 c++ 部件不会自动编译,也无法使用。需要执行下述命令后,根据当前的系统环境更新,并执行编译后方可使用。

执行更新命令,将根据当前系统环境更新已有的所有 c++ 部件编译设置

python setup.py update

编译所有c++部件

python setup.py buildall

在 hikyuu.interactive 中使用 c++ 部件

在 hikyuu.interactive 中封装了 hub setup.py 中的相关命令,使用 build_hub 调用即可,如:

from hikyuu.interactive import *
build_hub('default', 'update')
build_hub('default', 'buildall')
build_hub('default', 'create -t ind -n example')

注意:

windows系统中,由于动态库在使用时无法被替换,可能需要到 hub 仓库所在目录下执行编译

展开阅读全文
点击引领话题📣 发布并加入讨论🔥
0 评论
3 收藏
分享
返回顶部
顶部