Zipline框架初探(上)

Zipline Data Bundles Data BundlesA data bundle is a collection of pricing data, adjustment data, and an asset database. Bundles allow us to preload all of the data we will need to run backtests and store the data for futu... 阅读详情
为了朝着量化交易的方向努力行进,数学和编码是必须提高的垫脚石,财务分析则属于业余爱好加分项。数学方面借着报名“七月在线 — 机器学习数学班”重温数学基础以图从机器学习的角度入手,而编码则再次翻开数据结构和算法导论用以弥补计算机基础不足的同时,一方面尝试配合小伙伴重写C++版本vn.py用于实盘交易框架储备,另一方面则研究Zipline用于指标及策略回测框架学习研究。Zipline是一个自动化交易回测框架,同时国外Quantopian,国内优矿、米筐和聚宽等web平台都基于它提供服务,它的成熟性自不必说。但它由Quantopian开发维护并不断迭代,默认只支持欧美市场,如果要将其应用于国内市场,即使国内已有成熟的web服务,但相关资料却甚为匮乏,看看StackOverflow上的问答就能窥见一二。因此,对个人用户而言,对它的研究仍有很多的坑要踩,今天我就想分享一下最近填好的坑。

开发环境:64位Win7 + PyCharm

1、首先下载并安装64位Anaconda,CMD运行”conda install -c Quantopian zipline”,将Zipline作为第三方库安装至Anaconda,再将PyCharm的解释器设置为Anaconda下的python.exe,至此准备工作一切就绪。

2、Zipline的本地化回测应用主要涉及2大块内容:TradingEnvironment和TradingAlgorithm。TradingEnvironment主要用于本地化交易环境设置,而TradingAlgorithm则是Zipline回测框架的主对象,可以理解为回测入口。本文将介绍TradingEnvironment的详细设置,同时初探TradingAlgorithm实现,它的具体实现则放在以后的博文中介绍。

3、TradingEnvironment本地化最重要的就是设置tradingcalendar、benchmarke_return和treasury_return。tradingcalendar用于设置tradingdays,其默认已排除周六周日,因此用户只需要重写一个py文件将每年对应的holiday从tradingdays除去即可。而benchmarke_return和treasury_return则作为策略回报的比较基准,将国内沪深300和对应各期限国债收益率通过重载load函数导入,将load函数对象传入至TradingEnvironment即可,注意benchmarke_return为Pandas的Series对象,treasury_return为DataFrame对象,各期限必须包含1month ~ 10year间所有。

4、TradingAlgorithm的本地化则需要重点设置simulation_parameters、initialize函数对象,handle_data函数对象。simulation_parameters包括策略回测的起始日期和回测频率,回测起始日期必须通过Pandas的tz_localize本地化,而回测频率包含daily和minute两种方式。而initialize函数与handle_data函数则用于策略初始化和模拟Bar周期反复回调所用,具体作用可参考国内优矿、米筐和聚宽任意一款服务。

5、数据的准备:理论上Zipline只支持其内置的DataPortal类型,它是其回测模拟所有数据的接口。考虑到通用性,Zipline目前也支持pandas的DataFrame和Panel,只不过它对DataFrame的支持就是将其很粗暴的转换为Panel来实现的。因此,就目前来说,Zipline只支持内置DataPortal和Pandas的Panel两种类型。所以,用户可以将任何本地可获取的数据首先转换为DataFrame,其index按日递增,columns为小写的open、high、low、close和volume等。然后以DataFrame为value,数据ticker为key来构建相对应的Panel作为回测本地化的标准数据输入。

至此,用户就已经可以利用Zipline跑通一个完整的本地化回测Demo,这也解决了StackOverflow上关于Zipline提出70%以上问题,希望对大家有用。


如何用anaconda安装zipline,并在notebook中使用 如何用anaconda安装zipline,并在notebook中使用 最近在看这本书《Python金融大数据分析》O’REILLY的,内容比较老旧,很多里面的代码都不能用了,要重新自己找。 Anyway,网上搜寻下来,做量化交易会比较经常用到zipline,书上也有使用,所以去安装了。花了很长时间才安装下来。(一直报错)。 我的环境Environment Operating System:... 阅读详情

相关推荐

Python量化交易数据回测框架及概念解析

本文介绍了Python量化交易中的数据回测概念以及现有框架,并且附上了相应的Python源代码。同时,我们需要注意回测过程中的数据准备、策略编写、框架实现等方面,保证回测结果的可靠性和准确性。而回测则是量化交易中的一个核心概念,通过历史数据来验证自己的交易策略是否可行。本文将介绍Python量化交易中的数据回测概念以及现有框架,并附上相应的Python源代码。vnpy提供了策略回测、实盘交易、风险控制等一系列交易所需的功能。回测框架实现:实现回测所需的核心代码,包括交易逻辑的实现、持仓管理、交易成本等。

BUG?不存在的! 2070

zipline-1.4.1-cp38-cp38-win_amd64.whl.zip

适用平台:windows x64 安装方式:切换到whl路径,执行pip install whl文件名

Python Zipline【量化回测框架】全面讲解

