hikyuu:超高速量化交易研究框架,支持策略开发、极速回测与实盘拓展

Hikyuu Quant Framework是一款基于C++/Python的开源量化交易研究框架,用于策略分析及回测(目前主要用于国内A股市场)。其核心思想基于当前成熟的系统化交易方法,将整个系统化交易抽象为由市场环境判断策略、系统有效条件、信号指示器、止损/止盈策略、资金管理策略、盈利目标策略、移滑价差算法七大组件,你可以分别构建这些组件的策略资产库,在实际研究中对它们自由组合来观察系统的有效性、稳定性以及单一种类策略的效果。

分支8Tags80

title

基于 C++/Python 的开源超高速量化交易研究框架,聚焦策略分析与回测

Windows build Ubuntu build License Downloads

English | 简体中文

Hikyuu Quant Framework 依托成熟的系统化交易与投资组合理念,核心目标聚焦于打造策略(或资产)组合的快速策略研究体系,同时将量化分析体系拆解为市场环境、信号、止损 / 止盈、资金管理、收益目标、滑点、多因子、资金分配等可独立替换的策略部件,自由组合即可搭建专属策略库,并通过回测验证有效性。

⚠️ 免责声明:本项目为开源金融技术研究工具,仅供个人学习、学术研究与数据分析使用,不构成任何投资建议与交易指导,不提供、不内置证券交易服务。用户自主新增、对接各类交易接口、开发拓展功能以及对应的实操行为,均由用户自行承担全部风险与法律责任,严禁对接非法交易通道、用于违规交易场景。


📊 关键数据

⚡ 166ms
预热后 1913 万 K 线求和耗时(AMD 7950x)
🧩 10+
核心策略部件 · 自由组合构建资产库
💾 4 种
存储方式(HDF5 / MySQL / ClickHouse / SQLite)


🔗 快速导航

项目 链接
🏠项目首页 https://hikyuu.org/
📚帮助文档 https://hikyuu.readthedocs.io/zh-cn/latest/index.html
🚀入门示例 Jupyter Notebook 系列教程
🧰策略部件库 https://gitee.com/fasiondog/hikyuu_hub

⚡ 快速开始(跑通第一个回测)

环境要求

  • Python 3.10+(3.9 及以下自 2.8.0 起不再支持 pip 安装)
  • 支持 Windows / Linux / macOS(Linux 需 Ubuntu 24.04+)
  • 主要依赖自动安装:numpy、pandas、matplotlib、PySide6、tables 等

第 1 步:安装

pip install hikyuu

国内用户若下载缓慢,可换用镜像源:

pip install hikyuu -i https://pypi.tuna.tsinghua.edu.cn/simple

第 2 步:导入行情数据

任选一种方式导入 A 股历史行情数据:

# 图形界面(推荐首次使用,会自动生成配置文件)
HikyuuTDX

# 命令行(需先运行过一次 HikyuuTDX 生成配置)
importdata

ℹ️ 数据范围说明:HikyuuTDX 目前仅支持下载国内 A 股历史数据,首次使用需在图形界面中完成初始配置;美股等其他市场暂不支持,后续将逐步补充。

第 3 步:跑通第一个回测

from hikyuu.interactive import *

# 创建模拟交易账户进行回测,初始资金 30 万
my_tm = crtTM(init_cash=300000)

# 创建信号指示器(以 5 日 EMA 为快线,其 10 日 EMA 为慢线)
# 快线向上穿越慢线时买入,反之卖出
my_sg = SG_Flex(EMA(CLOSE(), n=5), slow_n=10)

# 固定每次买入 1000 股
my_mm = MM_FixedCount(1000)

# 创建交易系统并运行
sys = SYS_Simple(tm=my_tm, sg=my_sg, mm=my_mm)
sys.run(sm['sz000001'], Query(-150))

回测结果示意

📖 完整示例参见 Jupyter Notebook 系列教程

❓ 上手常见问题

现象 解决办法
Windows 下pip install 卡在下载 PyQt / PySide6 换清华源:pip install hikyuu -i https://pypi.tuna.tsinghua.edu.cn/simple
HikyuuTDX 图形界面无法导入数据 改用命令行importdata(需先运行过一次 GUI 以生成配置文件)
提示缺少 hdf5 / dll 相关错误 执行pip install tables 重新安装 HDF5 支持
从源码构建时的构建工具 本项目使用xmake,不是 cmake

💡 更多问题请查 帮助文档,或在 Gitee 提交 issue。


🚀 为什么选择 Hikyuu?

强大的功能特性,助力您的量化交易研究

💹 组合灵活,分类构建策略资产库

对系统化交易方法进行轻量化抽象,将市场环境、信号指示器、止损 / 止盈、资金管理、盈利目标、滑点、资金分配等封装为可独立替换的策略部件。你可以自由组合、高效回测,并在研究时专注于单一部件的效果与影响。完整部件清单见下文「交易系统化架构核心部件」。

功能架构

🚀 极致性能,轻松构建专属量化应用

