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_BS
    px_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_BS
    px_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开通详则》来获取,感谢看到这里,如果有更多疑问欢迎在评论区提出!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值