解决Backtrader中self.broker.get_value()值为nan与问题解析

2023-11-02

解决方法

删除数据源中close为空的行;或者更极端一点,删除存在空值的行。

主要查看数据源是否存在缺失值:

  • 如果使用Backtrader的默认逻辑,计算value会对应收盘价,收盘价不能有缺失值
  • 如果使用开盘价购买,则开盘价不能有缺失值

问题解析

程序中计算

next()之后,代码跳转到cerebro.py文件中第1688行,执行self_brokernotify()
然后,跳转到1355行,执行def _brokernotify(self)
然后,跳转到brokers/bbroker.py文件的第1176行执行def next(self)
最后,跳转到当前文件的第422行,执行def _get_value(self,data=None,lever=False)

在这个函数中,程序计算现金和价值。如果策略中使用self.broker.get_value()结果显示nan,在这里调试代码可以找到问题的原因

虽然即便不管,也不影响逻辑,但是此后,self.broker.get_value()这个函数就将失去其存在的意义

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解决Backtrader中self.broker.get_value()值为nan与问题解析 的相关文章

随机推荐

  • DOS常用命令(从入门到精通)

    DOS命令学习 一 DOS使用常识 DOS的概况 DOS Disk Operating System 是一个使用得十分广泛的磁盘操作系统 就连眼下流行的Windows9x ME系统都是以它为基础 常见的DOS有两种 IBM公司的PC DOS
  • 朴素贝叶斯理论推导与三种常见模型

    朴素贝叶斯 Naive Bayes 是一种简单的分类算法 它的经典应用案例为人所熟知 文本分类 如垃圾邮件过滤 很多教材都从这些案例出发 本文就不重复这些内容了 而把重点放在理论推导 其实很浅显 别被 理论 吓到 三种常用模型及其编码实现
  • C++ 和 OpenCV 实现卷积神经网络并加载 Keras 训练好的参数进行预测

    C 和 OpenCV 实现卷积神经网络并加载 Keras 训练好的参数进行预测 一 背景 二 Keras 定义神经网络结构 channels first 与 channels last channels first 与 channels l
  • Sourcetree 打开闪退怎么处理

    只需要把箭头指向的SourceTree exe Url 3vynpq3lkfkc3vf35ldq2wva2cs3o2zs文件删除 如果是多个一并删除 只留一个SourceTree文件夹即可
  • WebService 与 SOAP、WSDL、UDDI

    什么是WebService Web Services 是一种基于组件的软件平台 是面向服务的Internet 应用 Web Services 是应用于Internet 的 而不是限于局域网或试验环境 这要求提出的Web Services 框
  • 微服务2-nacos 配置中心

    1什么是配置中心 在微服务架构中 当系统从一个单体应用 被拆分成分布式系统上一个个服务节点后 配置文件也必须跟着迁移 分割 这样配置就分散了 不仅如此 分散中还包含着冗余 如下图 2为什么要使用配置中心 配置中心将配置从各应用中剥离出来 对
  • Unity 游戏框架搭建 2017 (五) 简易消息机制

    什么是消息机制 23333333 让我先笑一会 为什么用消息机制 三个字 解 耦 合 我的框架中的消息机制用例 1 接收者 Receiver cs using UnityEngine namespace QFramework Example
  • 如何运行ImageMagick的命令行工具

    在http www imagemagick org script index php网站下载相应的执行文件 这里以下载ImageMagick 6 6 5 10 Q16 windows static exe为例说明 将ImageMagick
  • spring集成kafka并对消息进行监听

    spring集成kafka 文章目录 spring集成kafka kafka本地安装启动 pom文件 生产配置 消费者配置 创建topic工具类 生产业务 消费业务 消息接收类 监听类 业务处理 异步 同步 ONEWAY 需要依赖zooke
  • layuiAdmin侧边栏菜单刷新保持当前页面

    layuiadmin框架 每次刷新整个页面 都会回到首页 现在想保持在当前页面 layuiAdmin侧边栏菜单刷新保持当前页面 利用缓存来处理 供自己参考如下 layui config base ROOT homeStatic layuia
  • [移动通讯]【Carrier Aggregation-4】【LTE-4】

    前言 推荐两个在线工具 UECapabilityInformation Decoder https www sqimway com ue capa php FGI Decoder http howltestuffworks blogspot
  • c#基础语法笔记----个人学习笔记

    改变应用图标 1 当 解决方案资源管理器 中有项目选中时 在 项目 菜单上单击 属性 2 选择 应用程序 窗格 3 从 图标 下拉列表中选择图标 ico 文件 实例化 new 类名 例如 user a new user 可写 set ret
  • Matplotlib学习

    Matplotlib学习 1 什么是Matplotlib 是专门用于开发2D图表 包括3D图表 以渐进 交互式方式实现数据可视化 2 为什么要用Matplotlib 可视化是在整个数据挖掘的关键辅助工具 可以清晰的理解数据 从而调整我们的分
  • python类的公有和私有

    结论 python里并没有严格的私有变量和函数限制 仅仅是对程序员的限制 尽量不要去使用 1 xxx 单下划线 开始的成员变量叫做保护变量 意思是只有类实例和子类实例能访问到这些变量 需通过类提供的接口进行访问 2 xxx 类中的私有变量
  • 解决在Android中给Button设置Padding无效的问题

    在Xml中给Button设置padding 0 和用代码给Button设置padding 0 都无效 是因为 这种情况下 Button的宽高是受TextView中的变量 mMinWidth mMinHeight和View中的变量 mMinW
  • Qt自定义控件封装

    自定义控件封装 样例效果 描述 部件QSpinBox和QSlider组合 改变其中一个的值 另一个随之改变 添加按钮快速获取或设置组合的值 部件组合 新建项目 添加新建项Qt gt Qt设计师界面类 gt 选择界面模板 widget gt
  • 启动Jmeter报警告,用管理员身份运行jmeter.bat,以后不再报警告。

    今天在新电脑启动Jmeter 发现命令行窗口报出警告 Could not open create prefs root node Software JavaSoft Prefs at root 0x80000002 Windows RegC
  • 华为OD机试真题 Java 实现【按身高和体重排队】【2022Q4 100分】,附详细解题思路

    一 题目描述 某学校举行运动会 学生们按编号 1 2 3 n 进行标识 现需要按照身高由低到高排列 对身高相同的人 按体重由轻到重排列 对于身高体重都相同的人 维持原有的编号顺序关系 请输出排列后的学生编号 二 输入描述 两个序列 每个序列
  • Ubuntu 20.04 安装 WPS 2019 及其卸载

    Ubuntu 20 04 安装 WPS 2019 1 打开WPS官网 https linux wps cn 下载安装包 2 下载deb格式 下载好的文件如下图 3 打开终端 依次输入命令 我下载的文件在 下载 文件夹当中 默认的也是这个文件
  • 解决Backtrader中self.broker.get_value()值为nan与问题解析

    解决方法 删除数据源中close为空的行 或者更极端一点 删除存在空值的行 主要查看数据源是否存在缺失值 如果使用Backtrader的默认逻辑 计算value会对应收盘价 收盘价不能有缺失值 如果使用开盘价购买 则开盘价不能有缺失值 问题