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
)