🚀 AI 一键生成 ptrade 策略代码
立即体验
👉 AI 生成代码 👈

ptrade调用get_fundamentals提示“获取token失败”的排查与解决方法

ptrade | 发布时间: 2026/5/29
以下内容由 EasyQuant 生成。

问题描述

研究界面使用get_fundamentals函数报错:error_info:获取token失败?

/

解决方案

在ptrade研究界面调用get_fundamentals函数时报错“error_info:获取token失败”,通常是由于网络请求异常、接口限流或环境权限导致的。根据ptrade官方API文档,get_fundamentals接口为HTTP在线获取,底层需要请求数据源的Token进行鉴权。出现该错误的主要原因及解决方法如下: 1. 网络拥堵或超时:由于该接口是在线获取,网络波动会导致鉴权Token获取失败。建议在策略中增加异常保护(try-except)和重试机制。 2. 触发接口限流:官方文档明确指出,该接口有严格的流量限制(每秒不得调用超过100次,单次最大调用量是500条数据)。如果涉及多股多字段的高频查询,极易触发限流导致Token获取失败或拒绝服务。解决方法是在循环调用时加入 time.sleep() 做时间间隔。 3. 券商权限限制:部分券商的ptrade环境可能未完全开放财务数据接口的公网访问权限,或者Token配置有误,建议联系券商客户经理确认当前环境是否支持该接口。 解决方案代码示例(带重试机制): import time; def get_fundamentals_safe(security, table, fields, date, max_retries=3): for i in range(max_retries): try: data = get_fundamentals(security, table, fields=fields, date=date); if data is not None and not data.empty: return data; except Exception as e: print('获取财务数据异常: %s, 正在重试...' % e); time.sleep(1); return None; 建议在实际策略中,尽量避免在盘中(handle_data)高频调用此接口,可改在 before_trading_start 盘前阶段获取并缓存数据,以提高策略的稳定性。