找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

97

积分

0

好友

17

主题
发表于 2025-10-7 23:33:54 | 查看: 15| 回复: 0

上周在云栈社区看到有人抱怨:用Python跑个全市场回测,喝完咖啡代码还在跑。评论区炸了,有人说"这就是量化的日常",也有人甩出一个GitHub链接——Hikyuu。

我花了两天时间把这个框架从头到尾啃了一遍,说实话,有点意外。

源码下载:
hikyuu-master.zip (56.48 MB, 下载次数: 5)

先说数据

AMD 7950x处理器,A股全市场1913万根日K线,计算20日均线:

  • 首次加载含数据读取:6秒
  • 数据加载完毕后再算:166毫秒

这什么概念?我之前用纯Python写的回测框架,同样的任务至少要跑20秒以上。

数据存储也很克制。沪市全部日线数据压缩后149M,深市184M。5分钟线数据各不到2G。笔记本硬盘随便放。

核心设计很聪明

Hikyuu把交易系统拆成了9个独立组件:

市场环境判断 - 现在是牛市还是熊市
信号指示器 - 什么时候买什么时候卖
资金管理 - 每次买多少
止损止盈 - 什么时候认输什么时候落袋
对象选择 - 全市场选哪些票
资金分配 - 多个策略怎么分钱
...还有3个

每个组件都能单独替换。比如你觉得双均线信号不错,但想换个止损方式,直接换掉止损组件就行,其他代码一行不用改。

这种设计最大的好处是策略能复用。你写过的每个组件都是资产,可以像搭积木一样组合出新策略。

为什么这么快

秘密在架构上。

底层用C++写核心计算引擎,多线程并行,内存对齐优化,该用的手段都用了。上层用Python封装接口,写策略的时候还是熟悉的Pandas和Numpy。

数据存储默认用HDF5格式,压缩比高,随机访问快。需要哪段数据就加载哪段,不会把整个市场数据全塞进内存。

指标计算做了缓存。算过一次的结果会存起来,下次直接用,不会傻乎乎地重复计算。

适合什么人用

个人研究者 - 成本低,数据存本地,隐私有保障。想验证个策略想法,写几行代码跑一下,几秒钟就有结果。

小型私募团队 - 如果你们做的是日线或周线级别的策略,Hikyuu够用了。策略组件库可以慢慢积累,新人来了直接用现成的模块。

量化教学 - 开源代码可以随便看,架构设计也很清晰,适合学习。

不适合什么场景

说实话,高频交易别想了。这个框架主要面向回测研究,不是为实盘高频设计的。毫秒级延迟要求它满足不了。

实盘交易功能也比较基础,需要自己对接券商接口,风控系统得额外开发。

市场覆盖主要是A股,期货期权要扩展,海外市场得自己定制。

我的实际体验

装起来不复杂,文档写得还算清楚。有个知识星球可以付费提问,社区也比较活跃。

写了个简单的双均线策略测试,代码量比我预想的少。最爽的是回测速度,基本上是秒出结果,可以快速试错。

唯一不太习惯的是策略组件的概念,刚开始需要转换思维。但理解之后会发现这种方式确实更灵活。

一点思考

量化交易的门槛其实挺高的。数据、回测、实盘,每个环节都要花钱花时间。Hikyuu这种开源框架的价值在于,它把回测这个环节的成本降到了很低。

当然,工具再好也只是工具。策略逻辑、风控意识、市场理解,这些才是核心竞争力。但至少有了趁手的工具,可以把更多精力放在策略本身上。

如果你正在找一个轻量级的A股回测框架,或者想学习量化系统的架构设计,Hikyuu值得一试。


想了解更多量化工具和实战经验?关注《alphaFind》,从因子到实盘,陪你走完最后一毫秒。


项目地址:
https://github.com/fasiondog/hikyuu

官方文档:
http://hikyuu.org/


标签:#Hikyuu #Github #量化交易 #开源项目 #A股回测 #Python量化


您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|云栈社区(YunPan.Plus) ( 苏ICP备2022046150号-2 )

GMT+8, 2025-10-18 02:33 , Processed in 0.070300 second(s), 42 queries .

Powered by Discuz! X3.5

© 2025-2025 CloudStack.

快速回复 返回顶部 返回列表