量化投资策略:常见的几种Python回测框架(库)
量化投资策略:常见的几种Python回测框架(库)
原文地址:http://blog.csdn.net/lawme/article/details/51454237
本文章为转载文章。这段时间在研究量化策略方向,研究了Zipline一段时间,但是后续发现他仅支持美国股票,收集量化策略文章,转载到博客中。
在实盘交易之前,必须对量化交易策略进行回测。在此,我们评价一下常用的Python回测框架(库)。评价的尺度包括用途范围(回测、虚盘交易、实盘交易),易用程度(结构良好、文档完整)和扩展性(速度快、用法简单、与其他框架库的兼容)。
- Zipline: 事件驱动的回测框架。Quantopian 正在使用它。
- PyAlgoTrade: 也是事件驱动的回测框架,支持虚盘和实盘两种交易。文档完整,整合了TA-Lib(技术分析库)。在速度和灵活方面,它比Zipline 强。不过,它的一大硬伤是不支持 Pandas 的模块和对象。
- pybacktest: 它以处理向量数据的方式进行回测,非常简单轻便。2015年5月21日,这个项目有复活的迹象。
- TradingWithPython: 这位Jev Kuznetsov 扩展 pybacktest 形成自己的回测程序。这个库似乎在2015年2月更新了。不过,相关的文档和课程售价 $395。
- 其他项目: ultra-finance
| Zipline | PyAlgoTrade | TradingWithPython | pybacktest | |
| 类型 | 事件驱动 | 事件驱动 | 向量处理 | 向量处理 |
| 社区 | 较大 | 一般 | 无 | 无 |
| 云计算 | Quantopian | 无 | 无 | 无 |
| 支持 IB | 是 | 否 | 否 | 否 |
| 数据源 | Yahoo, Google, NinjaTrader | Yahoo, Google, NinjaTrader, Xignite, Bitstamp 实时提供数据 | ||
| 文档 | 完整 | 完整 | $395 | 很少 |
| 事件可定制 | 是 | 是 | ||
| 速度 | 慢 | 快 | ||
| 支持Pandas | 是 | 否 | 是 | 是 |
| 交易日历 | 是 | 否 | 否 | 否 |
| 支持TA-Lib | 是 | 是 | 是 | |
| 适用于 |
仅用于美国证券交易 |
实盘交易 虚盘交易 |
虚盘测试交易 | 虚盘测试交易 |
Zipline 与 PyAlgoTrade 的对比评分
| Zipline | PyAlgoTrade | 说明 | |
| 虚盘交易 |
♦ |
♦ ♦ ♦ |
Zipline 似乎不能用非美数据和本地数据工作,而 PyAlgoTrade 可以使用任何类型的数据 |
| 实盘交易 |
♦ ♦ |
♦ ♦ |
二者都不错,但 Quantpian 的云计算编程很好 |
| 灵活性 |
♦ ♦ |
♦ ♦ ♦ |
PyAlgoTrade 支持各种高级定单,并有更多的业务事件。 Zipline 提供了简单的滑点模式 |
| 速度 |
♦ |
♦ ♦ ♦ |
Zipline 比 PyAlgoTrade 慢 |
| 易用性 |
♦ ♦ ♦ |
♦ ♦ |
PyAlgoTrade 不支持 pandas |
量化投资策略:常见的几种Python回测框架(库)的更多相关文章
- 手把手教你用Python搭建自己的量化回测框架【均值回归策略】
手把手教你用Python搭建自己的量化回测框架[均值回归策略] 引言 大部分量化策略都可以归类为均值回归与动量策略.事实上,只有当股票价格是均值回归或趋势的,交易策略才能盈利.否则,价格是随机游走的, ...
- OnePy--构建属于自己的量化回测框架
本文主要记录我构建量化回测系统的学习历程. 被遗弃的项目:Chandlercjy/OnePy_Old 新更新中的项目:Chandlercjy/OnePy 目录 1. 那究竟应该学习哪种编程语言比较好呢 ...
- 量化投资学习笔记01——初识Pyalgotrade量化交易回测框架
年初学习量化投资,一开始想自己从头写,还是受了C/C++的影响.结果困在了计算回测数据那里,结果老也不对,就暂时放下了.最近试了一下python的各个量化投资框架,发现一个能用的——pyalgotra ...
- 回测框架pybacktest简介(一)
pybacktest 教程 本教程让你快速了解 pybacktest's 的功能.为此,我们回测精典交易策略移动平均线MA交叉. MA快线上穿慢线时,买进做多 MA快线下穿慢线时,卖出做空 进场规则, ...
- 回测框架pybacktest简介(二)
pybacktest 的疑点 第(一)节“教程”原文,是用 ipython notebook 写成,程序代码是一些片段组成. 为了阅读方便,合并在一起. 本文转载于:http://blog.csdn. ...
- FMZ发明者量化平台回测机制说明
原文连接:https://www.fmz.com/digest-topic/4009 大部分策略在实盘之前都需要回测进行验证,FMZ支持部分品种数字货币现货.期货和永续合约,以及商品期货所有品种.但发 ...
- 一个采用python获取股票数据的开源库,相当全,及一些量化投资策略库
tushare: http://tushare.waditu.com/index.html 为什么是Python? 就跟javascript在web领域无可撼动的地位一样,Python也已经在金融量化 ...
- Python中执行系统命令常见的几种方法--转载
Python中执行系统命令常见的几种方法 Python中执行系统命令常见的几种方法有: (1)os.system # 仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息 # 如果再命令行下执 ...
- python三大web框架Django,Flask,Flask,Python几种主流框架,13个Python web框架比较,2018年Python web五大主流框架
Python几种主流框架 从GitHub中整理出的15个最受欢迎的Python开源框架.这些框架包括事件I/O,OLAP,Web开发,高性能网络通信,测试,爬虫等. Django: Python We ...
随机推荐
- ubuntu16.04 安装指定版本Node,升级npm到指定版本
一.安装配置Node 1.下载(64位系统) wget https://nodejs.org/download/release/v10.1.0/node-v10.1.0-linux-x64.tar.g ...
- samba文件共享服务配置(multiuser机制)二 (共两节)
smb客户端的multiuser挂载技术 --管理员只需要作一次挂载 --客户端在访问挂载点时,若需要不同权限,可临时切换新的共享用户[无需重新挂载] 实现方式 --挂载smb共享时启用multius ...
- redis error MISCONF Redis is configured to save RDB snapshots
在操作命令incr时发生错误: (error) MISCONF Redis is configured to save RDB snapshots, but is currently not able ...
- HashSet、HashMap、Hashtable、TreeMap循环、区别
HashSet 循环 //可以为null HashSet<Object> hashSet =new HashSet<Object>(); hashSet.add(1); has ...
- uva10537 dijkstra + 逆推
21:49:45 2015-03-09 传送 http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8& ...
- MySQL从删库到跑路(一)——MySQL数据库简介
作者:天山老妖S 链接:http://blog.51cto.com/9291927 一.MySQL简介 1.MySQL简介 MySQL是一个轻量级关系型数据库管理系统,由瑞典MySQL AB公司开发, ...
- iOS App迁移(App Transfer)注意点
1.App迁移需要苹果审核吗? 答:不需要 2.App迁移需要多长时间? 答:迁移操作过程很快,A账号发出申请,B账号接收,几分钟时间.App Store 展示B账号相关信息可能几分钟,也可能有延迟几 ...
- php面向对象多继承实现
在PHP面向对象概念编程中,一个子类只能继承一个父类,但是从php5.4后新增traits实现代码复用机制变向达到多继承.Trait 为了减少单继承语言的限制,使开发人员能够自由地在不同层次结构内独立 ...
- 封装JS实现Ajax
这两天仔细理解了一下Ajax,然后整理封装了一下,如果有什么不对的地方,请指教,谢谢! AJAX AJAX = Asynchronous JavaScript and XML(异步的 JavaScri ...
- MVP框架模式
一.基本概念 MVP是Model-View-Presenter的简称,即模型-视图-表现层的缩写.MVP是由MVC模式进化而来的,MVP改进了MVC中的控制器过于臃肿的问题.与MVC一样,MVP将应用 ...