exponenta event banner

Моделирование экономики США

Этот пример иллюстрирует использование модели векторной коррекции ошибок (VEC) в качестве линейной альтернативы макроэкономической модели динамического стохастического общего равновесия (DSGE) Smets-Wouters и применяет многие методы Smets-Wouters к описанию экономики Соединенных Штатов.

Кроме того, в примере освещаются многие из наиболее заметных особенностей анализа нескольких временных рядов, обнаруженных в Econometrics Toolbox™, включая оценку, моделирование Монте-Карло, фильтрацию, прогнозирование и функциональные возможности импульсной характеристики. Пример также иллюстрирует, как определить ранг коинтеграции с использованием набора тестов коинтеграции Йохансена, а также наложение ограничений параметров во время оценки.

Модель Сметса-Ваутера ([11], [12], [13]) - нелинейная система уравнений в виде модели DSGE. Модели DSGE пытаются объяснить совокупное экономическое поведение, такое как рост, бизнес-циклы и последствия монетарной и фискальной политики, используя макроэкономические модели, основанные на микроэкономических принципах.

Модели DSGE являются динамическими; они изучают, как экономика меняется с течением времени. Модели DSGE также являются стохастическими; они учитывают последствия случайных потрясений, включая технологические изменения и колебания цен.

Поскольку модели DSGE начинаются с микроэкономических принципов ограниченного принятия решений, а не опираются на исторические корреляции, их труднее решить и проанализировать. Однако, поскольку они также основаны на предпочтениях экономических субъектов, модели DSGE являются естественным ориентиром для оценки последствий изменения политики.

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

В этом примере реализована традиционная модель линейного прогнозирования. Цель состоит не в воспроизведении результатов исходной модели DSGE Smets-Wouters и не в интерпретации их результатов. Скорее, этот пример иллюстрирует, как вы можете использовать функции Econometrics Toolbox для поддержки рабочего процесса, подобного процессу Smets и Wouters [13], используя те же макроэкономические временные ряды данных.

В этом примере используется модель векторной авторегрессии (VAR), также известная как модель векторной коррекции ошибок (VEC), которые поддерживаются различными функциями в Econometrics Toolbox. Эта описательная макроэкономическая модель является хорошей отправной точкой для изучения влияния различных потрясений на экономику Соединенных Штатов, особенно в период финансового кризиса 2008 года. Этот пример использует тесты Johansen cointegration и иллюстрирует функции оценки, моделирования, фильтрации и прогнозирования многомерных моделей временных рядов VAR и VEC в Econometrics Toolbox. В стиле Сметса и Ваутерса в этом примере моделируются те же 7 серий ответов: выпуск (ВВП), цены (дефлятор ВВП), заработная плата, отработанные часы, процентные ставки (федеральные фонды), потребление и инвестиции.

Кроме того, чтобы выделить манипуляции и управление квартальными данными экономических временных рядов, в этом примере используется timetable и datetime типы данных.

Получение экономических данных

Файл Data_USEconVECModel.mat содержит соответствующие экономические ряды, хранящиеся в двух расписаниях: FRED и CBO. FRED содержит образец, к которому подходит модель и который взят из Федеральной резервной экономической базы данных (FRED) [14] для периодов 1957: Q1 (31-Mar-1957) - 2016: Q4 (31 декабря-2016 ).CBO из Бюджетного управления Конгресса (CBO) [1] и содержит 10-летние экономические прогнозы для подмножества серии FRED. CBO находится в горизонте прогноза; этот пример использует наблюдения в нем для условного прогнозирования и моделирования за пределами последних данных FRED.

Используются следующие серии ответов:

FRED Series   Description
------------  ----------------------------------------------------------------------------
GDP           Gross Domestic Product (USD billions, Quarterly)
GDPDEF        Gross Domestic Product Implicit Price Deflator (Index 2009 = 100, Quarterly)
COE           Paid Compensation of Employees (USD billions, Quarterly)
HOANBS        Nonfarm Business Sector Hours of All Persons (Index 2009 = 100, Quarterly)
FEDFUNDS      Effective Federal Funds Rate (Annualized, Percent, Monthly)
PCEC          Personal Consumption Expenditures (USD billions, Quarterly)
GPDI          Gross Private Domestic Investment (USD billions, Quarterly)
load Data_USEconVECModel

Если у вас есть лицензия Datafeed Toolbox™, вы можете загрузить, синхронизировать и объединить последние экономические данные непосредственно из FRED, чтобы лучше понять более полный рабочий процесс. Чтобы загрузить самые последние данные непосредственно из FRED, пользователи Datafeed Toolbox могут выполнить следующую команду:

FRED = Example_USEconData;

FRED возвращает все данные в начале каждого периода. За исключением федеральных фондов, FRED возвращает ежеквартальные сезонно скорректированные серии в начале каждого квартала. Федеральные фонды представляются ежемесячно в начале каждого месяца. Поскольку в модели используется неявный дефлятор цен ВВП, в этом примере используются номинальные ряды.

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

Например, ФРЕД сообщает 2012: Q1 ВВП от 01-Jan-2012 и 2012: M3 Federal Funds от 01-Mar-2012. При синхронизации с общей периодичностью на конец квартала обе серии связаны с 31-Mar-2012, последним днем первого квартала 2012 года. Для любого года YYYY данные для Q1, Q2, Q3 и Q4 соответствуют 31-Mar-YYYY, 30-Jun-YYYY, 30-Sep-YYYY и 31-Dec-YYYY соответственно.

Преобразовать необработанные данные

Учитывая необработанные данные из FRED, преобразуйте серию, как в Smets and Wouters [13], в которой процентная ставка (FEDFUNDS) неизменен, в то время как остальные ряды, которые демонстрируют экспоненциальный рост, выражены как 100-кратный логарифм соответствующего сообщаемого значения. Для простоты сохраните одинаковые имена серий как для необработанных, так и для преобразованных данных.

Data = FRED;                        % Assign dates and raw data
Data.GDP = 100*log(FRED.GDP);       % GDP (output)
Data.GDPDEF = 100*log(FRED.GDPDEF); % GDP implicit price deflator
Data.COE = 100*log(FRED.COE);       % Compensation of employees (wages)
Data.HOANBS = 100*log(FRED.HOANBS); % Hours of all persons (hours)
Data.PCEC = 100*log(FRED.PCEC);     % Personal consumption expenditures (consumption)
Data.GPDI = 100*log(FRED.GPDI);     % Gross private domestic investment (investment)

