Python量化交易实战-34开源项目pyalgotrade概览

auto-trade xuhss 1229℃ 0评论

初始化数据回测框架:PyAlgoTrade

一、常用的数据回测框架

常用的数据回测框架有哪些?

  • ZipLine:比较适用于美股,A股的话还需要另外去修改,由于它的适用性和复杂性,对应编程能力的要求很高, 所以我们暂时不用它来实验。
  • PyAlgoTrade:使用简单,方便,比较容易理解,适应的品种主要是股票和数字币, 待会我们来看这一个框架开源代码和使用说明,
  • BackTrader:它比较全面,包括回测,策略交易。不只是股票,它还适合期权,大宗商品交易都支持,它的类比较多,对于编程能力要求较高。

综上,我们选择PyAlgoTrade框架来进行实验。

关于数据回测的功能我们之前已经写过了,Stragedy/base.py里面有写过。收益率、夏普率都是回测的内容。只不过我们写的比较简单,缺乏一些细节, 如果你要使用其它的框架,那么用我们的xuhssquant就用不上了,因为其它的框架有自己的体系。

因此,我们后期会优化base.py文件。

接着我们浏览一下源码

二、源码浏览

开源项目地址

https://github.com/gbeced/pyalgotrade

这个是官网的介绍:

http://gbeced.github.io/pyalgotrade/

20210629195758 - Python量化交易实战-34开源项目pyalgotrade概览

可以看到这里有交易优化绘图的模块。

这里还有6个重要的组件:

20210629200006 - Python量化交易实战-34开源项目pyalgotrade概览

数据相关部分

  • Feeds(喂食数据)
  • DataSeries(序列化数据组件)

策略和计算部分

  • Strategies(交易)
  • Technicals(计算一些技术指标的组件)

交易优化部分

  • Brokers(执行订单的组件)
  • Optimizer(优化组件)

这个开源项目有19个发布版本

20210629200644 - Python量化交易实战-34开源项目pyalgotrade概览

切换到insight可以看到项目的贡献的历史信息

20210629200836 - Python量化交易实战-34开源项目pyalgotrade概览

20210629201232 - Python量化交易实战-34开源项目pyalgotrade概览

这个和我们之前自己写的相差不大,只是会更加完整一些,核心的组件都差不多。它相对来说比较好理解。

三、实战

创建backtest文件夹,并创建pyalgotrade.py文件

20210629202028 - Python量化交易实战-34开源项目pyalgotrade概览

这里应该如何回测呢,我们有2种回测的思路:

第一种就是完全利用这个开源项目,先看它的源码,可以看到它的很多策略都是放在technical里面,这里的架构很清晰,值得学习。

假设我要用这个框架进行回测,比如说回测ma,那么我们就要调用ma对应的代码,这是第一种方式,直接利用这个项目进行一些策略的制定,然后进行回测,所有的操作都是在这个开源项目中的。

20210629202620 - Python量化交易实战-34开源项目pyalgotrade概览

另一种回测的方式是,我们可以借助自己写的项目,然后去借鉴这个开源项目的代码,来构建一个完整的 回测。

这里我会先用pyalgotrade带大家了解大致的回测流程,后面我们希望这个开源项目为我们自己的项目来服务的。

我们会借用它的一些代码来匹配到自己的项目中。

安装pyalgotrade

pip install pyalgotrade

使用这个库

#使用pyalgotrade进行数据回测
import pyalgotrade

转载请注明:xuhss » Python量化交易实战-34开源项目pyalgotrade概览

喜欢 (16)

您必须 登录 才能发表评论!