Как получить исторические данные по обменным курсам валют через Yahoo Finance?

Мне нужно получить ответ JSON или XML с хронологией обменных курсов валют, например, с 2015-01-07 по 2015-03-07.

с ответ мы можем получить только самую последнюю информацию о валютных курсах для выбранных валют.

здесь мы можем получить курсы валют на определенную дату, используя URL-адрес: http://finance.yahoo.com/connection/currency-converter-cache?date=20150307 и разбор полученных JSON для определенной валюты.

но мне нужно получить курсы обмена валют для диапазона дат, как это здесь но в формате JSON или XML.

есть ли способ сделать это?

2 ответов


использовать YQL (https://developer.yahoo.com/yql/)

затем вы можете получить необходимые данные с помощью такого запроса:

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

регистрация здесь


вот решение для получения ваших данных в фрейм данных pandas. Затем вы можете экспортировать из фрейма данных в JSON, XML и т. д. использование таких функций, как панды.Фрейм данных.to_json.

символы также могут отличаться от тех, которые вы используете.

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

вам нужно будет установить pandas-datareader. (Я предполагаю, что у вас уже есть панды).

sudo -H pip install pandas-datareader (ubuntu)
pip install pandas-datareader (windows)