You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Yahoo Finance上富时指数(FTSE)的有效交易代码求助

Correct Ticker for FTSE 100 Index on Yahoo Finance for Python Data Retrieval

刚好碰到过类似的问题,来给你捋清楚——在Yahoo Finance上,富时100指数的标准交易代码确实是^FTSE,但有时候因为pandas_datareader的Yahoo接口版本限制,或者Yahoo对指数类标的的访问规则,这个代码可能没法正常返回数据。

我亲测有效的替代方案是用FTSE.L,这是伦敦证交所上市的富时100指数追踪ETF,它的收盘价和指数本身几乎完全一致,足够满足你的需求。

另外注意你原代码里的一个小问题:data[st] = df_t['Close']没有缩进,会导致循环结束后只保留最后一个标的的数据,我已经在修正后的代码里调整了缩进:

import pandas as pd
import pandas_datareader.data as wb

stock_tickers = "FTSE.L".split(",")
data = pd.DataFrame()
dt_start = '1995-01-01'
dt_end = '2019-01-05'

for st in stock_tickers:
    print("Loading data for %s" % st)
    df_t = wb.get_data_yahoo(st, start=dt_start, end=dt_end)
    print("Retrieved: %s" % str(df_t.shape), df_t.columns)
    data[st] = df_t['Close']  # 缩进后才能正确存入每个标的的收盘价

如果还是想用指数本身的代码^FTSE,可以尝试升级pandas_datareader到最新版本,或者改用yfinance库(它是专门适配Yahoo Finance的第三方库,对指数标的支持更稳定),示例代码如下:

import yfinance as yf
import pandas as pd

stock_tickers = "^FTSE"
data = yf.download(stock_tickers, start='1995-01-01', end='2019-01-05')
print("Retrieved: %s" % str(data.shape), data.columns)
# 提取收盘价
close_data = data['Close']

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

火山引擎 最新活动