Извлечение исторических данных с помощью FRED

В этом примере показано, как соединиться с FRED ®, получить исторические курсы иностранных валют и определить, когда произошел самый высокий курс.

Создайте соединение 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'

Закрытие соединения FRED

close(c)

См. также

| | | |