Hikyuu Quant Framework for System Trading Analysis and backtester
Project description
Hikyuu Quant Framework是一款基于C++/Python的开源量化交易研究框架,用于策略分析及回测(仅受限于数据,如有数据也可用于期货等)。其核心思想基于当前成熟的系统化交易方法,将整个系统化交易抽象为由市场环境判断策略、系统有效条件、信号指示器、止损/止盈策略、资金管理策略、盈利目标策略、移滑价差算法七大组件,你可以分别构建这些组件的策略资产库,在实际研究中对它们自由组合来观察系统的有效性、稳定性以及单一种类策略的效果。
祝贺 HIKYUU 入选 GITEE 最有价值开源项目 GVP
给作者加点油,每天扫扫红包,或者请作者喝杯咖啡
示例:
#创建模拟交易账户进行回测,初始资金30万 my_tm = crtTM(init_cash = 300000) #创建信号指示器(以5日EMA为快线,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))
为什么选择 Hikyuu?
组合灵活,分类构建策略资产库 Hikyuu对系统化交易方法进行了良好的抽象,包含了九大策略组件:市场环境判断策略、系统有效条件、信号指示器、止损/止盈策略、资金管理策略、盈利目标策略、移滑价差算法、交易对象选择策略、资金分配策略。可以在此基础上构建自己的策略库,并进行灵活的组合和测试。在进行策略探索时,可以更加专注于某一方面的策略性能与影响。其主要功能模块如下:
性能保障,打造自己的专属应用 目前项目包含了3个主要组成部分:基于C++的核心库、对C++进行包装的Python库(hikyuu)、基于Python的交互式工具。
C++核心库,提供了整体的策略框架,在保证性能的同时,已经考虑了对多线程和多核处理的支持,在未来追求更高运算速度提供便利。C++核心库,可以单独剥离使用,自行构建自己的客户端工具。
Python库(hikyuu),提供了对C++库的包装,同时集成了talib库(如TA_SMA,对应talib.SMA),可以与numpy、pandas数据结构进行互相转换,为使用其他成熟的python数据分析工具提供了便利。
hikyuu.interactive 交互式探索工具,提供了K线、指标、系统信号等的基本绘图功能,用于对量化策略的探索和回测。
代码简洁,探索更便捷、自由 同时支持面向对象和命令行编程范式。其中,命令行在进行策略探索时,代码简洁、探索更便捷、自由。
安全、自由、隐私,搭建自己的专属云量化平台 结合 Python + Jupyter 的强大能力与云服务器,可以搭建自己专属的云量化平台。将Jupyter部署在云服务器上,随时随地的访问自己的云平台,即刻实现自己新的想法,如下图所示通过手机访问自己的云平台。结合Python强大成熟的数据分析、人工智能工具(如 numpy、scipy、pandas、TensorFlow)搭建更强大的人工智能平台。
数据存储方式可扩展 目前支持本地HDF5格式、MySQL存储。默认使用HDF5,数据文件体积小、速度更快、备份更便利。截止至2017年4月21日,沪市日线数据文件149M、深市日线数据文件184M、5分钟线数据各不到2G。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Hashes for hikyuu-2.0.1-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c61beeaba0976f79e5251b0d7da3bd06798c4677280e1ee9f5da39b50af9568e |
|
MD5 | 5b794027e6b8c82bf18e472bb2b14a0e |
|
BLAKE2b-256 | b58e60fbe92accf77936631fa8ea2e63ff4f76fe3d277b57ce177d6e86c456fd |
Hashes for hikyuu-2.0.1-cp312-none-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fdc85388e722f362dbd553b58423e28c4f45a19076d5745cdb8dd6c1b5207ba2 |
|
MD5 | b292a14fcac039491b0a0d0b9b5b1c7b |
|
BLAKE2b-256 | 2f0b815ab6a9f8e93ee5fbf1b5b3d367cb0b53c15f36000de4b7da918d46cd23 |
Hashes for hikyuu-2.0.1-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c7bd2729531eb3e4803a2ee04dd1ce6f57a7d3e6fd7a6d6c8e13b298a38406c1 |
|
MD5 | 1bdb26ccde462d608aadd38951f88c2b |
|
BLAKE2b-256 | be0d0d916d356bd9c2aa94d93873119e9b171c4312b82616bc7bd53d897277d4 |
Hashes for hikyuu-2.0.1-cp311-none-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 048fd57915b7d472cab114335bd09bf9eeddf840e66b28a65653339b1b60a817 |
|
MD5 | b3481b3abe1589890fdae7b99e0ce0db |
|
BLAKE2b-256 | 7a1e6edd1708de0021c008f58da6ef6bf96bde16f8e937775baaf9cfc95c6974 |
Hashes for hikyuu-2.0.1-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b53c4fa149754af99d5daa6ad231338174063d4f9eb5576fb66885fabbbe9af6 |
|
MD5 | 2de546fe709b35f393258879fd1388f4 |
|
BLAKE2b-256 | 105699705c2d7653ad15d293b10e01ce1cd42aa72b2c9489cafdc59d3d29ca17 |
Hashes for hikyuu-2.0.1-cp310-none-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e01b5a74fa9367c635fdffe60b38d65d999b5848a3bcd9e1ca3f3bb042962880 |
|
MD5 | 5b0d0015b7bb6a60ffe15b1937b3be18 |
|
BLAKE2b-256 | 03ca3fe89c2042a0e8fe9cdb86a1e3acff5ccace62e3a31bc7796c50a3e5c55c |
Hashes for hikyuu-2.0.1-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5273a611f9191c510666f2d7009181513a2aa6c084d69f4b59aba01601ef4d3b |
|
MD5 | 36fadd123ce58c8f583b727af0c30d72 |
|
BLAKE2b-256 | 6eee685cb9d476d337dec4c8cde98f96d7a0dc079fc8ff8c3d5b4d3036220145 |
Hashes for hikyuu-2.0.1-cp39-none-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d2d95376af6fb10528e4054469997ad13bbef417be29554ae87d9ebfb4c84c3c |
|
MD5 | a015a01269d61f340185e8a18d561ddf |
|
BLAKE2b-256 | cf232e63181b185f7aec9cb19f6b9fd89c512155f0a9f4d813472af904f4d6da |
Hashes for hikyuu-2.0.1-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 67ce308bfcad22e2e8008ec8ea9657d5c064600b6b7bc94b5160dbf898e6fe0f |
|
MD5 | a25a77200f0aee45f06ba073bff8f7df |
|
BLAKE2b-256 | 9f37889139d885219305f3832f7646c818ab7eb64a3dfa2466a14ef9aab8ad40 |
Hashes for hikyuu-2.0.1-cp38-none-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23da48cb862fd59c1d4a3f4c7b6067c5b8e6dd143af4c4d4217d9ec527071b56 |
|
MD5 | 1f73b351ca4e8cc2acbbeef8bcac5a74 |
|
BLAKE2b-256 | 4c9fe5d23e8b686cf20587556955085f22089e2c76e6dc1111b6c66bab3f6818 |