Hikyuu Quant Framework for System Trading Analysis and backtester
Project description
Hikyuu Quant Framework是一款基于C++/Python的开源量化交易研究框架,用于策略分析及回测(仅受限于数据,如有数据也可用于期货等)。其核心思想基于当前成熟的系统化交易方法,将整个系统化交易抽象为由市场环境判断策略、系统有效条件、信号指示器、止损/止盈策略、资金管理策略、盈利目标策略、移滑价差算法七大组件,你可以分别构建这些组件的策略资产库,在实际研究中对它们自由组合来观察系统的有效性、稳定性以及单一种类策略的效果。
详细文档: https://hikyuu.org/
如果上述网站无法访问,请戳这里: http://fasiondog.gitee.io/hikyuu/
祝贺 HIKYUU 入选 GITEE 最有价值开源项目 GVP
给作者加点油,每天扫扫红包,或者请作者喝杯咖啡
示例:
#创建模拟交易账户进行回测,初始资金30万 my_tm = crtTM(init_cash = 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))
为什么选择 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.2.6-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 86268e6f3aa65162e49a7276b491304e4d19e0bf5a8e6972a70d5322b95d25b6 |
|
MD5 | 5f7768e7577974a5776eb4af85d13e37 |
|
BLAKE2b-256 | 3462f0510ce79c40a6d74e27c510adf3ac73412feea00a11d58c2127ac038b8c |
Hashes for hikyuu-1.2.6-cp310-none-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ea777b57a46d657d971718e64bf22aa9883d850355ab5030df491d934c3c409 |
|
MD5 | 959fa88fa5baef0c8911ef185c548de9 |
|
BLAKE2b-256 | 5d763bf8769b21a444375014a53a8cfb40ff69d62acb604897b5ac2e6dc4425f |
Hashes for hikyuu-1.2.6-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d142e48f78a5bb4295918d041dc49b4f7d53bac99e1929f8839067487fe77a10 |
|
MD5 | bd405a854ce284f35995d8c0ed9248b6 |
|
BLAKE2b-256 | d44785c6169ec38514288e7acfe546e671abe7e561cacba4620eac5acb06bf5e |
Hashes for hikyuu-1.2.6-cp39-none-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 240ad31dd20e1c04db4ff2e4aa4e10e3a6d97db574d3c383c5a4306e4808c941 |
|
MD5 | 0aace71abeaac5c40ce0d7a326ab3b12 |
|
BLAKE2b-256 | 49bd129a8bcd36b3cf5da0766ba61d9e4c935280e0c96f818a45391c5783b0da |
Hashes for hikyuu-1.2.6-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e2f09d3a25a7eaf43ba29a663011cea18f3c89cfc19ffe0acf65cc275700007 |
|
MD5 | ab50e7429dbe929718d1449c7dfe9efb |
|
BLAKE2b-256 | c10ceb4ffe998fcce330a6f44ec72edd9fdb61d5cc33e934df0987205cfafa1e |
Hashes for hikyuu-1.2.6-cp38-none-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 209a0776fc4ff6af865c7ab6a51a29fa720b1b65734d990669a8afbf644b82d1 |
|
MD5 | 57a606cb931c68d614362e76ed87057c |
|
BLAKE2b-256 | 2660b0e7cefaa0e44c7776807302d4b7c80d7c8ad5892fc0286667d0abcaf368 |
Hashes for hikyuu-1.2.6-cp37-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8dba9e9cd2b703cc6327de4d1c4e3b79b62883599113d1f611468cb5ef14863f |
|
MD5 | dea4b53c40754a7419450badfc5f2852 |
|
BLAKE2b-256 | e3248bd19b78053acfa5f680a6a55f0f134e2f25a08e150225d3a850d48657ac |
Hashes for hikyuu-1.2.6-cp37-none-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c6845154dafe0a9df1207aa935b6e14e563bce7ed5ca725cb7a57b8da0d995ae |
|
MD5 | c7fcec7d1bcd8939fbda1cef79c74d1d |
|
BLAKE2b-256 | 1056b0997fb78d1301d35b918162b9d8febd38da27d5a6dc94fa0e6355ca8864 |
Hashes for hikyuu-1.2.6-cp36-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef408862ab073a3183d248c586c99e5755a2ef59a9c15827696caf6c03bc8df8 |
|
MD5 | f457214d8754c69ffb471d60c6022c3a |
|
BLAKE2b-256 | ce623c94ccd8281b7e2912346486abd08508b6b660eb1c6a2a53cd28ded1d0a0 |
Hashes for hikyuu-1.2.6-cp36-none-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a1e0591178d499b20363b91126319e9083c41f4b8ccd4fd0c763d3922f35a2d |
|
MD5 | 303feb0185b2af752b78f0ee2761ccb6 |
|
BLAKE2b-256 | 2cf79b0998a42f21351dec0ec21b4cf18bc19a0fb4b3cc7b413dd7755848a083 |