Отображение данных модели

Чтобы изучить данные в модели, постройте графики каждой серии и наложите закрашенные полосы, чтобы определить периоды экономического спада, определенные Национальным бюро экономических исследований (NBER) [9]. recessionplot функция строит графики спадов, и этот пример включает спады в графические результаты, где это необходимо. recessionplot произвольно устанавливает середину месяца в качестве даты начала или окончания рецессии.

figure
subplot(2,2,1)
plot(Data.Time, [Data.GDP, Data.GDPDEF])
recessionplot
title('GDP & Price Deflator')
ylabel('Logarithm (x100)')
h = legend('GDP','GDPDEF','Location','Best');
h.Box = 'off';

subplot(2,2,2);
plot(Data.Time, [Data.PCEC Data.GPDI])
recessionplot
title('Consumption & Investment')
ylabel('Logarithm (x100)')
h = legend('PCEC','GPDI','Location','Best');
h.Box = 'off';

subplot(2,2,3)
plot(Data.Time, [Data.COE Data.HOANBS])
recessionplot
title('Wages & Hours')
ylabel('Logarithm (x100)')
h = legend('COE','HOANBS','Location','Best');
h.Box = 'off';

subplot(2,2,4)
plot(Data.Time, Data.FEDFUNDS)
recessionplot
title('Federal Funds')
ylabel('Percent')

Обрисовать подход к оценке

Спецификация соответствующей модели VEC может включать личный опыт и знакомство с данными, специальный анализ, передовую практику отрасли, нормативные мандаты и статистическую строгость. Кроме того, спецификация модели может применяться к метрикам в выборке, таким как информационные критерии AIC/BIC и производительность прогноза вне выборки. Хотя многие исследователи часто включают элементы всех этих метрик итеративным образом, сделать это здесь выходит за рамки примера.

Учитывая, что Smets и Wouters [13] подчеркивают эффективность прогнозирования вне выборки, этот пример не оценивает показатели благонадежности в выборке. Однако Econometrics Toolbox поддерживает такие оценки (например, см. aicbic).

Чтобы понять подход к спецификации в этом примере, полезно отметить, что оценка модели VEC выполняется в два этапа:

  1. Оцените отношения совместной интеграции. Это часто называют шагом Йохансена. Для нестационарных временных рядов - $Y_t$коинтегрирующий ранг (r) - количество независимых линейных комбинаций, для которых$Y_t$ является стационарным, и может быть свободно интерпретировано как число долгосрочных равновесных отношений в. $Y_t$Другими словами, хотя ряд компонентов в может быть$Y_t$ индивидуально нестационарным, различные линейные комбинации из них являются стационарными. Число стационарных независимых линейных комбинаций является рангом коинтегрирования, а соответствующие стационарные линейные комбинации - соотношениями коинтегрирования.

  2. Оцените модель VAR в различиях, используя отношения коинтегрирования первого шага в качестве предикторов. Поскольку включение предикторов добавляет регрессионный компонент к модели VAR, это часто называют шагом VARX.

Рабочий процесс для определения соответствующей модели VEC или совместно интегрированной модели VAR:

  • Определить длину запаздывания (P) модели. Независимо от того, предпочитаете ли вы форму VEC (P-1) в различиях$\Delta{Y}_t$ или форму VAR (P) в уровнях,$Y_t$ P представляет количество предварительных ответов, необходимых для инициализации модели.

  • Определите коинтеграционный ранг (r).

  • Определите модель коинтеграции, которая наилучшим образом фиксирует детерминированные термины данных.

В совокупности эта последовательность определяет отношения коинтегрирования и соответствует первому шагу двухэтапного подхода оценки.

Наложение дополнительной структуры на параметры модели VARX:

  • Оценка неограниченной модели VARX для использования в качестве базовой модели.

  • Определите и наложите подходящие ограничения на параметры модели VARX, включая константу, коэффициенты регрессии и коэффициенты авторегрессии.

Оценка модели VEC

Сначала укажите длину задержки (P) модели VEC (P-1). В этом примере используется простой подход и используется руководство Иогансена [4], стр. 4, и Юселия [5], стр. 72. Предположим, чтоP = 2 задержки достаточны для описания динамических взаимодействий между различными рядами.

Преимуществом низкого порядка запаздывания является простота модели. В частности, каждое дополнительное запаздывание неограниченной модели VEC требует оценки дополнительных параметров 7 * 7 = 49, поэтому низкий порядок запаздывания смягчает эффекты избыточной параметризации.

Оценка отношений объединения

Особенно важным шагом является определение ранга коинтеграции всех рядов одновременно, и для этого требуется модель коинтеграции. Поскольку данные явно демонстрируют временные тренды, изучите возможность того, что данные могут быть описаны с помощью любой из двух параметрических форм Йохансена, которые включают линейные временные тренды.

Более общей из двух форм является модель Йохансена H *, в которой компонент общей константы появляется как внутри $c_0$(), так и снаружи $c_1$() коинтегрирующих отношений, в то время как временной тренд $d_0$() ограничен коинтегрирующими отношениями:

