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.1.0-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ed9f7f6e33e46887fd013a6db914bc248fd836cb9552c34c343e7fc7c911b93 |
|
MD5 | 2b87b6729c376e851d483681293e1043 |
|
BLAKE2b-256 | e8ea587c2772bc09b822ba5943e512ec40d60f4f33287ba6884c9fa0c13b6edf |
Hashes for hikyuu-2.1.0-cp312-none-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 95045a80696a5bf018cafa4a0f7fedab6cd9f68cbb12db101bb7b8817a0f4af0 |
|
MD5 | 52b4321da1a369bc20de9dc04209788f |
|
BLAKE2b-256 | 870b951d0d7dda9db5f1a877a65237daf9ac5f3b31147c9ba29d6040790a49f5 |
Hashes for hikyuu-2.1.0-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a41d91d1b1fea847d112bda7a4c32c4291053a91ddc1d1c58c2cf7c892206f6 |
|
MD5 | ca650f793fa87ec5c5dcd27b134a097b |
|
BLAKE2b-256 | caf14914d48b07651d5bf5ebcec54591a7e4785f051ab2e6923ced3a19313997 |
Hashes for hikyuu-2.1.0-cp311-none-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8252096ff67649e4686cc59d214fbab9b63e5f40e67247fc8d7b29e9a7464578 |
|
MD5 | 8985037edd74c3575ba355387b7d9f1e |
|
BLAKE2b-256 | a7e198f696f8f4b3f7c0b3efb3baa4f21c1569136cbe59bf4102261818a75369 |
Hashes for hikyuu-2.1.0-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74a98e84cc4f0a41e27bde253e306d139ba7e706bbd2de9f74c6fa2051f3025a |
|
MD5 | 0a3c88bbba2bae091048a72199b0cf84 |
|
BLAKE2b-256 | 7e376ef49f179b733d40c4b566d4e423589586bcc9d120236fdddbf2d531c4e6 |
Hashes for hikyuu-2.1.0-cp310-none-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f35fb635644a5e386cdae449e21c9bb8b987f9e3099fce4258079ef836bcd6c3 |
|
MD5 | f466607be9a2f1a3ee0d974ad9ab4e80 |
|
BLAKE2b-256 | c895fdfddf4bbd54a8d575c86582015c1b3dd46f41dc286de8537db4e60fccf2 |
Hashes for hikyuu-2.1.0-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a7eeb518b782c7ff69321968e4965dc61417c896fa3118e64e69452d7e6450c |
|
MD5 | a265dcf25dcd39763c74db96b548df48 |
|
BLAKE2b-256 | 967750ffedc622bc4f9242160c64ca58fc14f15eca07aeab8acb0e59ad3fdfc5 |
Hashes for hikyuu-2.1.0-cp39-none-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1b52e4e4740a785e3bb161829109eca1e0a4a3bfeb6cd43cc29be9dcc3c94ff |
|
MD5 | 8bdd2357df7614ce54f5d96b2cc07418 |
|
BLAKE2b-256 | 81aa6001f0fdec1ea9fdf38a86ef45d00ea823cb735f0d25d60e9fa94a0f4134 |
Hashes for hikyuu-2.1.0-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac3ebe147f7fb8f568fad25cf06e3f5af13d5af74858482cedb5bf8e251061ab |
|
MD5 | c4361691ba1fdaf5b5c7132b67368a52 |
|
BLAKE2b-256 | c837eaf55aba6859b1f5648147c170245b545e64269729d85d29f98c72ae0dd0 |
Hashes for hikyuu-2.1.0-cp38-none-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 750b907b4fbd2b7c5621257d2bebb45d710944f1b67624bc1368e8ed50446bff |
|
MD5 | 34f06066653c68cb43fcf33dfb9d472f |
|
BLAKE2b-256 | 3c2cf46e685f5ae1838af3985b2fa2adeba03f71cae317e49ca67fa1d03d7363 |