量化框架zipline--分钟回测改写】的更多相关文章

转自:http://www.cnblogs.com/dxf813/p/7845398.html 基于zipline的分钟回测改写,其中数据源为自定义,使用bcolz的ctable,该数据格式与pandas的DataFrame很好兼容,并且bcolz文件压缩率很好.以下主要记录此次改写回测整个过程中涉及类和方法,没有附带代码. 一,自定义分钟回测数据源BcolzBacktestMinData类 def zk_get_min_data 取获得多只股票某个时间点前的N个指定字段的值 def zk_ge…
量化投资策略:常见的几种Python回测框架(库) 原文地址:http://blog.csdn.net/lawme/article/details/51454237 本文章为转载文章.这段时间在研究量化策略方向,研究了Zipline一段时间,但是后续发现他仅支持美国股票,收集量化策略文章,转载到博客中. 在实盘交易之前,必须对量化交易策略进行回测.在此,我们评价一下常用的Python回测框架(库).评价的尺度包括用途范围(回测.虚盘交易.实盘交易),易用程度(结构良好.文档完整)和扩展性(速度快…
本文主要记录我构建量化回测系统的学习历程. 被遗弃的项目:Chandlercjy/OnePy_Old 新更新中的项目:Chandlercjy/OnePy 目录 1. 那究竟应该学习哪种编程语言比较好呢? 2. 是否也有些python在线教学视频可以加速学习? 3. 那有没有什么现成的回测系统可以直接拿来用,避免重复造轮子? 4. 既然学习别人的框架那么困难,不如自己写一个框架出来? 5. 写出这个回测框架之后,我开始思考,如何接入实盘交易? 6. 再写一个完善的 OnePy 回测框架. 正文:…
手把手教你用Python搭建自己的量化回测框架[均值回归策略] 引言 大部分量化策略都可以归类为均值回归与动量策略.事实上,只有当股票价格是均值回归或趋势的,交易策略才能盈利.否则,价格是随机游走的,交易将无利可图.均值回归是金融学的一个重要概念,指股票价格无论高于或低于价值中枢都会以很高的概率向价值中枢回归的趋势.中国古语"盛极而衰,否极泰来",就暗含着均值回归的思想.如果说要为均值回归寻找一个比较合理的理论解释,不妨借鉴一下索罗斯的"反身性理论".索罗斯认为.市…
年初学习量化投资,一开始想自己从头写,还是受了C/C++的影响.结果困在了计算回测数据那里,结果老也不对,就暂时放下了.最近试了一下python的各个量化投资框架,发现一个能用的——pyalgotrade,重新开始吧.这是一个事件驱动型量化交易框架. 使用pyalgotrade的一大问题是数据获取,其支持从yahoo,谷歌等途径获得数据,但要获取A股数据比较麻烦.还是用tushare获取数据比较方便.但pyalgotrade并不直接支持tushare数据格式.网上有人介绍了将tushare数据转…
原文连接:https://www.fmz.com/digest-topic/4009 大部分策略在实盘之前都需要回测进行验证,FMZ支持部分品种数字货币现货.期货和永续合约,以及商品期货所有品种.但发明者量化平台的回测机制和常见的onbar回测有所区别,造成了很多新手的困惑.本文将详细说明并解答一些常见的回测问题.   回测系统是如何运作的? 如上图所示,回测开始时间到结束时间可以当作一个时间轴,回测时,回测时间点沿轴从左到右移动开始回测,在这个时间点上,只能获取到此点之前的历史数据,策略根据这…
作者: 阿布 阿布量化版权所有 未经允许 禁止转载 abu量化系统github地址(欢迎+star) 本节ipython notebook 之前的小节回测示例都是使用美股,本节示例A股市场的回测. 买入因子,卖出因子等依然使用相同的设置,如下所示: # 设置初始资金数 read_cash = 1000000 # 买入因子依然延用向上突破因子 buy_factors = [{'xd': 60, 'class': AbuFactorBuyBreak}, {'xd': 42, 'class': Abu…
一.RQalpha github 地址  https://github.com/ricequant/rqalpha 1.运行test.py文件,显示 No module named 'logbook.base'. 解决先卸载再安装: pip uninstall logbook   pip install logbook 2.出现:RuntimeError: 请设置账户及初始资金. 解决: 二.Zipline github地址  https://github.com/quantopian/zipl…
pybacktest 教程 本教程让你快速了解 pybacktest's 的功能.为此,我们回测精典交易策略移动平均线MA交叉. MA快线上穿慢线时,买进做多 MA快线下穿慢线时,卖出做空 进场规则,也是退场规则,交易策略相反相成 软件包在此下载 https://github.com/ematvey/pybacktest import pybacktest import pandas as pd pybacktest 要求的 k 线数据格式为 pandas.DataFrame ,以时间戳为索引,…
pybacktest 的疑点 第(一)节“教程”原文,是用 ipython notebook 写成,程序代码是一些片段组成. 为了阅读方便,合并在一起. 本文转载于:http://blog.csdn.net/lawme/article/details/51773744 import pybacktest import pandas as pd ohlc = pybacktest.load_from_yahoo('SPY') ohlc.tail() short_ma = 50 long_ma = …
更多精彩内容,欢迎关注公众号:数量技术宅.想要获取本期分享的完整策略代码,请加技术宅微信:sljsz01 TradingView平台简介 前段时间,有粉丝找到技术宅,表示他有一个常用的交易平台,叫做TradingView,希望技术宅能将分享的策略,用这个平台的语言改写.确实,有部分交易者,他们长时间在某个平台交易,适应了这个平台的操作,而有相当一部分平台,会提供量化交易的接口,或者内置一些简易的可编程语言,帮助大家实现指标计算.甚至是自动交易. 打开TradingView的主页,可以看到Trad…
量化系统投入实际使用之前,人们会希望提前测试交易的效果.这个期间往往涉及代码的改动和参数的调整.最常见的做法是将历史数据输入量化系统,让量化系统根据既定的交易逻辑进行操作,观察和分析交易结果,找到问题所在,调整量化系统,然后以此循环,直到效果达到预期为止. 该过程在业界被称为回测.回测是量化工作者常见的工作内容之一. Note 很遗憾的是,回测跟实盘交易永远存在差距,再好的系统也无法回避.现在市面上有几个开源的回测引擎框架,虽然减少了回测的开发工作量,但或多或少都存在回测的误差.在此,我们优先介…
用Python编写的第一个回测程序 2016-08-06 def savfig(figureObj, fn_prefix1='backtest8', fn_prefix2='_1_'): import datetime fmt= '%Y_%m_%d_%H_%M_%S' now = datetime.datetime.now() fname_savfig = fn_prefix1 + fn_prefix2 + now.strftime(fmt)+ '.png' figureObj.savefig(…
程序参数 PARAMS = { "start_time": "2017-02-01 00:00:00", "end_time": "2017-08-01 00:00:00", "slippage": 0.003, # 此处"slippage"包含佣金(千二)+交易滑点(千一) "account_initial": {"huobi_cny_cash"…
又是好久没更新了,2月这一个月,工作上也忙,正好也是过年.加上前一段时间,一直在爬取某眼查的数据. 对VNPY的使用时间就减少了,不过最近还是完成了vnpy回测结构的思维导图.如下: 值得注意的是,vnpy本身提供两种回测统计功能:1.按日统计结果 2.按笔统计结果 这两种统计都是单利统计,与实盘操作上略有不同. 大家有需要的话,可以自己行改成复利统计,只需要在每笔的净利润上乘以手数,然后加总当前资金,得出新的当前资金,然后使用新的当前资金和仓位计算下笔开开仓手数即可. 最后还是老规矩,附上xm…
首先是先给大家打个招呼 最近看网上看到了很多的的关于搭建博客的视频,我自己也学着自己搭建了一个博客"我自己的博客链接"(欢迎大家来我的博客跟我深入交♂流),今天我把搭建的过程记录下来写成博客,留下一个纪念,也可以顺便帮助那些想要搭建个人博客的小伙伴们,帮助他们搭建属于自己的博客主页啦,那么废话不多说,现在就开始吧. 环境搭建与安装 第一步:安装node.js nodejs下载地址 进入链接地址后点击下载长期支持版. 进入后按照你们自己的系统选择安装包,我这里使用的是win10系统,不过…
==========================================================================安装anaconda 3 64位版本cd /optmkdir softwarecd software若wget 不存在,yum install wgetwget https://repo.anaconda.com/archive/Anaconda3-2018.12-Linux-x86_64.shchmod 777 Anaconda3-2018.12-…
这里通过自己手动的方式“做”一个jQuery来使用,需要5步 1. 访问 https://jquery.com 2. 点击download 3. 拉到最下方,点击 JQuery CDN 4. 得到所有版本jQuery,其中uncompressed(未压缩),minified(压缩) 5. 选择需要的版本,在uncompressed或minified上右键“在新标签页中打开链接”>全选>复制>新建文件>粘贴>保存>重命名文件为jQuery.js或jQuery.min.js…
# -*- coding: utf-8 -*- import os import pandas as pd # ========== 遍历数据文件夹中所有股票文件的文件名,得到股票代码列表stock_code_list stock_code_list = [] for root, dirs, files in os.walk('all_stock_data'):# 注意:这里请填写数据文件在您电脑中的路径 if files: for f in files: if '.csv' in f: sto…
使用的国产第三方jar   pagehelper 里面的基本属性值 //当前页 private int pageNum; //每页的数量 private int pageSize; //当前页的数量 private int size; //由于startRow和endRow不常用,这里说个具体的用法 //可以在页面中"显示startRow到endRow 共size条数据" //当前页面第一个元素在数据库中的行号 private int startRow; //当前页面最后一个元素在数据…
摘要 策略编写的基本框架及其实现 回测的含义及其实现 初步学习解决代码错误 周期循环的开始时间 自测与自学 通过前文对量化交易有了一个基本认识之后,我们开始学习做量化交易.毕竟就像学游泳,有些东西讲是讲不懂,做过就会懂. 由于本教程是基于聚宽量化交易平台(www.joinquant.com),所以为了后续的学习,最好去注册一个聚宽量化交易平台的账号. 一.策略编写的基本框架及其实现 1.从一个非常简单的交易策略开始 先看一个非常简单的交易策略: 每天买100股的平安银行. 为了让这个策略能让计算…
第三部分 实现简单的量化框架 框架内容: 开始时间.结束时间.现金.持仓数据 获取历史数据 交易函数 计算并绘制收益曲线 回测主体框架 计算各项指标 用户待写代码:初始化.每日处理函数 第四部分 在线平台与量化投资 本节内容: 第一个简单的策略(了解平台) 双均线策略 因子选股策略 多因子选股策略 小市值策略 海龟交易法则 均值回归策略 动量策略 反转策略 羊驼交易法则 PEG策略 鳄鱼交易法则 JoinQuant平台 主要框架 initialize handle_data …… 获取历史数据…
一.set_benchmark - 设置基准 1.实现代码 # 导入函数库 import jqdata #初始化函数,设定基准等等 def initialize(context): set_benchmark('000300.XSHG') 2.输出(红色的折现就是基准收益) 3.api相关说明文档 二.get_industry_stocks - 获取行业成份股 1.实现代码 # 导入函数库 import jqdata #初始化函数,设定基准等等 def initialize(context):…
简单的价格突破策略.当前价格超过最近5个收盘价的均价,则全仓买入:低于均价,则全仓卖出 代码 # 简单的价格突破策略.当前价格超过最近5个收盘价的均价,则全仓买入:低于均价,则全仓卖出 # PARAMS用于设定程序参数,回测的起始时间.结束时间.滑点误差.初始资金和持仓. PARAMS = { "start_time": "2017-02-01 00:00:00", # 回测起始时间 "end_time": "2017-08-01 00…
 注:点击框架名称通往Github talib talib的简称是Technical Analysis Library,主要功能是计算行情数据的技术分析指标 numpy 介绍:一个用python实现的科学计算包.包括:1.一个强大的N维数组对象Array:2.比较成熟的(广播)函数库:3.用于整合C/C++和Fortran代码的工具包:4.实用的线性代数.傅里叶变换和随机数生成函数.numpy和稀疏矩阵运算包scipy配合使用更加方便. scipy 介绍:SciPy是一款方便.易于使用.专为科学…
简介: QUANTAXIS量化金融策略框架,是一个面向中小型策略团队的量化分析解决方案,是一个从数据爬取.清洗存储.分析回测.可视化.交易复盘的本地一站式解决方案. QUANTAXIS量化金融策略框架,是一个面向中小型策略团队的量化分析解决方案,是一个从数据爬取.清洗存储.分析回测.可视化.交易复盘的本地一站式解决方案. 我们通过高度解耦的模块化以及标准化协议,可以快速的实现面向场景的定制化解决方案.QUANTAXIS是一个渐进式的开放式框架,你可以根据自己的需要,引入自己的数据,分析方案,可视…
更多精彩内容,欢迎关注公众号:数量技术宅,也可添加技术宅个人微信号:sljsz01,与我交流. 微软QLib简介 微软亚洲研究院发布了 AI 量化投资开源平台"微矿 Qlib".Qlib 涵盖了量化投资的全过程,为用户的 AI 算法提供了高性能的底层基础架构,从框架设计上让用户可以更容易地应用 AI 算法来辅助解决量化投资的各个关键问题,比如 Alpha 因子构建.风险预测.市场动态性建模等等. Qlib 覆盖了量化投资的全过程,从底层构造开始就专为 AI 而生,从数据处理到计算力支撑…
pytrader是基于 easytrader 和 easyquotation 的量化交易框架,支持东方财富自动交易,支持进行策略回测. 开源地址:https://github.com/jadepeng/pytrader 策略文件 在strategies目录,可以参考已有的编写. 策略需要继承StrategyTemplate类,实现int和onbar等函数. init 设置关注的股票,行情引擎就会推动股票行情. def init(self): for stock_code in self.watc…
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 -- a free, community-centered, hosted platform for…
一.Python概要 1.1.语言简介 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言,具有20多年的发展历史,成熟且稳定. 用任何编程语言来开发程序,都是为了让计算机干活,比如下载一个MP3,编写一个文档等等,而计算机干活的CPU只认识机器指令,所以,尽管不同的编程语言差异极大,最后都得“翻译”成CPU可以执行的机器指令.而不同的编程语言,干同一个活,编写的代码量,差距也很大. 比如,完成同一个任务,C语言要写1000行代码,Java只需要写100行,而Python可能只要…