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-1.3.4-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f664fb9abeab4994ae36335f3cfc2b2cf954ebe8f3b18c4bfb94484e7be7bf22 |
|
MD5 | d873c86bce592987932a714139603dc4 |
|
BLAKE2b-256 | 1fd14b3e0ae56aa69e8adbfcddad08e77b86f918eaab8b5374420b5786f92140 |
Hashes for hikyuu-1.3.4-cp312-none-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b099cc5756780fb5f55941cfc931764c0e7c34a1df8d314939178fa1736ee18 |
|
MD5 | 4020d56445be9b7e4e8ce9108ec85d73 |
|
BLAKE2b-256 | d2a0e2798c23f465ada30c205a9f7509092e99bfc30012d4e26d50c76eb67e1d |
Hashes for hikyuu-1.3.4-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9fd7140328020e229ed8fed51e2639f50cbff247d78f1c2b4d3dc65b0caa5cc5 |
|
MD5 | afe8e3cbaeba903664911eba3ee778fa |
|
BLAKE2b-256 | fc14aabcaf4897bf19cef328212ebacd151dc0f3f0d18a204ce3e2094146f88e |
Hashes for hikyuu-1.3.4-cp311-none-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 421a47ccee93bd22595cb34c6dbae2bdf3e6f3bf627ad6937763cc2513d8e389 |
|
MD5 | b8f0bd866c3172713f95b3441361e412 |
|
BLAKE2b-256 | 9fdc78b7923c64f483708d2182c084f5e1acd3653f1bb9d210af54f4f4e3ad7a |
Hashes for hikyuu-1.3.4-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8024415ea3a1b0ea9a2e03d490d78cce75c6d5b6f1d0b3018154769a968ae978 |
|
MD5 | be8a7af964573cdaa1315e5003b30b7d |
|
BLAKE2b-256 | f825547aed28e0c4c105f3b66b52c56edb1af2ab22e598df0cff523b86fa7d61 |
Hashes for hikyuu-1.3.4-cp310-none-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 259f87d09ae00a3d203bdacc295b4712ddb7fdb760a5349ef468850ddcb30a38 |
|
MD5 | dd2a81a09cd7c64d5cb5474979bb4978 |
|
BLAKE2b-256 | f71faa518c8bcee094e214972038d4316c127da3a21ce814568d290d4da78352 |
Hashes for hikyuu-1.3.4-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9643dc06e083525eb5fb55db210621280c7cfa591be742d157c48734577d610e |
|
MD5 | a2a11ccefa07498a45759755e1d6c340 |
|
BLAKE2b-256 | 7737af70c3c6cd80b3b3c0bdde321fd8c3396b46fb6d6f660d4c4801f52ff723 |
Hashes for hikyuu-1.3.4-cp39-none-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 84fd058b8503318b1df4ae0f32863c13a6d1f893c707d5b5bd47fce1e23bfc76 |
|
MD5 | da477e2fb858f524006697adaaa3df52 |
|
BLAKE2b-256 | 16af2f874888560fd648a6c8f45a4946f27cf8f6f22dc3b6963e8b1ca2c02e9b |
Hashes for hikyuu-1.3.4-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6dc84e11ebf17bebdb3d79bfed9998a951f0474a5e1b57ad9d4e41ff86bee1d6 |
|
MD5 | 5e3755df9c2352abfa1c2493ac3f844e |
|
BLAKE2b-256 | 9ee06b18fcaaf10f73f883515e4e10ec6d9102473304ebd5fb5c09870d2694a3 |
Hashes for hikyuu-1.3.4-cp38-none-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 632f17131f120767a79a039ad27cadb5442e09781c8653a5e1be0e427df19879 |
|
MD5 | 837cfe932e868b86adc9a432b3f4f541 |
|
BLAKE2b-256 | 01ce45ccf7f5dc14aecc6c493a332f8cfdd29125384939e38a2398790e01b5f0 |