定位与特点事件驱动架构:按时间流处理市场数据(开盘、收盘等事件),触发策略逻辑。PyData集成:输入输出基于Pandas数据结构,无缝衔接NumPy、scikit-learn等库。内置常用指标:移动平均线、线性回归等可直接调用。核心组件组件功能说明策略主类,包含initialize(初始化)和(逐Bar逻辑)DataPortal统一数据接口,支持历史数据查询()和实时数据(设置交易环境(基准收益率、国债利率、交易日历)策略执行引擎,驱动事件循环。

记录点滴 1292

zipline框架--简介

Zipline is a Pythonic algorithmic trading library. It is an event-driven system for backtesting. Zipline is currently used in production as the backtesting and live-trading engine powering Quantopian ...

weixin_30463341的博客 944

算法交易库的 zipline 安装

zipline 是一个 Python 算法交易库。它是一个用于回测的事件驱动系统。

Py4Fi的博客 893

Zipline的安装教程

zipline安装教程

王静雯的博客 1万+

量化+AI | 量化投资回测框架选择

基于百度百科的介绍,单次的股票回测代表的是在指定股票组合条件下,对历史行情模拟得到的收益风险相关数据的量化分析。而我们量化策略的终点肯定是真实行情的收益,但在策略上线之前,需要对策略的有效性进行评估,直接实盘去测试策略风险和收益的时间和金钱成本都太高了,所以一般会采用回测和模拟交易两种模拟的方式来对策略进行测试,在低成本的条件下完成对策略效果的验证。

心无挂碍 1466

[交易平台及行情软件] Zipline框架初探(上)

本帖最后由 zjm123000888 于 2016-7-5 11:13 编辑 为了朝着量化交易的方向努力行进,数学和编码是必须提高的垫脚石,财务分析则属于业余爱好加分项。数学方面借着报名“七月在线 — 机器学习数学班”重温数学基础以图从机器学习的角度入手,而编码则再次翻开数据结构和算法导论用以弥补计算机基础不足的同时,一方面尝试配合小伙伴重写C++版本vn.py用于实盘交易框架储备,另一

IAlexanderI的专栏 2692

Zipline回测框架学习

Official Tutorial Every zipline algorithm consists of two functions you have to define:initialize(context) handle_data(context, data) context is a persistent namespace for you to store variables you ne

kangzuoning的博客 2972

Zipline量化交易框架入门教程

Zipline量化交易框架入门教程 什么是Zipline Zipline是一个用Python编写的开源算法交易模拟器,由Quantopian团队开发和维护。它为量化交易策略的回测和执行提供了一个功能完善的框架。 核心特性 真实市场模拟:包含滑点、交易成本和订单延迟等真实市场因素 事件驱动架构:逐个处理每个市场事件,避免未来数据偏差 内置常用工具:包含常见技术指标(如移动平均线)和风险计算(如夏普...

gitblog_01072的博客 900

深入了解zipline

为什么80%的码农都做不了架构师?>>> ...

weixin_33694620的博客 5162

安装zipline

一、下载anaconda wget https://repo.continuum.io/archive/Anaconda2-4.3.1-Linux-x86_64.sh 通过 bash 命令执行安装 二、查看conda命令 conda -h vim ~/.bashrc 三、安装zipline conda install -c Quantopian zipline 四、查看ziplin

飞飞好奇的专栏 3960

将非美国数据导入Zipline

如何将非美国数据导入到zipline中进行回测

王静雯的博客 3899

一次性掌握Backtrader和Zipline框架,亿万梦想在前方

本文系统介绍了Python两大量化回测框架Backtrader和Zipline的核心原理与实战应用。Backtrader以模块化架构和高度灵活性著称,支持自定义指标、手续费模型;Zipline则继承了Quantopian的事件驱动引擎,适合高频策略与多因子选股。文章详细对比了两者的安装配置、数据准备、策略开发、参数优化等关键环节,并提供了均线策略的完整实现案例。此外,还介绍了分布式回测和实盘对接的进阶技巧,为量化开发者提供了从理论到实践的完整指南。掌握这两大工具,将帮助交易者在历史回测中验证策略,最终实现实

weixin_44904675的博客 1439

从零开始掌握Zipline:Python量化交易框架入门指南

想要开始量化交易但不知道从何入手?Zipline正是你需要的工具!🎯 作为Python生态中最受欢迎的**量化交易回测框架**,Zipline让算法交易变得简单而高效。无论你是金融分析师、数据科学家还是编程爱好者,都能通过Zipline快速验证交易策略的有效性。 **核心关键词:** 量化交易框架、Python算法交易 **长尾关键词:** Zipline回测教程、移动平均线策略实现、交易数

gitblog_00917的博客 384

Zipline回测工具

Zipline 是一个事件驱动的回测系统,旨在简化量化交易策略的开发和测试过程。它支持股票、期货等多种资产类别,并与Pandas、NumPy等数据分析库无缝集成,使用户能够轻松处理和分析金融数据。Zipline默认支持来自Quantopian的数据源,但用户也可以导入自定义数据,如CSV文件或数据库中的数据。# 示例代码路径: data/custom_data.pyZipline作为一个强大的回测框架,为量化交易策略的开发和测试提供了丰富的工具和灵活的接口。

远方雪的专栏 2576
上一篇: 针对Quant的Python快速入门指南
下一篇: 如何生成3分钟,5分钟,n分钟K线数据
Trader_Python
博客等级 码龄11年 392粉丝 0原创
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值