ptrade排坑日记——交易策略报错: ‘NoneType‘ object is not subscriptable 。

本文主要是介绍ptrade排坑日记——交易策略报错: ‘NoneType‘ object is not subscriptable 。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

今天要和大家分享的一个问题是交易策略报错,希望大家在使用ptrade过程中遇见这个问题能够快速解决!

一、问题描述

交易策略报错:

 File "/home/fly/sim_backtest/result/412974e0-a014-11ee-8735-d4f5ef8c353c/user_strategy.py", line 354, in ocall_BSpx_change_rate_2500 = all_snap_25[code]['px_change_rate']
TypeError: 'NoneType' object is not subscriptable
File /home/fly/sim_backtest/result/412974e0-a014-11ee-8735-d4f5ef8c353c/user_strategy.py, line 354 in ocall_BSpx_change_rate_2500 = all_snap_25[code]['px_change_rate']--> up = 22.5--> down = 11.27--> zdj = 20.199999999999999--> all_snap_25 = None--> balance = 2043--> circulation = 320035800--> px_change_rate_2457 = 3.24--> context = <StrategyContext {'initialized': True, 'commission': <Commission {'cost': 0.0003, 'tax': 0.001, 'min_trade_cost': 5.0}>, 'blotter': <Blotter {'current_dt': date ...--> modulus = 0.09984025559105425--> tj2 = True--> spj = 20.449999999999999--> history = <class 'pandas.core.panel.Panel'>

二、解决方案

1、首先根据报错提示,可以看出此报错是因为all_snap_25数据为空,去空数据字典导致报错!

2、经过和客户的沟通,all_snap_25=get_snapshot(get_Ashares0),快照获取为空!

3、检查监控和定时任务,在报错时间行情快照没有报错警告!

4、当get_snapshot(Ⅱ)获取时,获取的应答数据为空,怀疑get_Ashares0,获取为空。

5、get_Ashares函数当时每个都是请求行情服务器的,后面在日初落地缓存请求直接从缓存取数据,避免由于在线请求过多导致get_Ashares返回数据偶发为空的问题!

 结语

ptrade的渠道可以通过《ptrade开通详则》来获取,感谢看到这里,如果有更多疑问欢迎在评论区提出!

这篇关于ptrade排坑日记——交易策略报错: ‘NoneType‘ object is not subscriptable 。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1113358

相关文章

Python Jupyter Notebook导包报错问题及解决

《PythonJupyterNotebook导包报错问题及解决》在conda环境中安装包后,JupyterNotebook导入时出现ImportError,可能是由于包版本不对应或版本太高,解决方... 目录问题解决方法重新安装Jupyter NoteBook 更改Kernel总结问题在conda上安装了

Python安装时常见报错以及解决方案

《Python安装时常见报错以及解决方案》:本文主要介绍在安装Python、配置环境变量、使用pip以及运行Python脚本时常见的错误及其解决方案,文中介绍的非常详细,需要的朋友可以参考下... 目录一、安装 python 时常见报错及解决方案(一)安装包下载失败(二)权限不足二、配置环境变量时常见报错及

Deepseek使用指南与提问优化策略方式

《Deepseek使用指南与提问优化策略方式》本文介绍了DeepSeek语义搜索引擎的核心功能、集成方法及优化提问策略,通过自然语言处理和机器学习提供精准搜索结果,适用于智能客服、知识库检索等领域... 目录序言1. DeepSeek 概述2. DeepSeek 的集成与使用2.1 DeepSeek API

Redis的数据过期策略和数据淘汰策略

《Redis的数据过期策略和数据淘汰策略》本文主要介绍了Redis的数据过期策略和数据淘汰策略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录一、数据过期策略1、惰性删除2、定期删除二、数据淘汰策略1、数据淘汰策略概念2、8种数据淘汰策略

SpringBoot中的404错误:原因、影响及解决策略

《SpringBoot中的404错误:原因、影响及解决策略》本文详细介绍了SpringBoot中404错误的出现原因、影响以及处理策略,404错误常见于URL路径错误、控制器配置问题、静态资源配置错误... 目录Spring Boot中的404错误:原因、影响及处理策略404错误的出现原因1. URL路径错

MySQL报错sql_mode=only_full_group_by的问题解决

《MySQL报错sql_mode=only_full_group_by的问题解决》本文主要介绍了MySQL报错sql_mode=only_full_group_by的问题解决,文中通过示例代码介绍的非... 目录报错信息DataGrip 报错还原Navicat 报错还原报错原因解决方案查看当前 sql mo

解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题

《解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题》文章详细描述了在使用lombok的@Data注解标注实体类时遇到编译无误但运行时报错的问题,分析... 目录问题分析问题解决方案步骤一步骤二步骤三总结问题使用lombok注解@Data标注实体类,编译时

Java中Object类的常用方法小结

《Java中Object类的常用方法小结》JavaObject类是所有类的父类,位于java.lang包中,本文为大家整理了一些Object类的常用方法,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. public boolean equals(Object obj)2. public int ha

Redis多种内存淘汰策略及配置技巧分享

《Redis多种内存淘汰策略及配置技巧分享》本文介绍了Redis内存满时的淘汰机制,包括内存淘汰机制的概念,Redis提供的8种淘汰策略(如noeviction、volatile-lru等)及其适用场... 目录前言一、什么是 Redis 的内存淘汰机制?二、Redis 内存淘汰策略1. pythonnoe

linux报错INFO:task xxxxxx:634 blocked for more than 120 seconds.三种解决方式

《linux报错INFO:taskxxxxxx:634blockedformorethan120seconds.三种解决方式》文章描述了一个Linux最小系统运行时出现的“hung_ta... 目录1.问题描述2.解决办法2.1 缩小文件系统缓存大小2.2 修改系统IO调度策略2.3 取消120秒时间限制3