В этом примере показано, как соединиться с FRED ®, получить исторические курсы иностранных валют и определить, когда произошел самый высокий курс.
Подключитесь к серверу данных FRED с помощью URL- 'https://fred.stlouisfed.org/'
.
url = 'https://fred.stlouisfed.org/';
c = fred(url);
Измените формат отображаемых данных для валюты.
format bank
Извлечение всех исторических данных для серии валютных курсов США/евро. d содержит описание ряда.
series = 'DEXUSEU';
d = fetch(c,series)
d = struct with fields:
Title: ' U.S. / Euro Foreign Exchange Rate'
SeriesID: ' DEXUSEU'
Source: ' Board of Governors of the Federal Reserve System (US)'
Release: ' H.10 Foreign Exchange Rates'
SeasonalAdjustment: ' Not Seasonally Adjusted'
Frequency: ' Daily'
Units: ' U.S. Dollars to One Euro'
DateRange: ' 1999-01-04 to 2018-06-15'
LastUpdated: ' 2018-06-18 3:51 PM CDT'
Notes: ' Noon buying rates in New York City for cable transfers payable in foreign currencies.'
Data: [5075×2 double]
Отображение числового представления даты и валютного курса для первых трех строк данных.
d.Data(1:3,:)
ans = 3×2
730124.00 1.18
730125.00 1.18
730126.00 1.16
Получите исторические данные за период с 1 января по 1 июня 2012 года для серии курсов иностранных валют США/евро.
startdate = '01/01/2012'; % beginning of date range for historical data enddate = '06/01/2012'; % ending of date range for historical data d = fetch(c,series,startdate,enddate)
d = struct with fields:
Title: ' U.S. / Euro Foreign Exchange Rate'
SeriesID: ' DEXUSEU'
Source: ' Board of Governors of the Federal Reserve System (US)'
Release: ' H.10 Foreign Exchange Rates'
SeasonalAdjustment: ' Not Seasonally Adjusted'
Frequency: ' Daily'
Units: ' U.S. Dollars to One Euro'
DateRange: ' 1999-01-04 to 2018-06-15'
LastUpdated: ' 2018-06-18 3:51 PM CDT'
Notes: ' Noon buying rates in New York City for cable transfers payable in foreign currencies.'
Data: [110×2 double]
Определить наивысший курс иностранной валюты maxforex
в области значений дат. forex
содержит все валютные курсы в данных.
forex = d.Data(:,2); maxforex = max(forex)
maxforex = 1.35
Определить, когда произошел самый высокий курс иностранной валюты. Поиск индекса idx
для наивысшего курса иностранной валюты функция find
использует value допуска
. Получите серийный номер даты путем индексации в массив данных с помощью idx
. Преобразуйте серийный номер даты в вектор символов с помощью datestr
функция.
value = abs(forex-maxforex); idx = find(value<0.001,1); date = d.Data(idx,1); datestr(date)
ans = '24-Feb-2012'
close(c)