backtrader股票量化回测超省力必须入门系列(4):线相关概念续

内容摘自我们写的backtrader技术教程看了我的必须入门连载系列,如果你还不能入门,算我白写哈本次介绍backtrader技术教程的1.5.5节到1.5.8节,介绍线line相关的操作。
分类: 其他 发布时间: 01-25 22:43 阅读次数: 0

如果优雅地输出backtrader策略优化结果

我们写的backtrader技术教程backtrader回测结果存放在各种analyzer中,结果是词典的形式,如果你想把他以表格的形式输出,并存到csv文件,可以参考下面的例子。这个例子来自Optimizing Strategy Backtesting in Python with Backtrader,利用backtrader做策略参数优化。策略就是一个简单的双均线策略,要优化的是两根均线的时间窗口大小。如下代码从yahoo在线api取得股票行情数据,可直接运行。analyzeroutpu
分类: 其他 发布时间: 01-25 22:42 阅读次数: 0

backtrader股票量化回测超省力必须入门系列(5):线相关概念续

看了我的必须入门连载系列,如果你还不能入门,算我白写哈!本次介绍backtrader技术教程的1.5.9节到1.5.10节,继续理解线line的相关的操作。
分类: 其他 发布时间: 01-25 22:42 阅读次数: 0

backtrader股票量化回测超省力必须入门系列(6):线相关概念再续

看了我的必须入门连载系列,如果你还不能入门,算我白写哈!全文见这里本次介绍backtrader技术教程的1.5.11节到1.5.13节,继续理解线line的相关的操作。
分类: 其他 发布时间: 01-25 22:42 阅读次数: 0

backtrader实现真正的多股组合操作策略,看这一篇就够了,用定时器进入策略逻辑

以下策略来自我们编写的教程和视频课程。多股组合操作,是一种高级的操作模式。多股组合操作通常有两种模式,一种是定期调仓,即定期再平衡,比如每周1调仓,或每月1号调仓等。另一种是非定期调仓,比如每日判断,进行调仓,或者每隔n天进行调仓。定期调仓(再平衡)通常通过定时器timer来进入调仓逻辑,而非定期调仓通常通过传统的策略next方法进入调仓逻辑。当然,这并非绝对。这两种多股调仓操作,都不能用backtrader内置的自动确定最小期的方法来做(比如为了求20日均线,自动跳过前20个bar),因为有些
分类: 其他 发布时间: 01-25 22:41 阅读次数: 0

backtrader股票量化回测超省力必须入门系列(7):佣金、滑点,输出调试用执行信息

看了我的必须入门连载系列,如果你还不能入门,算我白写哈!全文见这里本次介绍backtrader技术教程的1.6节,介绍佣金、滑点的设置,以及怎样输出调试用执行信息,这个非常重要。我发现很多同学不会调试,当你不理解一些运行结果时,要多用print或log来输出信息,帮助自己理解和调试策略运行逻辑。...
分类: 其他 发布时间: 01-25 22:41 阅读次数: 0

学习打卡 1.25

