github地址:https://github.com/bbfamily/abu
abu能够帮助用户自动完善策略,主动分析策略产生的交易行为,智能拦截策略生成的容易失败的交易单。
现阶段的量化策略还是人工编写的代码,abu量化交易系统的设计将会向着由计算机自动实现整套流程的方向迈进,包括编写量化策略本身。
abupy的设计目标是:用户只需要提供一些简单的种子策略,计算机在这些种子基础上不断自我学习、自我成长,创造出新的策略,并且随着时间序列数据不断智能调整策略的参数。
索引
内容
|
位置
|
阿布量化系统源代码
|
abupy目录
|
阿布量化使用教程
|
abupy_lecture目录
|
阿布量化非编程界面操作
|
abupy_ui目录
|
《量化交易之路》示例代码
|
ipython/python目录
|
《机器学习之路》示例代码
|
https://github.com/maxmon/abu_ml
|
特点
支持的投资市场:
工程设计目标:
-
分离基础策略和策略优化监督模块
-
提高灵活度和适配性
安装
部署
推荐使用Anaconda部署Python环境,详见 量化环境部署
测试
import abupy
界面操作(非编程)
更多界面操作示例
使用文档
1:择时策略的开发
第一节界面操作教程视频播放地址
择时策略决定什么时候买入投资品,回测告诉我们这种策略在历史数据中的模拟收益如何。
-
买入择时因子的编写
-
分解模式一步一步对策略进行回测
-
卖出择时因子的实现
在对的时间,遇见对的人(股票),是一种幸福
在对的时间,遇见错的人(股票),是一种悲伤
在错的时间,遇见对的人(股票),是一声叹息
在错的时间,遇见错的人(股票),是一种无奈
2: 择时策略的优化
通过止盈止损保护策略产生的利润,控制风险。
-
基本止盈止损策略
-
风险控制止损策略
-
利润保护止盈策略
3: 滑点策略与交易手续费
考虑应用交易策略时产生的成交价格偏差及手续费。
-
滑点买入卖出价格确定及策略实现
-
交易手续费的计算以及自定义手续费
type
|
date
|
symbol
|
commission
|
buy
|
20150423
|
usTSLA
|
8.22
|
buy
|
20150428
|
usTSLA
|
7.53
|
sell
|
20150622
|
usTSLA
|
8.22
|
buy
|
20150624
|
usTSLA
|
7.53
|
sell
|
20150706
|
usTSLA
|
7.53
|
sell
|
20150708
|
usTSLA
|
7.53
|
buy
|
20151230
|
usTSLA
|
7.22
|
sell
|
20160105
|
usTSLA
|
7.22
|
buy
|
20160315
|
usTSLA
|
5.57
|
sell
|
20160429
|
usTSLA
|
5.57
|
4: 多支股票择时回测与仓位管理
针对多支股票实现择时策略,通过仓位管理策略控制风险。
-
多支股票使用相同的因子进行择时
-
自定义仓位管理策略的实现
-
多支股票使用不同的因子进行择时
-
使用并行来提升择时运行效率
5: 选股策略的开发
一个好的策略需要一个好的标的。
-
选股因子的编写
-
多个选股因子并行执行
-
使用并行来提升选股运行效
6: 回测结果的度量
正确的度量引领着正确的前进方向。
-
度量的基本使用方法
-
度量的可视化
-
扩展自定义度量类
7: 寻找策略最优参数和评分
通过定制的评分机制,寻找一个策略最合理的参数,比如:应该考虑多少天的均线?
-
参数取值范围
-
Grid Search寻找最优参数
-
度量结果的评分
-
不同权重的评分
-
自定义评分类的实现
8: A股市场的回测
-
A股市场的回测示例
-
涨跌停的特殊处理
-
对多组交易结果进行分析
9: 港股市场的回测
-
港股市场的回测示例
-
优化策略,提高系统的稳定性
-
将优化策略的'策略'做为类装饰器进行封装
10: 比特币, 莱特币的回测
-
比特币, 莱特币的走势数据分析
-
比特币, 莱特币的走势可视化分析
-
比特币,莱特币市场的回测
-
比特币loss10: [-26.895, -3.284] , top10:(4.182, 38.786]
-
比特币最近一年风险下降:loss10: [-16.273, -2.783], top10:(3.948, 15.22]
-
莱特币loss10: [-28.48, -4.1], top10:(4.405, 41.083]
-
莱特币最近一年继续呈现高风险loss10:[-22.823, -3.229] 高收益top10:(5.0606, 37.505]
btcchange
|
btc365change
|
ltcchange
|
ltc365change
|
[-26.895, -3.284]
|
[-16.273, -2.783]
|
[-28.48, -4.1]
|
[-22.823, -3.229]
|
(-3.284, -1.547]
|
(-2.783, -1.056]
|
(-4.1, -2.022]
|
(-3.229, -1.375]
|
(-1.547, -0.8]
|
(-1.056, -0.424]
|
(-2.022, -0.922]
|
(-1.375, -0.655]
|
(-0.8, -0.224]
|
(-0.424, -0.071]
|
(-0.922, -0.389]
|
(-0.655, -0.226]
|
(-0.224, 0.143]
|
(-0.071, 0.272]
|
(-0.389, 0]
|
(-0.226, 0.078]
|
(0.143, 0.568]
|
(0.272, 0.698]
|
(0, 0.413]
|
(0.078, 0.453]
|
(0.568, 1.108]
|
(0.698, 1.316]
|
(0.413, 0.977]
|
(0.453, 0.913]
|
(1.108, 2.171]
|
(1.316, 2.334]
|
(0.977, 1.889]
|
(0.913, 1.957]
|
(2.171, 4.182]
|
(2.334, 3.948]
|
(1.889, 4.405]
|
(1.957, 5.0606]
|
(4.182, 38.786]
|
(3.948, 15.22]
|
(4.405, 41.083]
|
(5.0606, 37.505]
|