2017-01-23 17 views
0

Я читаю данные о запасах в python, используя финансы yahoo. Он работает с акциями, однако он дает ошибки в товарах.чтение товаров в python с yahoo finance

ниже код работает отлично:

import pandas as pd 
import numpy as np 
import pandas.io.data as web 
import datetime 

# We will look at stock prices over the past year, starting at January 1, 2016 
start = datetime.datetime(2016,1,1) 
end = datetime.date.today() 

stock = "AAPL" 

# get stock data, from yahoo finance within the dates specified 
stock = web.DataReader(stock, "yahoo", start, end) 

stock.head(n=3) 

Однако, если изменить дескриптор товара вместо акции вы получите эту ошибку:

import pandas as pd 
import numpy as np 
import pandas.io.data as web 
import datetime 

# We will look at stock prices over the past year, starting at January 1, 2016 
start = datetime.datetime(2016,1,1) 
end = datetime.date.today() 

stock = "GCG17.CMX" 

# get stock data, from yahoo finance within the dates specified 
stock = web.DataReader(stock, "yahoo", start, end) 

stock.head(n=3) 

OSError: after 3 tries, Yahoo! did not return a 200 for url 'http://ichart.finance.yahoo.com/table.csv?s=GCG17.CMX&a=0&b=1&c=1970&d=0&e=22&f=2017&g=d&ignore=.csv' 

Может кто-нибудь мне помочь?

+2

введите это в браузере, затем вы увидите, почему http://ichart.finance.yahoo.com/table.csv?s=GCG17.CMX&a=0&b=1&c=1970&d=0&e=22&f=2017&g=d&ignore= .csv – e4c5

ответ

0

Вы можете использовать YQL Console и попытаться использовать SQL для извлечения необходимых данных.

Например, я пробую select * from yahoo.finance.historicaldata where symbol = "AAPL" and startDate = "2016-01-01" and endDate = "2017-01-22 и успешно получаю таблицу, которую я хочу.

Если я заменил «AAPL» на «GCG17.CMX», и я ничего не могу получить. Поэтому я не думаю, что у библиотеки на python, такой как pandas и yahoo_finance, есть проблемы. Проблема возникает в стороне yahoo.

Вы можете попытаться найти другую базу данных, такую ​​как служба данных Wharton и т. Д., Чтобы получить нужную таблицу. Надеюсь, это поможет.

0

Вы получаете сообщение об ошибке, поскольку Yahoo Finance не сохраняет цены на исторические товары.

Смежные вопросы