Python: использование Google Finance для загрузки данных индекса

Я успешно загружал биржевые данные из Google Finance, например:

import pandas as pd
from pandas_datareader import data as web   
import datetime
start = datetime.datetime(2016,1,1)
end   = datetime.date.today()
apple = web.DataReader('aapl', 'google', start, end)

Я думал, что смогу использовать ту же структуру для данных индекса. Но это не работает:

spx = web.DataReader('INDEXSP', 'google', start, end)

RemoteDataError: Unable to read URL: http://www.google.com/finance/historical

Google не поддерживает это для индексов?

Или мне нужен другой протокол?

3 ответа

Для DAX вы можете использовать "NASDAQ:DAX", который загружается из Google с помощью устройства чтения данных. Однако этот ETF начинается только с 2014-10-23.

Это проблема на стороне Google. Сравните историческую страницу цен для S&P с страницей для Google, и вы увидите, что последняя имеет ссылку "загрузить в электронную таблицу", а первая - нет. pandas-datareader просто уходит из этой ссылки CSV.

Итак, к вашему комментарию, я бы не считал это нарушенной реализацией внутри pandas-datareaderпросто тот, который не будет работать в тех случаях, когда Google Finance не предоставляет.csv.

Данные индекса доступны:

учитывая ваш звонок назвал <instrument> что API Google не был готов отобразить его исторические записи, попробуйте найти <instrument> имя в первую очередь вручную.

S & P 500 INDEX (INDEXCBOE:SPX)
в / с
S & P 500 (INDEXSP:.INX)
...
DAX PERFORMANCE-INDEX (INDEXDB:DAX)


Оба работают и обслуживают данные на стороне Google Finance:

Другие вопросы по тегам