intbinary_search(intarr[],intk,intsz){//算法的实现intleft=0;intright=sz-1;while(left<=right){intmid=(left+right)/2;if(arr[mid]<k){left=mid+1;}elseif(arr[mid]>k){right=mid-1;}else{returnmid;}}retur
分类: 其他 发布时间: 01-25 22:41 阅读次数: 0

backtrader与机器学习的结合,就这么简单!

机器学习太热门,如今搞量化投资而不提机器学习,人工智能,就显得太low了,至于效果麽,嘿嘿嘿。那么是不是在量化回测中,引入机器学习会很复杂呢?其实有复杂,也有简单的。今天就给大家介绍一种用backtrader结合机器学习的思路。比如说,我想测试能否利用某个机器学习算法对股价的预测进行交易,以获取利润。套路可能是这样的,我们用一个假想的案例来说明。(1)我利用机器学习算法“支持向量机SVM”训练了一个模型,它能够利用股票过去n天的日收益率,预测明日股票处于涨(状态1)、平(状态0)、跌(状态-
分类: 其他 发布时间: 01-25 22:41 阅读次数: 0

backtrader股票量化回测超省力必须入门系列(8):核心概念未决(pending)订单

教程和源码下载见这里深入掌握backtrader,必须理解几个核心概念,如策略迭代表、线line、未决(pending)订单。奇怪的是backtrader原始文档对这些核心概念着墨极少,只是对line多说了几句,还说得不明不白,没把line、lines对象的关系将清楚。至于策略迭代表则根本没有提及,未决订单也没加以解释。正是因为对这些非常基础和核心的概念缺乏解释,导致很多人难以入门。其实这些概念都很简单,本系列前面部分已介绍了单支股票下的策略迭代表、line和lines的概念,本节彻底解决未决订
分类: 其他 发布时间: 01-25 22:41 阅读次数: 0

backtrader策略库:基于z-score的配对策略

配对交易,其基本原理就是找出两只走势相关的股票。这两只股票的价格差距从长期来看在一个固定的水平内波动,如果价差暂时性的超过或低于这个水平,就买多价格偏低的股票,卖空价格偏高的股票。等到价差恢复正常水平时,进行平仓操作,赚取这一过程中价差变化所产生的利润。配对策略本质上也是多股操作,可以采用我们教程中的多股组合操作的技术。假设我们找到两支走势高度相关的股票601128.SH 常熟银行 X 和601166.SH 兴业银行 Y,通过OLS回归得到两者价格的关系为:Y - 1.5575*X = 6.1175
分类: 其他 发布时间: 01-25 22:41 阅读次数: 0

backtrader FAQ:什么是一篮子订单Bracket Orders optMaster

完整教程见这里。一篮子订单并非一个单一订单,而是三个订单组合起来的,其中一个是主订单,另外两个一是针对主订单的止损保护单,二是针对主订单的获利了结单。我们考虑一个做多的场景:这种场景下,我们想买入股票(创建买单),但是又希望在股价下跌时通过止损卖单限制损失,并且希望股价上升到目标价后卖出股票获利了结。因此,当下达一个主买单后,同时下达一个止损卖单保护自己,再同时下达一个获利了结卖单保护利润,说明如下:一个主买单buy,默认是限价单Limit,要设置主限制价price(相当于进入市场价格)。此单称
分类: 其他 发布时间: 01-25 22:40 阅读次数: 0

开源量化框架backtrader FAQ:filler,让订单执行数量与总成交量相关

完整backtrader技术教程看这里默认情况下,backtrader中发出的订单,如果要成交,会成交全部数量,而与成交那根bar的总成交量(volumn)无关。比如,在当前bar结束时,创建如下市价买单:self.buy(size=100)那么,到下一根bar,会以开盘价全部成交100股,即使下一根bar总成交量是50股也不影响该订单成交100股。那么,我们能不能改变这种默认行为,让订单成交量与bar的总成交量挂钩呢?至少不要超过总成交量。方法是有的,那就是使用订单履行对象fille
分类: 其他 发布时间: 01-25 22:40 阅读次数: 0

backtrader策略库:10万变成400万的比特币交易策略

完整backtrader技术教程见这里。本文介绍这篇文章提出的一个比特币交易策略,回测显示能够使10万变成400万!这个策略依赖的一个重要指标叫库存流量比(Stock-to-Flow,简称stf),这个指标量化了比特币的稀缺性。stf = Stock/FlowStock是指现有的库存和储备,Flow是年产生产量。stf反应了按现有年生产量,需要生产多少年,才能生产出现有库存量。策略的基本思想是当市场处于跌势(均线下跌)、且价格低估时(价格低于stf),若出现macd金叉,则买入,同时设.
分类: 其他 发布时间: 01-25 22:40 阅读次数: 0

backtrader高级专题:策略绩效评价:用不了pyfolio?还有quantstats

本文完整内容请参见我的微信公众号“optMaster”中的backtrader高级专题部分,或参看我们开发的视频课程中backtrader高级专题部分。目录:1 引例:输出html绩效报表2 Quantstats详解2.1 quantstats.stats:输出文字形式的各项绩效指标2.2 quantstats.plots:以图的形式输出绩效指标(仅notebook)2.3 quantstats.reports:生成文字或(和)图表形式的综合报表3 重要指标简介(sharpe、s
分类: 其他 发布时间: 01-25 22:39 阅读次数: 0

开源量化框架backtrader FAQ:开发MySQL data feed

完整技术教程见这里有很多人建立了自己本地的行情数据库,希望能够从本地数据库将数据发到backtrader,供策略使用。一个通用的方法是将数据库的行情数据读到pandas dataframe里,然后将这个数据帧的数据传给backtrader的pandas feed数据对象,这样策略就能够使用了。但是有些同学不想通过pandas dataframe中转,而是想直接从数据库将数据喂给backtrader的数据馈送对象,这就需要针对数据库开发专门的data feed类了。以下就是backtrader社区
分类: 其他 发布时间: 01-25 22:39 阅读次数: 0

开源量化框架backtrader FAQ:开发sqlite data feed

完整技术教程见这里有很多人建立了自己本地的行情数据库,希望能够从本地数据库将数据发到backtrader,供策略使用。一个通用的方法是将数据库的行情数据读到pandas dataframe里,然后将这个数据帧的数据传给backtrader的pandas feed数据对象,这样策略就能够使用了。但是有些同学不想通过pandas dataframe中转,而是想直接从数据库将数据喂给backtrader的数据馈送对象,这就需要针对数据库开发专门的data feed类了。上一篇我们介绍了如何开发针对My
分类: 其他 发布时间: 01-25 22:39 阅读次数: 0

backtrader策略排坑:策略编制要特别关注停牌日的坑

《扫地僧Backtrader给力教程系列一》前面发过几篇策略编制时考虑停牌问题的文章,本文汇总补充后,再发一次。本文内容亦发布于微信公众号:optMaster,公众号文章有分类,便于按需检索导航。1 引子有同学回测时发现一个奇怪的现象,如下图,在2010年3月11日,600000浦发银行的买单执行了三次,还有很多因现金不足作废。这是因为600000在2010年2月26到3月10日停牌,因此2月25到3月10日发出的订单只能在3月11日执行。所以3月11日三个执行了,其他现金不足作废了。
分类: 其他 发布时间: 01-25 22:39 阅读次数: 0

大白话微软人工智能AI量化投资平台Qlib试用体验

进qq群 809845360 ,交流Qlib技术=============================================最近微软研究院发布了一个融合了各种机器学习算法的人工智能量化投资平台Qlib,可以用来进行交易策略量化回测。看其他介绍文章都是半通不通的翻译英文文档,不着要点。我安装试用了一下,用大白话告诉你Qlib的功能,也许你看起来更容易明白它是干什么的。从应用层来看,它主要包括松耦合的三大块(每块可以独立):1 数据从外部获取行情数据,按Qlib内部高效率的格式
分类: 其他 发布时间: 01-25 22:38 阅读次数: 0

独家:微软AI量化投资平台Qlib视频教程1:Qlib简介

最近微软研究院发布了一个融合了各种机器学习算法的人工智能量化投资平台Qlib,可以用来进行量化机器学习和交易策略量化回测。看其他介绍文章都是半通不通的翻译英文文档,不着要点。我安装试用了一下,用大白话告诉你Qlib的功能,也许你看起来更容易明白它是干什么的。从应用层来看,它主要包括数据、机器学习和策略回测松耦合的三大块(每块可以独立),我们会陆续制作相关视频课程介绍这些内容。本次发出第一部分视频,点此查看简介部分。...
分类: 其他 发布时间: 01-25 22:38 阅读次数: 0

独家:微软AI量化投资平台Qlib视频教程2:安装Qlib

上一篇文章的视频介绍了Qlib的基本功能。本次视频演示怎么安装Qlib。有不少同学安装Qlib都碰到坑了,也许本次视频可以拉你出坑。点此查看视频,安装Qlib。
分类: 其他 发布时间: 01-25 22:38 阅读次数: 0