Backtrader量化回测11——策略信号Indicator
对于程序来讲,该有的代码一行都不会少,但是把代码分块就可以很直观的阅读或修改代码。使用Indicator
可以将策略的信号从策略类Strategy
中脱离出来,方便策略进行协调与控制
文章目录
- 策略信号
- 示例代码
策略信号
官网中对于Indicator
的解释是:https://www.backtrader.com/docu/induse/
比如下面就是一个Indicator
类,和策略一样:
def __init__
:初始化的一些函数,可生成一些交易信号def next(self)
:与Strategy
类中的next用法一致,每一个模拟的交易日,都会先执行Indicator
类,然后才会执行这个交易日的策略类中的next()
方法
class BuySignalIndicator(bt.Indicator):lines = ("",)def __init__(self):self.should_buy = Falsedef next(self):if self.datas[0].close[0] > self.datas[0].open[0]:self.should_buy = Trueelse:self.should_buy = False
注意:在Indicator
类中是没有self.datetime
方法的,因此在信号类中其实是无法直接读取当天的日期的
示例代码
import backtrader as btclass BuySignalIndicator(bt.Indicator):lines = ("",)def __init__(self):self.should_buy = Falsedef next(self):if self.datas[0].close[0] > self.datas[0].open[0]:self.should_buy = Trueelse:self.should_buy = Falseclass TestStrategy(bt.Strategy): # 策略def __init__(self):self.close_price = self.datas[0].close # 这里加一个数据引用,方便后续操作self.my_indicator = BuySignalIndicator()def next(self):if self.my_indicator.should_buy:self.buy(size=500, price=self.data.close[0])else:if self.position:self.sell(size=500, price=self.data.close[0])
这样,在执行策略时,执行顺序是:
- 在策略类
Strategy
中,执行初始化def __init__()
- 在信号类
Indicator
中,执行初始化def __init__()
- 在信号类
Indicator
中,执行next()
函数 - 在策略类
Strategy
中,执行next()
函数
Backtrader量化回测11——策略信号Indicator相关推荐
- 【手把手教你】用backtrader量化回测海龟交易策略
01 引言 海龟交易策略是比较经典的趋势交易系统之一,涵盖了从入场交易(品种选择).仓位管理(基于ATR加减仓).离场(触发条件)的整个过程.机械套用海龟交易法则在A股上进行交易可能效果不佳,但其交易 ...
- backtrader量化回测,基础篇,附MACD交易回测代码
backtrader由德国工程师开发,拥有股票的回测,检测交易策略,支持期货实时交易,对于股票交易还在完善,我尝试了pylagotrade,vn.py,发现backtrader功能强大,交易策略全面, ...
- 扫地僧Backtrader量化回测与交易闭环生态系列教程
backtrader是著名的开源量化框架,作者叫Daniel Rodriguez,就是下图这位老兄. 这个作者是德国人,工作在德国慕尼黑,编程水平极高,比国内一些非专业程序员编写的回测平台代码质量高太 ...
- Backtrader量化回测1——基本的交易策略与挂单买卖
Backtrader Github页面:https://github.com/mementum/backtrader 官网Quickstart 教程:https://www.backtrader.co ...
- 【量化回测必看!】Backtrader保姆级教学+免费行情源 SMA策略
前言 想开始量化学习不知道如何入手?市面上的学习资料太多不知道该怎么看? 博主将从零基础讲解回测框架,一步步完成量化数据源的搭建,让你10天内成为量化高手 博主同时将视频课程内容在B站更新,可以关注& ...
- backtrader股票技术指标自定义与量化回测
01 引言 股票市场自交易以来,人们就开始孜孜不倦地探索各种各样的投资理论,其中技术分析是重要的理论之一.实际上,技术分析是100多年前创建的股票投资理论,是投资者对股票量价变化长期观察归纳总结的若干 ...
- vnpy怎么创建策略并回测_【手把手教你】入门量化回测最强神器backtrader(一)
1 引言 目前基于Python的量化回测框架有很多,开源框架有zipline.vnpy.pyalgotrader和backtrader等,而量化平台有Quantopian(国外).聚宽.万矿.优矿.米 ...
- 量化回测平台Backtrader实战-陆一潇-专题视频课程
量化回测平台Backtrader实战-240人已学习 课程介绍 课程通过学习Backtrader这一功能丰富的开源回测平台来逐步实现多个量化cta策略的回测实现.Backtrader是 ...
- 手把手教你用Python搭建自己的量化回测框架【均值回归策略】
1 引言 大部分量化策略都可以归类为均值回归与动量策略.事实上,只有当股票价格是均值回归或趋势的,交易策略才能盈利.否则,价格是随机游走的,交易将无利可图.均值回归是金融学的一个重要概念,指股票价格无 ...
最新文章
- 对于STM32F103三轴机械臂控制器进行基本功能测试-关节角度读取
- zookeeper3.4集群搭建
- 《玩转.NET Micro Framework 移植-基于STM32F10x处理器》--微软中国.NET Micro Framework项目组工程师所作之序...
- 第三部分:Android 应用程序接口指南---第二节:UI---第八章 Toast通知
- 如何提高阅读源代码的效率 .
- 苹果紧急修复已遭 NSO Group 利用的 iMessage 0day以及另一个0day
- 用ldd查看C++程序的依赖库
- R语言使用RStudio将可视化结果保存为pdf文件(export--Save as PDF)
- Axure share 二三事
- Java人工弱智算法_人工智障也刷题!Kaggle 入门之实战泰坦尼克号
- wxWidgets(1) :mac下搭建wxWidgets 3.0 环境
- 使用crow创建一个c++的web服务
- 面试测试岗想拿13K,HR说你最多值10K,教你怼死HR?
- 个人信息保护法相关法律法规学习和梳理
- WireShark流量分析(中国菜刀,webshell)
- bert 环境搭建之PytorchTransformer 安装
- Kali linux修改源文件
- 签名MD5与文件MD5概念
- iOS RGB 颜色对照表
- 计算机专业私,美国私立寄宿高中计算机专业STEM排名TOP20