$$
\Delta{Y}_t = A (B' Y_{t - 1} + c_0 + d_0t) + c_1 + \sum_{i = 1}^{p-1} \Gamma_i \Delta{Y}_{t - i} + \varepsilon_t
= (A c_0 + c_1) + A (B' Y_{t - 1} + d_0t) + \sum_{i = 1}^{p-1} \Gamma_i \Delta{Y}_{t - i} + \varepsilon_t.
$$

Поскольку компонент константы появляется внутри и вне коинтегрирующих соотношений, общая константа $c = A c_0 + c_1$() является неограниченной, и модель H * становится:

$$
\Delta{Y}_t = c + A (B' Y_{t - 1} + d_0t)+ \sum_{i = 1}^{p-1} \Gamma_i \Delta{Y}_{t - i} + \varepsilon_t.
$$

Важно отметить, что модель VEC выражается в различиях, $\Delta{Y}_t$и поэтому неограниченная постоянная () $c$представляет линейные тренды на соответствующих уровнях.$Y_t$

Вторая модель - модель Йохансена H1, в которой константа модели также является неограниченной, но коинтегрирующие отношения не содержат временного тренда:

$$
\Delta{Y}_t = A (B' Y_{t - 1} + c_0) + c_1 + \sum_{i = 1}^{p-1} \Gamma_i \Delta{Y}_{t - i} + \varepsilon_t
= (A c_0 + c_1) + A B' Y_{t - 1} + \sum_{i = 1}^{p-1} \Gamma_i \Delta{Y}_{t - i} + \varepsilon_t.
$$

Модель H1 подчеркивает неограниченный характер константы:

$$
\Delta{Y}_t = c + A B' Y_{t - 1} + \sum_{i = 1}^{p-1} \Gamma_i \Delta{Y}_{t - i} + \varepsilon_t.
$$

Обратите внимание, что модель H1 является ограниченной параметризацией модели H * в том смысле, что модель H1 накладывает дополнительнуюr ограничения на параметры неограниченной модели H *. В частности, H1 модели исключают временные тренды в коинтегрирующих соотношениях путем ограничения$d_0$ = 0. Эта ситуация может возникнуть, когда отношения коинтегрирования дрейфуют вдоль общего линейного тренда и наклон тренда является одинаковым для рядов с линейным трендом.

В обеих моделях ответы

$$
\textbf{Y}_t = \left[ \begin{array}{c}
GDP_t \\
GDPDEF_t \\
COE_t \\
HOANBS_t \\
FEDFUNDS_t \\
PCEC_t \\
GPDI_t \\
\end{array} \right]
$$

с инновациями

$$
\varepsilon_t \sim N(0,\Omega).
$$

Для определения коинтеграционного ранга (r), используйте функцию проверки гипотезы Йохансена jcitest, который реализует тест трассировки Йохансена по умолчанию.

jcitest возвращает индикатор логического решения (h) в котором h = 1 (true) указывает на отклонение нулевого коинтеграционного ранга (r) в пользу альтернативы и h = 0 (false) указывает на отказ отклонить значение null. Последующими выходами являются p-значение, статистика теста, критическое значение и оценки максимального правдоподобия параметров модели VEC для каждого проверенного ранга коинтегрирования. По умолчанию MATLAB ® отображает результаты теста в табличной форме.

P = 2;                % The number of VEC(P-1) model lags
Y = Data.Variables;   % Extract all data from the timetable for convenience
[h,pValue,stat,cValue,mleHstar] = jcitest(Y, 'lags', P-1, 'Model', 'H*');
[h,pValue,stat,cValue,mleH1] = jcitest(Y, 'lags', P-1, 'Model', 'H1');
************************
Results Summary (Test 1)

Data: Y
Effective sample size: 238
Model: H*
Lags: 1
Statistic: trace
Significance level: 0.05


r  h  stat      cValue   pValue   eigVal   
----------------------------------------
0  1  266.1410  150.5530 0.0010   0.3470  
1  1  164.7259  117.7103 0.0010   0.2217  
2  1  105.0660  88.8042  0.0028   0.1665  
3  0  61.7326   63.8766  0.0748   0.1323  
4  0  27.9494   42.9154  0.6336   0.0446  
5  0  17.0919   25.8723  0.4470   0.0379  
6  0  7.9062    12.5174  0.2927   0.0327  

************************
Results Summary (Test 1)

Data: Y
Effective sample size: 238
Model: H1
Lags: 1
Statistic: trace
Significance level: 0.05


r  h  stat      cValue   pValue   eigVal   
----------------------------------------
0  1  261.9245  125.6176 0.0010   0.3460  
1  1  160.8737  95.7541  0.0010   0.2212  
2  1  101.3621  69.8187  0.0010   0.1661  
3  1  58.1247   47.8564  0.0045   0.1323  
4  0  24.3440   29.7976  0.1866   0.0446  
5  0  13.4866   15.4948  0.0982   0.0340  
6  1  5.2631    3.8415   0.0219   0.0219  

Результаты H * теста показывают, что тест не может быть отклоненr = 3 коинтеграционный ранг на уровне значимости 5%, но не на уровне 10%, на котором r = 4 не может быть отклонено (см. p-значения в столбце 5). Для сравнения, тест H1 не может быть отклонен r = 4 коинтеграционный ранг на уровне 5%. Поэтому кажется, что r = 4 отношения коинтегрирования являются разумными.

Используя r = 4 в качестве ранга совместной интеграции, определите, какая из двух моделей лучше описывает данные, используя два подхода тестирования на основе отношения правдоподобия.

Первый подход выполняет тест отношения правдоподобия с использованием lratiotest функция, в которой модель H * является неограниченной моделью, а модель H1 является ограниченной моделью сr ограничения. Полученная статистика теста асимптотически, $\chi^2(r)$см. [8] стр. 342.

Использовать lratiotest, извлечь значения средств к существованию из оценочных моделей H * и H1, возвращенных jcitest для коинтеграционного ранга r = 4, а затем выполните тест отношения правдоподобия.

r = 4;                   % Cointegrating rank
uLogL = mleHstar.r4.rLL; % Loglikelihood of the unrestricted H* model for r = 4
rLogL = mleH1.r4.rLL;    % Loglikelihood of the restricted H1 model for r = 4

[h,pValue,stat,cValue] = lratiotest(uLogL, rLogL, r)
h =

  logical

   0


pValue =

    0.9618


stat =

    0.6111


cValue =

    9.4877

Тест не может отклонить модель ограниченного H1.

Второй подход также выполняет тест отношения правдоподобия, но проверяет пространство, охватываемое векторами в коинтегрирующих отношениях, используя jcontest функция. Следующий тест определяет, можно ли наложить нулевое ограничение (ограничение исключения) на коэффициент тренда$d_0$ модели H *. В частности, тест исключает временной тренд в коинтеграционных отношениях и накладывает ограничение на всю экономическую систему. По существу, он определяет, лежит ли вектор ограниченной коинтеграции в пространстве стационарности, охватываемом матрицей коинтеграции, см. [6] стр. 175-178.

Модель H * ограничивает линейный временной тренд коинтегрирующими соотношениями, и ее можно оценить, добавив дополнительную строку в матрицу коинтеграции. Это более очевидно, если переписать модель H * следующим образом:

$$
\Delta{Y}_t = c + A \left[\begin{array}{c} B' \ d_0 \end{array} \right]
\left[ \begin{array}{c} Y_{t - 1} \\ t \end{array} \right] + \sum_{i = 1}^{p-1} \Gamma_i \Delta{Y}_{t - i} + \varepsilon_t = c + A \left[\begin{array}{c} B \\ d_0' \end{array} \right]' \left[ \begin{array}{c} Y_{t - 1} \\ t \end{array} \right] + \sum_{i = 1}^{p-1} \Gamma_i \Delta{Y}_{t - i} + \varepsilon_t.
$$

Теперь отформатируйте матрицу ограничений (R) так, что

$$
R'\left[\begin{array}{c} B \\ d_0' \end{array} \right] = \left[\begin{array}{c} 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 1 \end{array} \right] \left[\begin{array}{c} B \\ d_0' \end{array} \right] = 0
$$

и провести тест с использованием jcontest.

R = [zeros(1,size(Y,2))  1]';  % Constraint matrix
[h,pValue,stat,cValue] = jcontest(Y,r,'BCon',R,'Model','H*','Lags',P-1)
h =

  logical

   0


pValue =

    0.9618


stat =

    0.6111


cValue =

    9.4877

jcontest и lratiotest результаты идентичны, то есть решения не отклоняют модель ограниченного H1.

Таким образом, результаты испытаний гипотезы предполагают, что разряд cointegrating равняется 4, и у модели есть H1 Йохансен параметрическая форма. Оценка коинтеграционных отношений завершена.

Оценка модели VARX в различиях

Модель VEC (1) можно выразить как модель VARX (1) в различиях, в которых отношения коинтегрирования являются предикторами$X_t = B'Y_{t - 1}$, а матрица корректировки $A$() является соответствующим коэффициентом регрессии:

$$
\Delta{Y}_t = c + A(B' Y_{t - 1}) + \Gamma_1 \Delta{Y}_{t - 1} +
\varepsilon_t = c + \Gamma_1 \Delta{Y}_{t - 1} + AX_t + \varepsilon_t.
$$

Для определения ограничений на параметры модели VARX важно понимать, что параметры коинтеграции Йохансена $B$(), оцененные на первом этапе, сходятся со скоростью, пропорциональной размеру выборки. $T$Следовательно, использование отношений коинтегрирования, полученных на первом этапе, в качестве предикторов на втором этапе не влияет на распределение параметров VARX второго этапа. Напротив, параметры VARX второго шага асимптотически распределены нормально и сходятся с обычной скоростью, $\sqrt{T}$и поэтому вы можете интерпретировать их t статистику обычным способом.

При работе с квартальными экономическими данными следует учитывать чрезмерную параметризацию модели относительно размера выборки, доступного для оценки. Это часть обоснования работы с низкой длиной запаздывания.

Оценка базовой модели с помощью estimate функция. Возвращает стандартные ошибки оценок параметров, чтобы можно было вычислить статистику t и использовать ее для дальнейшего ограничения предварительно оцененной базовой модели VEC (1).

[Mdl,se] = estimate(vecm(size(Y,2),r,P-1), Y, 'Model', 'H1');

Поскольку ошибки оценки параметров VARX распределены асимптотически нормально, можно смягчить эффект избыточной параметризации и улучшить производительность прогнозирования вне выборки, исключив (установив нулевое значение) все параметры VARX, которые имеют статистику t, которая меньше 2 по абсолютному значению.

Создание модели VEC той же параметрической формы, что и базовая модель Mdl, но наложить ограничения исключения на параметры VARX второго шага, которые включают в себя константу $c$(), матрицу короткого прогона $\Gamma_1$() и матрицу корректировки $A$(). Некоторые ссылки называют ограничения исключения ограничениями подмножества, которые являются частным случаем типа отдельных ограничений, поддерживаемых моделями VEC и VAR.

toFit = vecm(Mdl.NumSeries, Mdl.Rank, Mdl.P - 1);

toFit.Constant(abs(Mdl.Constant ./ se.Constant) < 2) = 0;
toFit.ShortRun{1}(abs(Mdl.ShortRun{1} ./ se.ShortRun{1}) < 2) = 0;
toFit.Adjustment(abs(Mdl.Adjustment ./ se.Adjustment) < 2) = 0;

Подгоните модель ограниченного H1, а затем постройте график взаимосвязей конечной модели для привязки.

Fit = estimate(toFit, Y, 'Model', 'H1');

B = [Fit.Cointegration ; Fit.CointegrationConstant' ; Fit.CointegrationTrend'];
figure
plot(Data.Time, [Y ones(size(Y,1),1) (-(Fit.P - 1):(size(Y,1) - Fit.P))'] * B)
recessionplot
title('Cointegrating Relations')

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

Анализ импульсной характеристики

При изменении экономических условий, особенно в ответ на политическое решение, можно оценить чувствительность системы с помощью анализа импульсной реакции.

Вычислить функцию импульсной реакции (IRF) номинального ВВП до шока с одним стандартным отклонением для каждой экономической переменной, используя armairf функция. По умолчанию armairf отображает ортогональную импульсную характеристику, в которой матрица остаточной ковариации ортогонализирована своей факторизацией Холеского. armairf функция также поддерживает обобщенный импульсный отклик Песарана и Шина [10], но для номинального ВВП результаты схожи по профилю.

armairf функция возвращает IRF в массиве 3-D. Каждая страница (третье измерение) фиксирует реакцию определенной переменной в пределах данного горизонта прогноза на шок с одним стандартным отклонением для всех переменных в системе. В частности, элемент t, j, k является реакцией переменной k в момент t в горизонте прогноза на инновационный шок к переменной j в момент 0. Столбцы и страницы соответствуют переменным ответа в данных, а t = 0, 1,... fh, где fh - длина горизонта прогноза.

Преобразование установленной модели VEC в ее объединенное представление VAR с помощью varm функция преобразования. Затем вычислите IRF за 40 кварталов (10 лет).

horizon = 40;

VAR = varm(Fit);
IRF = armairf(VAR.AR, {}, 'InnovCov',  VAR.Covariance, 'NumObs', horizon);

h = figure;
iSeries = 1;            % Column 1 is associated with GDP series
for i = 1:Mdl.NumSeries
    subplot(Mdl.NumSeries,1,i)
    plot(IRF(:,i,iSeries))
    title("GDP Impulse Response to " + Data.Properties.VariableNames(i))
end

screen = get(h,'Parent');
set(h,'Position',[h.Position(1) screen.MonitorPositions(4)*0.1 h.Position(3) screen.MonitorPositions(4)*0.8]);

Хотя предыдущие графики показывают импульсную реакцию в течение 10 лет, каждая реакция фактически приближается к стационарному асимптотическому уровню, указывающему на единичный корень и предполагающему, что потрясения являются постоянными и оказывают постоянное влияние на номинальный ВВП.

Расчет выбывших из выборки прогнозов и оценка точности прогноза

Чтобы проверить точность модели, итеративно вычислите прогнозы вне выборки. Проведите эксперимент, аналогичный предложенному Smets and Wouters [13], стр. 21-22:

  1. Оценка модели VEC за начальный 20-летний период выборки 1957:Q1 - 1976:Q4

  2. Спрогнозировать данные на 1, 2, 3 и 4 квартала в будущем.

  3. Повторно оцените модель за период 1957:Q1 - 1977:Q1, добавив данные следующего квартала к выборке, увеличив тем самым размер выборки, доступный для оценки.

  4. Повторите шаги 2 и 3, накапливая временные ряды прогнозов до конца выборки.

Y = Data;                   % Work directly with the timetable
T0 = datetime(1976,12,31);  % Initialize forecast origin (31-Dec-1976 = (1976,12,31) triplet)
T = T0;
horizon = 4;                % Forecast horizon in quarters (4 = 1 year)
numForecasts = numel(Y.Time(timerange(T,Y.Time(end),'closed'))) - horizon;
yForecast = nan(numForecasts, horizon, Mdl.NumSeries);

for t = 1:numForecasts
%
%   Get the end-of-quarter dates for the current forecast origin.
%
    quarterlyDates = timerange(Y.Time(1), T, 'closed');
%
%   Estimate the VEC model.
%
    Fit = estimate(toFit, Y{quarterlyDates,:}, 'Model', 'H1');
%
%   Forecast the model at each quarter out to the forecast horizon.
%
%   Store the forecasts for the current origin (T) as a 3-D array in which
%   the 1st page stores all forecasts for the 1st series (GDP), the 2nd page
%   stores all forecasts for the 2nd series (GDPDEF), and so forth. This
%   storage convention facilitates the access of data from the timetable
%   of forecasts created below.
%
    yForecast(t,:,:) = forecast(Fit, horizon, Y{quarterlyDates,:});
%
%   Update the forecast origin to include the data of the next quarter.
%
    T = dateshift(T, 'end', 'quarter', 'next');
end

Вычислите даты начала прогноза, общие для всех прогнозов в горизонте прогноза, и конкретные квартальные даты, к которым применяется каждый из прогнозов. Затем создайте расписание, общие временные метки которого (по каждой строке) являются датами каждого квартального источника прогноза. При каждом происхождении прогноза храните прогнозы каждой из 7 серий 1, 2, 3 и 4 кварталов в будущем, а также квартальные даты, на которые применяется каждый прогноз. График составлен таким образом, чтобы облегчить доступ к прогнозам того или иного экономического ряда.

originDates = dateshift(T0, 'end', 'quarter', (0:(numForecasts-1))');

forecastDates = NaT(numForecasts,horizon);
for i = 1:horizon
    forecastDates(:,i) = dateshift(originDates, 'end', 'quarter', i);
end

Forecast = timetable(forecastDates,'RowTimes',originDates, 'VariableNames', {'Times'});
for i = 1:size(Y,2)
    Forecast.(Y.Properties.VariableNames{i}) = yForecast(:,:,i);
end

Используя только что полученные итеративные прогнозы, оцените точность прогноза реального ВВП (номинальный ВВП за вычетом дефлятора цен ВВП), построив свои прогнозы и истинные отчетные значения на горизонте прогноза (4 квартала вперед). Также постройте график соответствующих ошибок прогноза.

forecastRealGDP = Forecast.GDP(:,4) - Forecast.GDPDEF(:,4);
realGDP = Y(Forecast.Times(:,4),:).GDP - Y(Forecast.Times(:,4),:).GDPDEF;

figure
subplot(2,1,1)
plot(Forecast.Times(:,4), forecastRealGDP, 'r')
hold on
plot(Forecast.Times(:,4), realGDP, 'b')
title('Real GDP vs. Forecast: 4-Quarters-Ahead')
ylabel('USD Billion')
recessionplot
h = legend('Forecast','Actual','Location','Best');
h.Box = 'off';

subplot(2,1,2)
plot(Forecast.Times(:,4), forecastRealGDP - realGDP)
title('Real GDP Forecast Error: 4-Quarters-Ahead')
ylabel('USD Billion')
recessionplot

Сюжеты показывают, что во время и вскоре после периодов экономического спада прогнозы ВВП, как правило, завышают истинный ВВП. В частности, следует отметить крупные положительные ошибки, допущенные после финансового кризиса 2008 года и в первой половине 2009 года.

Для справки, хотя на графиках не показаны ошибки прогноза модели без ограничений VARX без ограничений исключения, наложенных на постоянные, кратковременные и корректирующие параметры, ограниченные результаты на графиках представляют собой приблизительно 25-процентное снижение среднеквадратической ошибки (RMSE) реальных прогнозов ВВП.

Анализ финансового кризиса 2008 года: прогнозирование реального ВВП

Более подробно изучить прогнозы вблизи финансового кризиса 2008 года. В частности, изучите прогнозируемые показатели непосредственно перед кризисом, когда экономика переходит в рецессию, а затем снова сразу после кризиса по мере его восстановления. Для полноты изучите поведение прогноза с использованием самых последних данных.

В стиле Smets and Wouters [13] используйте 12-квартальный (3-летний) горизонт прогноза. В попытке включить прогнозы более чем одной серии, изучить реальный ВВП.

Оценка и прогноз реального ВВП на 12 кварталов в будущем с использованием данных на конец 2007 года, непосредственно перед ипотечным кризисом.

horizon = 12;  % 12 quarters = 3 years (Table 3 of Smets and Wouters <docid:econ_ug#mw_338db74a-1baa-4a34-88a3-849284bf115a>)

T = datetime(2007,12,31);  % Forecast origin just prior to the crisis (31-Dec-2007 = (2007,12,31) triplet)
Fit = estimate(toFit, Y{timerange(Y.Time(1),T,'closed'),:}, 'Model', 'H1');
[yForecast, yMSE] = forecast(Fit, horizon, Y{timerange(Y.Time(1),T,'closed'),:});

sigma = zeros(horizon,1);  % Forecast standard errors
for i = 1:horizon
    sigma(i) = sqrt(yMSE{i}(1,1) - 2*yMSE{i}(1,2) + yMSE{i}(2,2));
end

forecastDates = dateshift(T, 'end', 'quarter', 1:horizon);
figure
plot(forecastDates, (yForecast(:,1) - yForecast(:,2)) + sigma, '-.r')
hold on
plot(forecastDates,  yForecast(:,1) - yForecast(:,2), 'r')
plot(forecastDates, (yForecast(:,1) - yForecast(:,2)) - sigma, '-.r')
plot(forecastDates, Y(forecastDates,:).GDP - Y(forecastDates,:).GDPDEF, 'b')
title("Real GDP vs. 12-Q Forecast: Origin = " + string(T))
ylabel('USD Billion')
recessionplot
h = legend('Forecast +1\sigma', 'Forecast', 'Forecast -1\sigma', 'Actual', 'Location', 'Best');
h.Box = 'off';

Предполагаемая модель не может предвидеть резкого экономического спада. Учитывая масштабы кризиса, неспособность уловить масштабы рецессии, возможно, несколько неудивительна.

Оценка и прогноз реального ВВП на 12 кварталов в будущем с использованием данных до середины 2009 года, как раз после ипотечного кризиса.

T = datetime(2009,6,30);  % Forecast origin just after the crisis (30-Jun-2009 = (2009,6,30) triplet)
Fit = estimate(toFit, Y{timerange(Y.Time(1),T,'closed'),:}, 'Model', 'H1');
[yForecast, yMSE] = forecast(Fit, horizon, Y{timerange(Y.Time(1),T,'closed'),:});

sigma = zeros(horizon,1); % Forecast standard errors
for i = 1:horizon
    sigma(i) = sqrt(yMSE{i}(1,1) - 2*yMSE{i}(1,2) + yMSE{i}(2,2));
end

forecastDates = dateshift(T, 'end', 'quarter', 1:horizon);
figure
plot(forecastDates, (yForecast(:,1) - yForecast(:,2)) + sigma, '-.r')
hold on
plot(forecastDates,  yForecast(:,1) - yForecast(:,2), 'r')
plot(forecastDates, (yForecast(:,1) - yForecast(:,2)) - sigma, '-.r')
plot(forecastDates, Y(forecastDates,:).GDP - Y(forecastDates,:).GDPDEF, 'b')
title("Real GDP vs. 12-Q Forecast: Origin = " + string(T))
ylabel('USD Billion')
h = legend('Forecast +1\sigma', 'Forecast', 'Forecast -1\sigma', 'Actual', 'Location', 'Best');
h.Box = 'off';

Как только данные о спаде включены в оценку, прогнозы реального ВВП достаточно хорошо согласуются с истинными значениями. Хотя, за 2-летним прогнозным горизонтом, прогнозы по-прежнему представляют собой чрезмерно радужное восстановление экономики.

Наконец, включить последние имеющиеся посткризисные данные.

T = dateshift(Data.Time(end), 'end', 'quarter', -horizon);
Fit = estimate(toFit, Y{timerange(Y.Time(1),T,'closed'),:}, 'Model', 'H1');
[yForecast, yMSE] = forecast(Fit, horizon, Y{timerange(Y.Time(1),T,'closed'),:});

sigma = zeros(horizon,1);        % Forecast standard errors
for i = 1:horizon
    sigma(i) = sqrt(yMSE{i}(1,1) - 2*yMSE{i}(1,2) + yMSE{i}(2,2));
end

forecastDates = dateshift(T, 'end', 'quarter', 1:horizon);
figure
plot(forecastDates, (yForecast(:,1) - yForecast(:,2)) + sigma, '-.r')
hold on
plot(forecastDates,  yForecast(:,1) - yForecast(:,2), 'r')
plot(forecastDates, (yForecast(:,1) - yForecast(:,2)) - sigma, '-.r')
plot(forecastDates, Y(forecastDates,:).GDP - Y(forecastDates,:).GDPDEF, 'b')
title("Real GDP vs. 12-Q Forecast: Origin = " + string(T))
ylabel('USD Billion')
h = legend('Forecast +1\sigma', 'Forecast', 'Forecast -1\sigma', 'Actual', 'Location', 'Best');
h.Box = 'off';

Теперь, когда восстановление набрало определенные темпы и стабилизировалось, трехлетние прогнозы более тесно согласуются с истинными значениями.

Чувствительность подпроба: большая инфляция по сравнению с большой умеренностью

Для изучения стабильности и чувствительности анализа сравните результаты оценки, полученные из двух различных подвыборок.

Следуйте подходу, изложенному Сметсом и Ваутерсом [13], стр. 28-29, выполнив анализ чувствительности «что если», называемый контрафактным экспериментом. Изучить реакцию модели, адаптированной к данным за один период, на удары, полученные из модели, подогнанной над другим.

В частности, Сметс и Ваутерс идентифицируют период, заканчивающийся в 1979:Q2 с назначением Пола Волкера председателем Совета управляющих Федеральной резервной системы Великой инфляцией, и начиная 1984:Q1 с Великой Умеренностью. Разрыв между Великой инфляцией и Большой умеренностью, по-видимому, является переходным периодом и включает два спада в начале 1980-х годов.

Оцените модель VEC за период от 1957:Q1 до 1979:Q2, а затем снова от 1984:Q1 до последнего квартала, для которого доступны данные. Хотя одна и та же оценка модели предварительной оценки, выполненная для полной выборки, описанной выше, может быть повторена для каждой субпопулы, для простоты сохраняется одна и та же модель VEC и ограничения подмножества, использованные ранее.

T1 = datetime(1979,6,30);                     % Last quarter of Great Inflation (30-Jun-1979 = (1979,6,30) triplet)
Y1 = Y(timerange(Y.Time(1),T1,'closed'),:);   % Great Inflation data
[Fit1,~,~,E1] = estimate(toFit, Y1.Variables, 'Model', 'H1');

T2 = datetime(1984,3,31);                     % First quarter of Great Moderation (31-Mar-1984 = (1984,3,31) triplet)
Y2 = Y(timerange(T2,Y.Time(end),'closed'),:); % Great Moderation data
Fit2 = estimate(toFit, Y2.Variables, 'Model', 'H1');

Фильтрация выводимых остатков, полученных из первой субпосылки (Великая инфляция), по модели, полученной из самой последней субпопулы (Великая умеренность), с использованием filter функция.

Чтобы лучше сравнить отфильтрованные ответы, полученные ниже, с подобранными результатами Большой модерации, полученными выше, инициализируйте фильтр, используя первые P наблюдений подпроба Большой модерации. Другими словами, несмотря на то, что остаточные значения, выведенные из фильтра «Великая инфляция» через подгоняемую модель, полученную из Большой модерации, инициализируют фильтр, используя данные из начала Большой модерации.

YY = filter(Fit2, E1, 'Y0', Y2{1:Fit2.P,:}, 'Scale', false);
Y2 = Y2((Fit2.P + 1):(size(E1,1) + Fit2.P),:);  % Extract relevant data for convenient comparison
YY = array2timetable(YY, 'RowTimes', Y2.Time, 'VariableNames', Y.Properties.VariableNames);

Сравните реальные данные ВВП, представленные в ходе Великой умеренности, с данными, полученными путем фильтрации шоков от Великой инфляции через модель, подобранную Большой умеренности.

figure
plot(YY.Time, Y2.GDP - Y2.GDPDEF, 'b')
hold on
plot(YY.Time, YY.GDP - YY.GDPDEF, 'r')
title('Real GDP Sub-Sample Comparison')
ylabel('USD Billion')
recessionplot
h = legend('Reported Great Moderation Data', 'Filtered Great Inflation Residuals', 'Location', 'Best');
h.Box = 'off';

График предполагает, что отфильтрованные результаты более изменчивы, чем сообщенные данные Большой умеренности, наблюдение, отмеченное Smets и Wouters [13], стр. 30.

Только что выполненная фильтрация фильтрует остатки, полученные от большой инфляции, через модель, подогнанную к большой умеренности, но представляет собой только одну альтернативу в более широкой исторической структуре моделирования, фильтрации и прогнозирования.

Например, хотя анализ до настоящего времени касался главным образом ВВП, интересно отметить, что анализ также дает достаточно точное представление о других сериях, за исключением, возможно, краткосрочных процентных ставок (FEDFUNDS).

В рамках модели Smets-Wouters процентные ставки являются единственной серией, оставшейся нескорректированной. Кроме того, Smets и Wouters включают данные только до конца 2004 года, до ипотечного кризиса. В конце 2004 года краткосрочные процентные ставки уже были на низком уровне, но фактически приблизились к нулю в конце 2008 года, когда последовал финансовый кризис и начался спад. Хотя экономика восстановилась, процентные ставки оставались на исторически низком уровне в течение нескольких лет.

Учитывая, что модели VAR и VEC представляют собой линейные аппроксимации истинного, но неизвестного векторного процесса, зависимость которого захватывается многовариантным гауссовым распределением, неудивительно столкнуться с отрицательными процентными ставками. На самом деле, хотя ставки FEDFUNDS никогда не были отрицательными, известно, что другие краткосрочные процентные счета, особенно в Европе, обеспечивают отрицательную доходность.

Условное прогнозирование и моделирование

Условный анализ тесно связан со стресс-тестированием. В частности, значения подмножества переменных заранее определяются, часто подвергаются неблагоприятным условиям или экстремальным значениям, в попытке оценить влияние на остальные переменные в периоды экономического кризиса.

Один из подходов к моделированию экономических временных рядов при наличии почти нулевых процентных ставок заключается в выполнении условного прогноза и моделирования с использованием модели, адаптированной к Great Moderation для сбора последних данных.

В частности, анализ включает 10-летние экономические прогнозы, полученные от Бюджетного управления Конгресса (CBO) [1], которое публикует ежеквартальные прогнозы для следующего подмножества серии FRED:

CBO Series    Description
------------  -----------------------------------------------------------------
GDP           Gross Domestic Product (USD billions)
GDPDEF        Gross Domestic Product Implicit Price Deflator (Index 2009 = 100)
COE           Paid Compensation of Employees (USD billions)
TB3M          3-Month Treasury Bill Rate (Annualized, Percent)

Хотя 3-месячный Казначейский вексель и ставки FEDFUNDS не идентичны, в последние годы они фактически неразличимы. Так, Вы можете использовать 3-месячный уровень Казначейского векселя в качестве полномочия для уровня FEDFUNDS.

Чтобы получить условные прогнозы, создайте график, в котором прогнозы CBO отражают будущую эволюцию известных данных, на которых основаны неизвестные прогнозы. При форматировании расписания NaN значения указывают неизвестные (отсутствующие) прогнозы, обусловленные известной (отсутствующей) информацией.

Что касается серии FRED, все серии CBO, за исключением краткосрочной процентной ставки, преобразуются. Трансформируйте серию и сохраните ее в новом расписании (YF), который захватывает заранее известное подмножество серий и служит в качестве данных, на основе которых вычисляются оставшиеся прогнозы.

YF = CBO;                        % Assign the dates and raw data
YF.GDP = 100*log(CBO.GDP);       % GDP (output)
YF.GDPDEF = 100*log(CBO.GDPDEF); % GDP implicit prices deflator
YF.COE = 100*log(CBO.COE);       % Compensation of employees (wages)

Изучите последние 4 квартальных прогноза CBO и убедитесь, что отработанные часы (HOANBS), потребление (PCEC) и инвестиции (GPDI) отсутствуют (NaNs), поскольку CBO не публикует прогнозы для этих серий, в то время как ВВП, дефлятор ВВП (GDPDEF), компенсация (COE) и FED

YF(end-3:end,:)
ans =

  4x7 timetable

       Time         GDP      GDPDEF     COE      HOANBS    FEDFUNDS    PCEC    GPDI
    ___________    ______    ______    ______    ______    ________    ____    ____

    31-Mar-2027    1023.5     492.1    963.14     NaN        2.8       NaN     NaN 
    30-Jun-2027    1024.4     492.6    964.07     NaN        2.8       NaN     NaN 
    30-Sep-2027    1025.4    493.09    964.99     NaN        2.8       NaN     NaN 
    31-Dec-2027    1026.3    493.59    965.89     NaN        2.8       NaN     NaN 

Сравните прогнозы реального ВВП, полученные на основе прогнозов CBO, с прогнозами, полученными на основе условных прогнозов модели VEC. Чтобы прогнозировать номинальный ВВП условно, установите прогнозы CBO номинального ВВП в NaNs, чтобы указать на отсутствие информации о номинальном ВВП. Отображение последних 4 квартальных прогнозов.

YF.GDP(:) = NaN;
YF(end-3:end,:)
ans =

  4x7 timetable

       Time        GDP    GDPDEF     COE      HOANBS    FEDFUNDS    PCEC    GPDI
    ___________    ___    ______    ______    ______    ________    ____    ____

    31-Mar-2027    NaN     492.1    963.14     NaN        2.8       NaN     NaN 
    30-Jun-2027    NaN     492.6    964.07     NaN        2.8       NaN     NaN 
    30-Sep-2027    NaN    493.09    964.99     NaN        2.8       NaN     NaN 
    31-Dec-2027    NaN    493.59    965.89     NaN        2.8       NaN     NaN 

Извлечь квартальные прогнозы CBO после даты самых последних данных FRED и прогнозировать неизвестные серии, зависящие от прогнозов.

forecast функция преобразует модель VEC в эквивалентное представление состояния-пространства и выводит отсутствующие прогнозы с помощью фильтра Калмана. Отсутствующие значения становятся отфильтрованными состояниями, вычисленными как условное ожидание минимальной среднеквадратической ошибки (MMSE).

forecastQuarters = timerange(Y.Time(end),CBO.Time(end),'openleft');

YF = YF(forecastQuarters,:);
yForecast = forecast(Fit2, size(YF,1), Y.Variables, 'YF', YF.Variables);

yForecast = array2timetable(yForecast, 'RowTimes', YF.Time, 'VariableNames', Y.Properties.VariableNames);

Проверьте результаты, чтобы убедиться, что отсутствующие серии ВВП, HOANBS, PCEC и GPDI заполнены их условными прогнозами, в то время как серии GDPDEF, COE и FEDFUNDS, используемые для кондиционирования, не изменились.

yForecast(end-3:end,:)
ans =

  4x7 timetable

       Time         GDP      GDPDEF     COE      HOANBS    FEDFUNDS     PCEC      GPDI 
    ___________    ______    ______    ______    ______    ________    ______    ______

    31-Mar-2027    1024.1     492.1    963.14    488.27      2.8       987.67    837.48
    30-Jun-2027      1025     492.6    964.07    488.69      2.8        988.6    838.42
    30-Sep-2027    1025.9    493.09    964.99    489.05      2.8        989.5    838.98
    31-Dec-2027    1026.7    493.59    965.89     489.4      2.8       990.38    839.51

Сравните реальный ВВП, полученный из условных прогнозов, с ВВП, полученным из прогнозов CBO. Заметьте, что они соглашаются.

figure
plot(YF.Time, 100*log(CBO(forecastQuarters,:).GDP) - YF.GDPDEF, 'b')
hold on
plot(YF.Time, yForecast.GDP - yForecast.GDPDEF, 'r')
title('Real GDP Projection vs. Conditional Forecast')
ylabel('USD Billions')
h = legend('CBO Real GDP Projection', 'Real GDP Conditional Forecast', 'Location', 'Best');
h.Box = 'off';

Условный анализ не ограничивается только прогнозированием и также распространяется на моделирование. Учитывая структуру NaNs и не-NaNs, обнаруженных в YF, можно вычислить неизвестные значения путем выборки из условного многомерного гауссова распределения.

Смоделировать 1000 условных путей выборки с помощью simulate функция.

rng default
YY = simulate(Fit2, size(YF,1), 'Y0', Y.Variables, 'YF', YF.Variables, 'NumPaths', 1000);

Постройте график, например, первых 10 путей выборки реального ВВП.

figure
for i = 1:10
    plot(YF.Time, YY(:,1,i) - YY(:,2,i))
    hold on
end
title('Real GDP Sample Paths')
ylabel('USD Billion')

Сюжет предполагает, что распределение реального ВВП значительно варьируется в зависимости от времени, и поэтому другой метрикой интереса является распределение реального ВВП.

Постройте график эмпирической функции плотности вероятности (PDF) реального ВВП на 5 лет (20 кварталов) в будущем.

YY = permute(squeeze(YY(20,:,:)), [2 1]);
figure
histogram(YY(:,1) - YY(:,2), 'Normalization', 'pdf')
xlabel('Real GDP (USD Billion)')
title('5-Year-Ahead Density of Real GDP')

Ссылки

[1] Бюджетное управление Конгресса, бюджет и экономические данные, 10-летние экономические прогнозы, https://www.cbo.gov/about/products/budget-economic-data#4.

[2] Дель Негро, М., Шорфхайде, Ф., Сметс, Ф. и Ваутерс, Р. «О годности новых кейнсианских моделей». Журнал деловой и экономической статистики. Том 25, № 2, 2007, стр. 123-162.

[3] Гамильтон, Джеймс Д. Анализ временных рядов. Принстон, Нью-Джерси: Princeton University Press, 1994.

[4] Йохансен, С. Вывод на основе правдоподобия в коинтегрированных векторных авторегрессионных моделях. Oxford: Oxford University Press, 1995.

[5] Джуселиус, К. Коинтегрированная модель VAR. Oxford: Oxford University Press, 2006.

[6] Кимбалл, М. «Количественная аналитика базовой неомонетаристской модели». Журнал денег, кредитов и банковских операций, часть 2: Ликвидность, денежно-кредитная политика и финансовое посредничество. т. 27, № 4, 1995, с. 1241-1277.

[7] Люткеполь, Гельмут и Маркус Крациг, редакторы. Прикладная эконометрика временных рядов. 1-я редакция Cambridge University Press, 2004. https://doi.org/10.1017/CBO9780511606885.

[8] Люткеполь, Гельмут. Новое введение в анализ нескольких временных рядов. Нью-Йорк, Нью-Йорк: Спрингер-Верлаг, 2007.

[9] Национальное бюро экономических исследований (NBER), расширения и сокращения бизнес-цикла, https://www.nber.org/cycles/cyclesmain.html.

[10] Песаран, Х. Х. и Я. Шин. «Обобщенный анализ импульсной характеристики в линейных многомерных моделях». Экономические письма. Том 58, 1998, стр. 17-29.

[11] Сметс, Ф. и Ваутерс, Р. «Оценочная стохастическая динамическая модель общего равновесия зоны евро». Европейский центральный банк, серия рабочих документов. № 171, 2002.

[12] Сметс, Ф. и Ваутерс, Р. «Сравнение шоков и трений в бизнес-циклах США и еврозоны: байесовский подход DSGE». Европейский центральный банк, серия рабочих документов. № 391, 2004.

[13] Сметс, Ф. и Ваутерс, Р. «Потрясения и трения в бизнес-циклах США: байесовский подход DSGE». Европейский центральный банк, серия рабочих документов. № 722, 2007.

[14] Федеральная резервная система экономических данных США (FRED), Федеральный резервный банк Сент-Луиса, https://fred.stlouisfed.org/.