it-swarm.com.de

Wie erhalte ich historische Daten für Wechselkurse über Yahoo Finance?

Ich muss eine JSON- oder XML-Antwort mit der Chronologie der Wechselkurse erhalten, z. B. von 2015-01-07 bis 2015-03-07.

Mit dieser Antwort können wir nur die neuesten Informationen zu den Wechselkursen für ausgewählte Währungen erhalten.

Hier können Sie die Wechselkurse für ein bestimmtes Datum unter Verwendung der URL abrufen: http://finance.yahoo.com/connection/currency-converter-cache?date=20150307 und Analysieren der erhaltenen JSON für eine bestimmte Währung.

Aber ich brauche Wechselkurse für den Datumsbereich, da es hier aber im JSON- oder XML-Format ist. 

Gibt es eine Möglichkeit, dies zu tun?

14
user3307869

Verwenden Sie YQL ( https://developer.yahoo.com/yql/ )

Dann können Sie die benötigten Daten mit einer Abfrage wie folgt abrufen:

SELECT * 
FROM 
    yahoo.finance.historicaldata 
WHERE 
    symbol = "EUR=X" 
AND 
    startDate = "2009-09-11" 
AND 
    endDate = "2010-03-10"

Überprüfe hier

12
dym

Hier ist eine Lösung, um Ihre Daten in einen Pandas DataFrame zu bringen. Sie können dann von DataFrame nach JSON, XML usw. exportieren, indem Sie Funktionen wie pandas.DataFrame.to_json verwenden.

Die Symbole können sich auch von den von Ihnen verwendeten unterscheiden.

import pandas as pd
import pandas_datareader.data as web
from datetime import datetime

start = datetime(2016, 1, 1)
end = datetime(2017, 3, 31)
aud = web.DataReader('AUD=X', 'yahoo', start, end)

In [29]: aud.head(5)
Out[29]: 
              Open    High     Low   Close  Volume  Adj Close
Date                                                         
2016-01-01  1.3752  1.3752  1.3752  1.3752       0     1.3752
2016-01-04  1.3725  1.3950  1.3712  1.3723       0     1.3723
2016-01-05  1.3921  1.4017  1.3857  1.3916       0     1.3916
2016-01-06  1.3963  1.4168  1.3941  1.3961       0     1.3961
2016-01-07  1.4124  1.4322  1.4109  1.4124       0     1.4124

Sie müssen pandas-datareader installieren. (Ich gehe davon aus, dass Sie bereits Pandas haben).

Sudo -H pip install pandas-datareader (ubuntu)
pip install pandas-datareader (windows)
2
dmdip

Yahoo API funktioniert nicht mehr, es gibt jedoch andere APIs, die Währungsdaten in einem JSON-Format bereitstellen. FXMarketAPI ist die einzige API, die eine Pandas-kompatible API bietet, die historische Daten in einem JSON-Format bereitstellt. Es gibt einen Pandas-Endpunkt, mit dem Sie Daten abrufen können. Es gibt jedoch ein Limit von 1000 Anfragen für kostenlose Benutzer. Sie können ein Beispiel unten sehen.

URL = "https://fxmarketapi.com/apipandas"
params = {'currency' : 'EURUSD',
'start_date' : '2018-07-02',
'end_date':'2018-12-06',
'api_key':'**************'}

response = requests.get("https://fxmarketapi.com/apipandas", params=params)
df= pd.read_json(response.text)

denken Sie daran, Zugang zu api_key zu erhalten und zur obigen Anfrage hinzuzufügen. 

0
jimmy rickard