开源量化交易研究框架Hikyuu

HikyuuQuantFramework是一个基于C++/Python的开源框架,用于策略分析和回测。它通过组件化设计,包括市场环境判断、信号指示器等七大组件,允许用户灵活构建和测试交易系统。该框架支持性能优化、多范式编程和数据存储扩展,可用于搭建个性化的量化交易平台。
摘要由CSDN通过智能技术生成

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

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

#创建信号指示器(以5日EMA为快线,5日EMA自身的10日EMA最为慢线,快线向上穿越慢线时买入,反之卖出)
my_sg = SG_Flex(OP(EMA(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 Viewer

表示一个完整的系统化交易方法或策略。而在系统之上,称为 Portfolio 资产组合,选股策略则是 Portfolio 的组件,Portfolio 的另一重要组成则是资金分配策略,比如选股策略选定了 4 个交易对象(股票或基金等),

Hikyuu Quant Framework 其实是在 System 和 Portfolio 基础之上、包含了九大策略组件:市场环境判断策略、系统有效条件、信号指示器、止损 / 止盈策略、资金管理策略、盈利目标策略、移滑价差算法、交易对象选择策略、资金分配策略。可以在此基础上构建自己的策略库,并进行灵活的组合和测试,甚至可以更进一步,在选择交易对象的同时,选取与之匹配的最优系统交易策略(System)。

1、组合灵活,分类构建策略资产库 Hikyuu 对系统化交易方法进行了良好的抽象,将完整的系统交易分为不同的策略组件接口,在进行策略探索时,可以更加专注于某一方面的策略性能与影响,可以构建自己的策略库累计资产,并灵活组合。其主要功能模块如下:

主要功能模块示意图

2、性能保障,打造自己的专属应用 目前项目包含了 3 个主要组成部分:基于 C++ 的核心库、对 C++ 进行包装的 Python 库 (hikyuu)、基于 Python 的交互式工具。

  • C++ 核心库,提供了整体的策略框架,在保证性能的同时,已经考虑了对多线程和多核处理的支持,在未来追求更高运算速度提供便利。C++ 核心库,可以单独剥离使用,自行构建自己的客户端工具。

  • Python 库(hikyuu),提供了对 C++ 库的包装,同时集成了 talib 库(如 TA_SMA,对应 talib.SMA),可以与 numpy、pandas 数据结构进行互相转换,为使用其他成熟的 python 数据分析工具提供了便利。

  • hikyuu.interactive 交互式探索工具,提供了 K 线、指标、系统信号等的基本绘图功能,用于对量化策略的探索和回测。

3、多范式支持,探索更便捷、自由 同时支持面向对象和命令行编程范式。其中,命令行在进行策略探索时,更加简单、便捷、自由。

4、安全、自由、隐私,搭建自己的专属云量化平台 结合 Python + Jupyter 的强大能力与云服务器,可以搭建自己专属的云量化平台。将 Jupyter 部署在云服务器上,随时随地的访问自己的云平台,即刻实现自己新的想法,如下图所示通过手机访问自己的云平台。结合 Python 强大成熟的数据分析、人工智能工具(如 numpy、scipy、pandas、TensorFlow) 搭建更强大的人工智能平台。

5、数据存储方式可扩展 目前支持本地 HDF5 格式、MySQL 存储。默认使用 HDF5,数据文件体积小、速度更快、备份更便利。截止至 2017 年 4 月 21 日,沪市日线数据文件 149M、深市日线数据文件 184M、5 分钟线数据各不到 2G。

MF 多因子组件,用于时间截面对各标的排序评分,重新整理 PF (投资组合)、SE (选股算法)。从投资组合 (PF)-- 截面评分 (MF)-- 选股过滤 (SE)-- 系统策略 (SYS)-- 择时 (SG)-- 资金管理 (MM)-- 止损 (ST)/ 止盈 (TP)-- 盈利目标 (PG) 全链条的交易组件化

指标 ZBOND10(10 年期国债收益率用于计算夏普比例)、SPEARMAN(秩相关系数)、IC(信息系数)、ICIR(信息比率)

复权类指标(EQUAL_FORWARD 等), 方便需要复权数据的指标计算

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值