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.7-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5bd6dcdb7add04b7c71663ccc5552e24768e8dd2936a818991e515629792cffd |
|
MD5 | 7fcea8f6a57ddcc72659621a9f711b55 |
|
BLAKE2b-256 | 785ab63bdf7837d1b8d85a8f3d9c1ed5891001c44d23be58c7fc509ed6cc8ec7 |
Hashes for hikyuu-2.0.7-cp312-none-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 276f6b04043af543d625ffd304a835af57f734e517b7a104657acf0162dd7ba3 |
|
MD5 | 424941b9ce52b9c0befb825b4389fbaf |
|
BLAKE2b-256 | adb7e8c4ba629bbdf8f8caf268e7b56c3c1992af4bef730a1a268536853bb840 |
Hashes for hikyuu-2.0.7-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 263707f6a9533da6759fe6f56e467b78818231400be09b283e24c7e77f0ca82b |
|
MD5 | 6acb18cf875a769a7179886c3ce5f480 |
|
BLAKE2b-256 | cf888f6b0425b14f7de7552e574d06b03f924a5dcb4780d119f1b66dd352337c |
Hashes for hikyuu-2.0.7-cp311-none-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 651b8e5ae82b8020e7af753b72811d1c1f00c7c9a51e4258a257a5d786858de2 |
|
MD5 | de861745a52e0cb75651efa0868070d4 |
|
BLAKE2b-256 | 0d02ef3b014f766a2db0c5f683f3b6cf30a7f6320d191b67752194658c588b9b |
Hashes for hikyuu-2.0.7-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a105c1256afc6dca59631a15c87a2b158e1571b343cbfe802695c4b10428680 |
|
MD5 | 6d2a68f2198a820c6cede7b945f591a7 |
|
BLAKE2b-256 | e5c061d56a658398fdaac3eb98f9b72cefc297692fb74ae861cc1cf24cd1ef90 |
Hashes for hikyuu-2.0.7-cp310-none-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 44f98b7ac934d700dfb420a34e8c2486cb750ef209184ec47d9d16236f9dc8ea |
|
MD5 | 3e5c679e9bd9e6c978289478e75e5386 |
|
BLAKE2b-256 | d9caf08b3914bd39c86cbb95eb6acc39bdbd3e98d0e69a07a4333c3fbb8ce661 |
Hashes for hikyuu-2.0.7-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 73d537fce00e5387310622f01b5207101da5afdc7f094c4231f2850848b09a6e |
|
MD5 | d2519f03256a36c36d3a62a505e1502c |
|
BLAKE2b-256 | 6b4353da44d5084f8b3d7f547c6a818fb88a0e8fa913341bd7cce798f314173e |
Hashes for hikyuu-2.0.7-cp39-none-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c63d62d3a716b3f93a3e9c8b46a0dfab4adab9450b9c341327754bf229ab7e6 |
|
MD5 | ed87df338bf3b08b02ddb31a9e66e5d8 |
|
BLAKE2b-256 | 3cbd14a026feaae5f1e737008338427034edd03a96c882c017fc45545baefb54 |
Hashes for hikyuu-2.0.7-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a4ac8cc3180b33392b3bef175f83ce64807626e20ff75cd695101af245ba107 |
|
MD5 | 11fb250815f3e374246f95819152e274 |
|
BLAKE2b-256 | f56086f7087916b95f51b7f94cdd1f809fbc8ed0effa2d7f07a6bf7444c55c94 |
Hashes for hikyuu-2.0.7-cp38-none-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 76423827d38ad7e0340b7683c78e210bf45e360e220833d29d36ba848688c261 |
|
MD5 | 9b3d44ffa4bb0d641fe1a1bedd42ce21 |
|
BLAKE2b-256 | b11f1c3aa92a2cc4f93192bfde51a6f03e103ae28ae6d6232f07003a58f721b7 |