Как получить исторические данные по обменным курсам валют через 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)