🚀 AI 一键生成 ptrade 策略代码

ptrade平台调用tushare数据提示ConnectionError连接被拒绝怎么办?

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

问题描述

调用tushare数据时出现如下信息,ConnectionError: HTTPConnectionPool(host='10.5.42.71', port=7171): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f02377a51d0>: Failed to establish a new connection: [Errno 111] Connection refused'))。

/

解决方案

在 ptrade 量化平台中调用 tushare 数据时遇到 ConnectionError: HTTPConnectionPool(host='10.5.42.71', port=7171)... Connection refused 错误,通常是因为策略运行环境无法连接到券商部署的 tushare 内网代理服务

以下是详细的原因分析及解决方案:

一、 错误原因分析

  1. 券商 tushare 服务异常或维护:错误信息中的 IP 10.5.42.71 是一个局域网(内网)IP。为了安全,ptrade 平台通常是物理隔离的,无法直接访问外网。券商会在内网搭建一个 tushare 的数据镜像或代理服务。如果该服务宕机、重启或正在维护,就会提示 Connection refused(连接被拒绝)。
  2. 权限未开通:部分券商对 tushare 接口的调用有白名单限制,如果您的账户未申请开通该权限,网络层可能会直接拒绝连接。
  3. 调用的库不匹配:ptrade 环境中通常预装了 tusharexcsc-tushare。如果调用方式不符合券商的定制规范,也可能导致请求路由失败。

二、 解决方案

1. 联系券商技术支持(首选)

由于这是明确的内网服务端拒绝连接错误,作为普通用户无法在代码层面修复网络。建议直接截图该报错信息,发送给您的券商客户经理或 ptrade 技术支持群,询问:“内网的 tushare 数据服务(10.5.42.71:7171)是否宕机或需要特殊权限?”

2. 检查代码导入方式

部分券商要求使用特定的包名来调用内网 tushare,请检查您的代码,尝试将 import tushare as ts 替换为券商定制的包(如果券商有相关文档说明):

# 尝试使用 ptrade 环境内置的定制版 tushare
import xcsc_tushare as ts

3. 使用 ptrade 原生 API 替代(强烈推荐)

在 ptrade 这种封闭的实盘/回测环境中,强烈建议优先使用 ptrade 自带的原生 API。原生 API 直接读取柜台或本地极速行情源,速度更快、稳定性极高,且不会出现第三方服务宕机的问题。

以下是常见 tushare 功能的 ptrade 原生 API 替代方案:

场景 A:获取历史 K 线数据

  • tushare 方式ts.pro_bar()
  • ptrade 替代:使用 get_history()get_price()
# 获取恒生电子过去5天的日线收盘价
df = get_history(5, '1d', 'close', security_list='600570.SS', fq='pre')

场景 B:获取股票基础信息/列表

  • tushare 方式pro.stock_basic()
  • ptrade 替代:使用 get_Ashares()get_stock_info()
# 获取当前所有A股代码列表
stock_list = get_Ashares()
# 获取单只股票基础信息(如上市日期)
info = get_stock_info('600570.SS', field=['stock_name', 'listed_date'])

场景 C:获取财务数据

  • tushare 方式pro.balancesheet(), pro.income()
  • ptrade 替代:使用 get_fundamentals()
# 获取资产负债表中的总资产
fund_data = get_fundamentals('600570.SS', 'balance_statement', 'total_assets')

总结

遇到该错误请先向券商报障。为了保证量化策略在实盘中的健壮性,建议逐步将策略中依赖 tushare 的数据获取逻辑,迁移到 ptrade 官方提供的 get_historyget_fundamentals 等原生接口上。