2017-01-23 2 views
0

Ich lese Daten in Python mit der Yahoo Finanzen. Es funktioniert mit Aktien, aber es gibt Fehler mit Rohstoffen.lesen waren in python mit yahoo finanzierung

Der folgende Code funktioniert perfekt:

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) 

Wenn Sie jedoch den Griff zu einer Ware statt einer Aktie, die Sie diesen Fehler zu ändern:

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' 

Kann mir jemand helfen?

+2

Geben Sie dies in den Browser ein, dann sehen Sie, warum 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

Antwort

0

Sie können YQL Console verwenden und versuchen, SQL zu verwenden, um die gewünschten Daten zu extrahieren.

Zum Beispiel versuche ich select * from yahoo.finance.historicaldata where symbol = "AAPL" and startDate = "2016-01-01" and endDate = "2017-01-22 und erfolgreich die Tabelle, die ich will.

Wenn ich "AAPL" durch "GCG17.CMX" ersetzen und ich nichts bekommen kann. Daher glaube ich nicht, dass die Bibliothek in Python wie Pandas und Yahoo_finance irgendwelche Probleme haben. Das Problem tritt auf der Yahoo-Seite auf.

Sie können versuchen, andere Datenbank wie Wharton-Datenservice usw. zu finden, um die gewünschte Tabelle zu erhalten. Hoffe, das kann helfen.

0

Sie erhalten einen Fehler, weil Yahoo Finance keine historischen Rohstoffpreise speichert.