项目由三大部分构成:高性能 C++ 核心库、Python 接口层(hikyuu) 以及 交互式探索工具。

  • AMD 7950x 实测:A 股全市场 1913 万日 K 线,首次加载并计算 20 日均线求和仅需 6 秒,数据预热后同操作仅需 166 毫秒(📊 性能实测详情)。
  • C++ 核心库:内置完整策略框架,原生支持多线程与多核加速,为超高算力场景预留扩展空间;核心库可独立剥离使用,帮助开发者快速构建自定义量化工具。
  • Python 接口层(hikyuu):对 C++ 核心进行轻量化封装,集成 TA-Lib,支持与 numpy、pandas 无缝互转,轻松对接主流 Python 数据分析生态。
  • hikyuu.interactive:交互式探索工具,内置 K 线、指标、信号可视化能力,适合快速策略验证与回测分析。

🍳 语法简洁,策略探索更高效自由

同时支持 面向对象 与 命令行 两种编程范式。尤其在策略探索阶段,命令行风格语法极简、表达直观,让你更快验证想法、迭代策略。

🔐 自主可控,搭建专属云量化平台

结合 Python + Jupyter 与云服务器,即可搭建完全自主可控的云量化平台。部署后随时随地访问(手机、平板、电脑均可使用),快速落地新想法。同时可无缝对接 numpy、scipy、pandas、TensorFlow 等成熟 AI 与数据分析工具,构建智能量化系统。也可按需自定义界面、实现服务化部署。

🎁 模块化可扩展数据存储

目前支持 HDF5、MySQL、ClickHouse、SQLite 四种存储方式,默认采用 HDF5(体积小、读写快、备份便捷)。通过插件可扩展 ClickHouse,读写速度优于 HDF5、空间占用远低于 MySQL,更适配分钟级及以下粒度的高频数据。

💻 简洁的 API 设计

几行代码即可搭建完整的策略回测系统,直观的 API 让策略开发更高效。

🔓 开源透明,数据安全可控

Apache 2.0 开源协议,代码透明审计无忧。核心数据、策略全量本地可控,C++ 核心库可独立剥离使用,自由打造专属客户端工具,无需担心第三方平台限制,但请遵循协议。


🏗️ 交易系统化架构核心部件

遵循系统化交易理念严谨架构,每个部件可独立替换、自由组合

层级 部件 说明
投资组合层 Portfolio / PF 投资组合:多系统的策略调度
Selector / SE 系统对象选择:系统策略筛选
AllocateFunds / AF 资金分配:多系统的资金分配
MultiFactor / MF 多因子模型:因子评分与排序
交易系统 SYS Environment / EV 市场环境:大盘环境有效性判断
Condition / CN 系统有效条件:系统适用条件
Signal / SG 信号指示器:产生买卖信号
Stoploss / Stopprofit / ST 止损 / 止盈:风险控制退出
MoneyManager / MM 资金管理:买卖数量控制
ProfitGoal / PG 盈利目标:目标达成退出
Slippage / SP 滑点:回测价格模拟
交易管理 TradeManager / TM 交易管理:账户资金与持仓记录
OrderBroker / OB 订单执行:实盘下单 broker 对接
数据层 StockManager 证券统一管理
KData K 线量价序列
Query 时间范围查询筛选

📂 浏览源码

欢迎 Star ⭐,参与贡献

平台 链接 推荐
GitHub https://github.com/fasiondog/hikyuu 海外
码云 Gitee https://gitee.com/fasiondog/hikyuu ✅ 国内推荐
GitCode https://gitcode.com/hikyuu/hikyuu ✅ 国内推荐

❤️ 感谢捐赠,让 Hikyuu 走得更远

方案 说明 方式 链接
☕请作者喝杯咖啡 ¥30 · 一次性的小小支持(赠历史日线及 3 个月捐赠权益) 支付宝 前往捐赠
📅订阅 180 天 ¥50 · 半年期捐赠权益(赠历史日线) 支付宝 前往捐赠
🗓️订阅 365 天 ¥100 · 全年期捐赠权益(赠历史日 / 分 / 时 / 笔数据) 支付宝 前往捐赠
🌌加入知识星球 ¥300/年 · 首年 300 元,续费半价;捐赠权益 1 年可 3 台设备登录 · 专属微信群及策略部件库(赠历史日 / 分 / 时 / 笔数据) 微信 / 知识星球 APP 前往加入

🎁 捐赠计划与附赠详见:https://hikyuu.readthedocs.io/zh-cn/latest/vip/donate-plan.html

捐赠用户支持群(仅接受捐赠用户,入群请注明:Hikyuu 订阅)

捐赠用户支持


🌟 需要的帮助

欢迎社区成员一起参与贡献:

  • 🐛 测试并反馈 Bug
  • 📝 编写文档
  • 🔧 开发新功能
  • 🎨 网站优化

💡 建议通过在 GitHub / Gitee / GitCode 开 issue 的方式贡献以上内容


📦 项目依赖说明

C++ 核心模块直接依赖的开源项目、项目地址及 License 已汇总至 THIRD_PARTY_LICENSES.md(间接依赖未列出),在此向所有开源作者致敬 👍

Python 侧依赖见 requirements.txt。


Star History

Star History Chart

项目介绍

Hikyuu Quant Framework是一款基于C++/Python的开源量化交易研究框架,用于策略分析及回测(目前主要用于国内A股市场)。其核心思想基于当前成熟的系统化交易方法,将整个系统化交易抽象为由市场环境判断策略、系统有效条件、信号指示器、止损/止盈策略、资金管理策略、盈利目标策略、移滑价差算法七大组件,你可以分别构建这些组件的策略资产库,在实际研究中对它们自由组合来观察系统的有效性、稳定性以及单一种类策略的效果。

定制我的领域