You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用findatapy从Bloomberg导入指数成分股(INDX_MEMBERS)遇Redis连接错误

解决findatapy获取Bloomberg指数成分股时的Redis连接错误

我来帮你搞定这个问题!从错误日志来看,核心问题其实不是指数相关操作,而是Redis连接失败——findatapy默认会用Redis做数据缓存,但你的本地Redis服务没启动,导致连接被拒绝(Error 10061)。下面是具体的解决步骤:

1. 启动本地Redis服务

错误提示里“target machine actively refused it”说明Redis没在默认端口6379运行,先把Redis服务启动起来:

  • Windows:打开「服务管理器」,找到Redis服务,右键点击「启动」;或者打开命令行,运行redis-server启动服务。
  • Linux:执行sudo systemctl start redis启动服务,若要开机自启可以加enable参数。
  • Mac:用Homebrew安装的话,执行brew services start redis启动服务。

2. 或者直接禁用findatapy的缓存功能

如果你暂时不需要缓存,可以在MarketDataRequest里添加参数禁用缓存,这样就不会尝试连接Redis了:

from findatapy.util import SwimPool; SwimPool()
from findatapy.market import Market, MarketDataRequest, MarketDataGenerator

market = Market(market_data_generator=MarketDataGenerator())
md_request = MarketDataRequest(
    start_date='22 Mar 2018',
    data_source='bloomberg', 
    tickers=['S&P/TSX60 Index'],
    vendor_tickers=['SPTSX60 Index'], 
    fields=['INDX_MEMBERS'],
    cache_algo='cache_algo_return_no_cache'  # 关键:禁用缓存
)
df = market.fetch_market(md_request)

3. 额外验证:确认指数字段和权限

虽然之前其他字段正常,但还是要再确认:

  • INDX_MEMBERS确实是Bloomberg获取指数成分股的正确字段
  • 你的Bloomberg终端有权限访问SPTSX60 Index的成分股数据

先尝试上述前两个方案,应该能解决Redis连接的问题,进而获取指数成分股数据。

内容的提问来源于stack exchange,提问作者mcb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:57:39