Примените методологию пространства состояний, чтобы анализировать модель кривой доходности Diebold-лития

В этом примере показано, как использовать модели в пространстве состояний (SSM) и Фильтр Калмана, чтобы анализировать Diebold-литий и макро-выражениями модели только для выражений [2] из ежемесячных временных рядов кривой доходности, выведенных из счетов Казначейства США и связей. Анализ включает оценку модели, симуляцию, сглаживание, прогнозирование и динамическую характеристику поведения путем применения функциональности Econometrics Toolbox™ SSM. Пример сравнивает эффективность оценки SSM с эффективностью более традиционных эконометрических методов оценки.

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

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

В этом примере вы создаете, соответствуете и анализируете модель кривой доходности при помощи Econometrics Toolbox функциональность SSM и этот рабочий процесс:

  1. Представляйте Diebold-литий модель только для выражений в параметрической форме модели в пространстве состояний, как поддержано Econometrics Toolbox функциональность SSM.

  2. Для модели только для выражений воспроизведите результаты оценки в выборке, опубликованные в [2], и сравните результаты, полученные с теми из двухступенчатого подхода, как опубликовано в [1].

  3. Для модели только для выражений вычислите прогнозы минимальной среднеквадратичной погрешности (MMSE) и покажите возможности симуляции Монте-Карло функциональности SSM.

  4. Оцените макро-выражениями Diebold-Li SSM, который интегрирует финансовые и макроэкономические факторы.

  5. Вычислите функции импульсной характеристики (IRF) и разложения отклонения ошибки прогноза (FEVD) в среде пространства состояний, которые характеризуют выражения к макросу и ссылки "макрос к выражениям".

  6. Оцените Diebold-Li SSM, увеличенный с внешними макроэкономическими переменными.

Модель кривой доходности Diebold-лития

Модель Диболда-Ли является вариантом модели [3] Нельсона-Сигеля, повторно параметрированной от исходной формулировки, чтобы содержать выражения только. Для даты наблюдения t и время к зрелости τ, Модель Диболда-Ли выражения yt(τ)

yt(τ)=Lt+St(1-e-λτλτ)+Ct(1-e-λτλτ-e-λτ),

где:

  • Lt долгосрочный фактор (уровень).

  • St краткосрочный фактор (наклон).

  • Ct среднесрочный фактор (искривление).

  • λ определяет зрелость, в которой загрузка на искривление максимизируется и управляет экспоненциальным уровнем затухания модели.

Формулировка пространства состояний модели Диболда-Ли

Econometrics Toolbox форма SSM

ssm объект Econometrics Toolbox позволяет вам задать линейную задачу в представлении пространства состояний. Чтобы выполнить следующие операции на SSM, передайте вас ssm объект, который представляет его соответствующей функции.

  • Оцените параметры модели наибольшим правдоподобием с помощью estimate.

  • Получите оптимальные прогнозы ненаблюдаемых (скрытых) состояний и наблюдаемых ответов при помощи forecast.

  • Получите сглаживавшие состояния обратной рекурсией с помощью smooth, и получите отфильтрованные состояния прямой рекурсией с помощью filter.

  • Симулируйте выборку путей скрытых состояний и наблюдаемых ответов для исследования Монте-Карло при помощи simulate.

  • Охарактеризуйте динамическое поведение модели путем вычисления IRF и FEVD при помощи irf и fevd.

Для вектора состояния xt и наблюдение (ответ) вектор yt, параметрическая форма Econometrics Toolbox, который SSM, имеет следующее линейное представление пространства состояний:

xt=Atxt-1+Btutyt=Ctxt+Dtεt,

где векторы ut и ϵt являются некоррелироваными, модульное отклонение, процессы белого шума. В SSM первое уравнение является уравнением состояния, и вторым является уравнение наблюдения. Параметры модели At, Bt, Ct, и Dt изменение состояния, загрузка воздействия состояния, чувствительность измерения и содействующие матрицы инноваций наблюдения, соответственно.

Несмотря на то, что функции SSM вмещают изменяющиеся во времени (динамические) параметры, параметры, значения которых и размерности могут измениться со временем в Модели Диболда-Ли, параметры независимые от времени (помехи).

Diebold-литий SSM только для выражений

Уровень, наклон и факторы искривления Модели Диболда-Ли следуют за векторным авторегрессивным процессом первого порядка (VAR (1)), который формирует систему в пространстве состояний. Diebold, Rudebusch и Aruoba [2] составляют вектор состояния с уровнем, наклоном и факторами искривления. Получившееся уравнение изменения состояния, которое управляет динамикой вектора состояния,

[Lt-μLSt-μSCt-μC]=[a11a12a13a21a22a23a31a32a33][Lt-1-μLSt-1-μSCt-1-μC]+[ηLtηStηCt],

где μj, j{L,S,C}, среднее значение фактора j. Соответствующее наблюдение (измерение) уравнение

[yτ1tyτ2tyτNt]=[11-e-λτ1λτ11-e-λτ1λτ1-e-λτ111-e-λτ2λτ21-e-λτ2λτ2-e-λτ211-e-λτNλτN1-e-λτNλτN-e-λτN][LtStCt]+[wτ1twτ2twτNt].

Модель Диболда-Ли имеет следующее матричное представление для 3-D вектора из настроенных средним значением факторов ft и наблюдаемые выражения yt:

(ft-μ)=A(ft-1-μ)+ηtyt=Λft+wt.

Модель Диболда-Ли налагает следующие предположения на воздействия фактора уравнения состояния ηt и инновации уравнения наблюдения (отклонения наблюдаемых выражений в различных сроках платежа) wt:

  • ηt и wt ортогональные, Гауссовы процессы белого шума, символически

[ηtwt]WN([00],[Q00H]).

  • Воздействия ηt одновременно коррелируются, который подразумевает что их ковариационная матрица Q является недиагональным.

  • Инновации в wt являются некоррелироваными, который подразумевает ковариационную матрицу H является диагональным.

Задайте скрытые состояния xt как настроенные средним значением факторы

xt=ft-μ,

и задайте настроенные точкой пересечения (выкачанные) выражения yt как

yt=yt-Λμ.

Замена xt и yt в предыдущие уравнения и получившуюся систему в пространстве состояний Diebold-лития

xt=Axt-1+ηtyt=Λxt+wt.

Сравните систему в пространстве состояний Diebold-лития с формулировкой, что Econometrics Toolbox поддержки функциональности SSM, который является

xt=Atxt-1+Btutyt=Ctxt+Dtεt.

Матрица коэффициентов изменения состояния A то же самое в обеих формулировках и матрица Модели Диболда-Ли Λ совпадает с матрицей коэффициентов чувствительности измерения C в формулировке SSM.

Отношение между воздействием и инновационными процессами является более тонким. Поскольку ηt=But и wt=Dεt, ковариации случайных переменных должны быть равными. В результате свойства линейного преобразования Гауссовых случайных векторов отношение между ковариациями воздействий и инноваций

Q=BBH=DD.

Чтобы подготовить Модель Диболда-Ли к Econometrics Toolbox функциональность SSM, используйте ssm функция, чтобы задать SSM; ssm возвращает ssm объект модели, представляющий модель. ssm функция позволяет вам создать модель, содержащую известные или неизвестные параметры; ssm объект, содержащий неизвестные параметры, является шаблоном для оценки. Можно или явным образом установить параметры, или можно задать пользовательскую функцию, которая неявно задает SSM.

Чтобы создать SSM явным образом, необходимо задать все содействующие матрицы A, B, C, и D. Чтобы указать на присутствие и размещение неизвестных значений параметров, задайте NaN значения. Каждый NaN запись соответствует уникальному параметру, чтобы оценить. Этот подход к созданию модели удобен, когда каждый параметр влияет и исключительно сопоставлен с одним элементом матрицы коэффициентов.

Чтобы создать SSM неявно, необходимо задать пользовательскую функцию отображения параметра к матрице, которая сопоставляет входной вектор параметра с параметрами модели A, B, C, и D. Функциональное содержимое задает формулировку модели. Этот подход к созданию модели полезен для сложных моделей или для внушительных ограничений параметра.

ssm объект не хранит ненулевые смещения переменных состояния или любые параметры, сопоставленные с компонентами регрессии, в уравнении наблюдения. Чтобы оценить коэффициенты компонента регрессии, необходимо выкачать наблюдения yt. Точно так же другой ssm функции ожидают выкачанный или предварительно обработанный, наблюдения с учетом любых смещений или компонента регрессии в уравнении наблюдения.

Поскольку Модель Диболда-Ли имеет следующие характеристики, которые невозможно задать явным образом, этот пример создает ssm возразите неявно.

  • Каждый включает Модель Диболда-Ли, включает ненулевое смещение (среднее значение), которое представляет компонент регрессии.

  • Модель налагает ограничение симметрии на ковариационную матрицу Q=BB и diagonality ограничение ковариационной матрицы H=DD.

  • Модель включает параметр уровня затухания λ.

Предыдущая формулировка пространства состояний не уникальна. Например, можно включать факторные смещения как состояния в уравнении состояния вместо дефляторов наблюдения. Преимущество дефляции наблюдения состоит в том, что размерность вектора состояния непосредственно соответствует 3-D факторной модели только для выражений Diebold, Rudebusch и Aruoba [2]. Недостаток - то, что оценка выполняется на выкачанных выражениях, и поэтому необходимо объяснить корректировку путем выкачивания и затем расширение, выражения, когда вы передаете предполагаемую модель другому ssm функции.

Загрузите данные о кривой доходности

Данные о выражении состоят из 29 лет ежемесячного, не сглаживавшего Fama-счастья измерения выражения нулевого купона Казначейства США, как анализируется и обсуждено в [1] и [2]. Временные ряды в данных представляют сроки платежа 3, 6, 9, 12, 15, 18, 21, 24, 30, 36, 48, 60, 72, 84, 96, 108, и 120 месяцев. Выражения описаны в проценте и зарегистрированы в конце каждого месяца, начав январь 1972 и конечный декабрь 2000, для в общей сложности 348 ежемесячных кривых 17 сроков платежа каждый. Например, метка времени 31 января 1972 соответствует началу февраля 1972. Можно получить доступ к целому не сглаживавшему набору данных кривой доходности Fama-счастья, подмножество которого анализируется в [1] и [2] в https://www.sas.upenn.edu/~fdiebold/papers/paper49/FBFITTED.txt.

Этот пример использует целый набор данных Diebold-лития Data_DieboldLi.mat воспроизвести результаты оценки опубликовало в [2], и это сравнивает результаты подходов SSM и тустепа. В качестве альтернативы можно анализировать точность прогноза моделей, деля данные в периоды из выборки и в выборке, и затем подбирая модели к бывшему набору и оценивая эффективность прогноза предполагаемых моделей с помощью последнего набора. Для получения дополнительной информации об оценке точности прогноза Моделей Диболда-Ли см. Таблицы 4 - 6 в [1].

Загрузите набор данных Diebold-лития, и затем извлеките ряд выражения.

load Data_DieboldLi
maturities = maturities(:);  % Cast to a column vector
Yields = DataTable{:,1:17};  % In-sample yield series for estimation
dates = DataTable.Time;      % Date stamps

Оцените модель Диболда-Ли только для выражений Используя двухступенчатый метод

Диболд и Ли [1] оценивают параметры их модели кривой доходности при помощи двухступенчатого подхода:

  1. Исправление λ, и затем, для каждой ежемесячной кривой доходности, оценивают уровень, наклон и параметры искривления. Результатом являются 3-D временные ряды оценок ненаблюдаемого уровня, наклона и факторов искривления.

  2. Подбирайте авторегрессивную модель первого порядка к временным рядам факторов, выведенных в первом шаге.

Путем фиксации λ, процедура оценки является обычными наименьшими квадратами (OLS). В противном случае процедура оценки является нелинейным методом наименьших квадратов. Наборы среды Нельсона-Сигеля λ = 0.0609 [3], который подразумевает, что загрузка на искривление (среднесрочный фактор) максимизируется в 30 месяцев.

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

Первый шаг приравнивает эти три фактора (уровень, наклон и искривление) к коэффициентам регрессии, полученным OLS, и это накапливает 3-D временные ряды предполагаемых факторов путем повторения пригодного OLS для каждой наблюдаемой кривой доходности.

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

yj=L+1-eλτjλτjS+(1-eλτjλτj-eλτj)C, j={3,6,9,...,120}.

Сохраните коэффициенты регрессии и остаточные значения линейной подгонки модели.

lambda0 = 0.0609;
X = [ones(size(maturities)) (1-exp(-lambda0*maturities))./(lambda0*maturities) ...
    ((1-exp(-lambda0*maturities))./(lambda0*maturities)-exp(-lambda0*maturities))];

Beta = zeros(size(Yields,1),3);
Residuals = zeros(size(Yields,1),numel(maturities));

for i = 1:size(Yields,1)
    EstMdlOLS = fitlm(X,Yields(i,:)','Intercept',false);
    Beta(i,:) = EstMdlOLS.Coefficients.Estimate';
    Residuals(i,:) = EstMdlOLS.Residuals.Raw';
end

Beta содержит 3-D временные ряды предполагаемых факторов.

Подбирайте авторегрессивную модель (AR) первого порядка к временным рядам предполагаемых факторов. Можно выполнить эту задачу двумя способами:

  • Подбирайте одномерную модель AR (1) к каждому фактору отдельно, как в [1].

  • Подбирайте модель VAR (1) ко всем 3 факторам одновременно, как в [2].

Econometrics Toolbox поддерживает одномерную и многомерную оценку AR.

Подбирайте модель VAR (1) к предполагаемым факторам. Для непротиворечивости с формулировкой SSM, которая работает с настроенными средним значением факторами, включают аддитивную постоянную с учетом среднего значения каждого фактора.

MdlVAR = varm(3,1);
EstMdlVAR = estimate(MdlVAR,Beta);

EstMdlVAR varm объект модели, представляющий предполагаемый VAR (1) факторная модель.

Оценка Diebold-лития SSM только для выражений

Затем оцените Модель Диболда-Ли с помощью неявного подхода, в котором вы создаете и задаете функцию отображения параметра к матрице.

Функция отображения Example_DieboldLi.m сопоставляет вектор параметра с матрицами параметра SSM, выкачивает наблюдения с учетом средних значений каждого фактора и налагает ограничения на ковариационные матрицы. Для получения дополнительной информации, открытый Example_DieboldLi.m.

Создайте SSM путем передачи к ssm, параметр к матрице, сопоставляющий функциональный Example_DieboldLi как анонимная функция с входным параметром, представляющим вектор параметра params. Дополнительные входные параметры функции отображения задают выражение и информацию о зрелости статически, которые инициализируют модель для оценки.

Mdl = ssm(@(params)Example_DieboldLi(params,Yields,maturities));

Mdl ssm объект модели, представляющий SSM, описывается в Example_DieboldLi. Модель является только шаблоном для оценки.

Оценка наибольшего правдоподобия (MLE) SSM через Фильтр Калмана, как широко известно, чувствительна к начальным значениям параметров. Поэтому этот пример использует результаты двухступенчатого подхода инициализировать оценку.

Необходимо передать начальные значения, требуемые estimate как вектор-столбец. Создайте вектор начального значения путем выполнения следующей процедуры:

  1. Задайте начальное значение для матрицы коэффициентов A путем укладки предполагаемой 3х3 матрицы коэффициентов AR модели VAR (1) по столбцам.

  2. Для начального значения матрицы коэффициентов B, 3х3 ковариационная матрица Q инновационная ковариационная матрица модели VAR (1) и Q=BB. Поэтому оценка B более низкий Фактор Холецкого Q. Гарантировать это Q симметрично, положительный определенный, и допускает ненулевые недиагональные ковариации, выделите эти шесть элементов, сопоставленных с более низким Фактором Холецкого Q. Другими словами, эта спецификация принимает что ковариационная матрица Q является недиагональным, но это резервирует пробел для элементов ниже диагонали более низкого Фактора Холецкого ковариационной матрицы так, чтобы Q=BB. Расположите начальное значение вперед и ниже основной диагонали путем укладки матрицы по столбцам.

  3. Поскольку ковариационная матрица H в Diebold-литии формулировка является диагональной и H=DD, матрица D из SSM является диагональным. Задайте начальное значение D как квадратный корень из диагональных элементов матрицы выборочной ковариации остаточных значений модели VAR (1), один элемент для каждых из этих 17 сроков платежа во входе дает к данным. Сложите начальное значение по столбцам.

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

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

  6. Сложите все начальные значения в порядке A0, B0, D0, μ0, и λ.

A0 = EstMdlVAR.AR{1};      
A0 = A0(:);                
Q0 = EstMdlVAR.Covariance; 
B0 = [sqrt(Q0(1,1)); 0; 0; sqrt(Q0(2,2)); 0; sqrt(Q0(3,3))];
H0 = cov(Residuals);       
D0 = sqrt(diag(H0));       
mu0 = mean(Beta)';
param0 = [A0; B0; D0; mu0; lambda0];

Чтобы упростить оценку, установите опции оптимизации. Оцените модель путем передачи ssm шаблон Mdl модели, данные о выражении, начальные значения и опции оптимизации к estimate. Выключите отображения оценки. Поскольку ковариационная матрица H=DD является диагональным, задайте одномерную обработку многомерного ряда, чтобы улучшать производительность времени выполнения оценки. Фильтр Калмана обрабатывает наблюдения с векторным знаком по одному.

options = optimoptions('fminunc','MaxFunEvals',25000,'algorithm','quasi-newton', ...
    'TolFun',1e-8,'TolX',1e-8,'MaxIter',1000,'Display','off');

[EstMdlSSM,params] = estimate(Mdl,Yields,param0,'Display','off', ...
    'options',options,'Univariate',true);

lambda = params(end);        % Estimated decay rate    
mu = params(end-3:end-1)';   % Estimated factor means

EstMdlSSM ssm объект модели, представляющий предполагаемый Diebold-Li SSM. Процедура оценки применяет Фильтр Калмана.

Сравните результаты оценки

Предполагаемые параметры

Сравнение результатов двухступенчатого метода оценки и подгонки SSM помогает вам изучить следующие характеристики:

  • Как тесно результаты двух подходов соглашаются

  • Насколько подходящий двухступенчатые результаты оценки как начальные значения параметров для оценки SSM

Визуально сравните предполагаемую матрицу Грина A из SSM с AR (1) матрица коэффициентов получена из модели VAR.

EstMdlSSM.A
ans = 3×3

    0.9944    0.0286   -0.0221
   -0.0290    0.9391    0.0396
    0.0253    0.0229    0.8415

EstMdlVAR.AR{1}
ans = 3×3

    0.9901    0.0250   -0.0023
   -0.0281    0.9426    0.0287
    0.0518    0.0125    0.7881

Предполагаемые коэффициенты тесно соглашаются. Диагональные элементы - почти 1, который указывает на персистентную самодинамику каждого фактора. Недиагональные элементы - почти 0, указывая на слабую перекрестную факторную динамику.

Затем исследуйте матрицу загрузки воздействия состояния B. Визуально сравните соответствующую предполагаемую инновационную ковариационную матрицу Q=BB от обоих методов оценки.

EstMdlSSM.B
ans = 3×3

    0.3076         0         0
   -0.0453    0.6170         0
    0.1421    0.0255    0.8824

QSSM = EstMdlSSM.B*EstMdlSSM.B'
QSSM = 3×3

    0.0946   -0.0139    0.0437
   -0.0139    0.3827    0.0093
    0.0437    0.0093    0.7995

QVAR = EstMdlVAR.Covariance
QVAR = 3×3

    0.1149   -0.0266   -0.0719
   -0.0266    0.3943    0.0140
   -0.0719    0.0140    1.2152

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

Теперь сравните факторные средние значения от методов оценки.

mu   % SSM factor means
mu = 1×3

    8.0246   -1.4423   -0.4189

mu0' % Two-step factor means
ans = 1×3

    8.3454   -1.5724    0.2030

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

Выведенные факторы

Ненаблюдаемый уровень, наклон и факторы искривления (скрытые состояния) Модели Диболда-Ли являются неотъемлемой частью прогнозирования эволюции будущих кривых доходности. В этой части примера вы исследуете состояния, выведенные из каждого метода оценки.

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

В методе SSM, smooth функционируйте реализует назад сглаживание алгоритма Фильтра Калмана: для t=1,...,T, сглаживавшие состояния

E(xt|yT,...,y1).

Среда SSM составляет корректировки смещения наблюдаемых выражений во время оценки, как задано в функции отображения параметра к матрице. А именно, функция отображения выкачивает исходные наблюдения, и поэтому estimate функция работает с настроенными смещением выражениями yt=yt-Λμ вместо исходных выражений yt. Предполагаемый EstMdlSSM SSM не хранит данные, и поэтому это - агностик любых корректировок, внесенных в исходные выражения. Поэтому, когда вы вызываете другие функции SSM, такие как filter или smooth, необходимо правильно объяснить любые смещения или компонент регрессии, сопоставленный с предикторами, которые вы включаете в уравнение наблюдения.

Выведите скрытые факторы, при соответствующем объяснении смещений, путем выполнения этой процедуры:

  1. Выкачать yt путем вычитания точки пересечения сопоставлен с предполагаемым смещением Cμ=Λμ. Это действие компенсирует корректировку смещения, которая произошла во время оценки.

  2. Передайте предполагаемый EstMdlSSM SSM и выкачанные выражения yt к smooth. Получившиеся сглаживавшие оценки состояния соответствуют выкачанным выражениям.

  3. Настройте выкачанные, сглаживавшие оценки состояния путем добавления предполагаемого среднего значения μ к факторам. Это действие приводит к оценкам неприспособленных скрытых факторов.

intercept = EstMdlSSM.C*mu';
DeflatedYields = Yields - intercept';
DeflatedStates = smooth(EstMdlSSM,DeflatedYields);
EstimatedStates = DeflatedStates + mu;

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

plot(dates, [Beta(:,1) EstimatedStates(:,1)])
title('Level (Long-Term Factor)')
ylabel('Percent')
legend({'Two-step','SSM'},'Location','best')

Figure contains an axes object. The axes object with title Level (Long-Term Factor) contains 2 objects of type line. These objects represent Two-step, SSM.

plot(dates, [Beta(:,2) EstimatedStates(:,2)])
title('Slope (Short-Term Factor)')
ylabel('Percent')
legend({'Two-step','SSM'},'Location','best')

Figure contains an axes object. The axes object with title Slope (Short-Term Factor) contains 2 objects of type line. These objects represent Two-step, SSM.

plot(dates, [Beta(:,3) EstimatedStates(:,3)])
title('Curvature (Medium-Term Factor)')
ylabel('Percent')
legend({'Two-step','SSM'},'Location','best')

Figure contains an axes object. The axes object with title Curvature (Medium-Term Factor) contains 2 objects of type line. These objects represent Two-step, SSM.

Уровень и наклон тесно соглашаются. Шаблоны, которые согласовывает оценочная форма искривления, но значения немного выключены.

Затем отобразите предполагаемый параметр уровня затухания λ сопоставленный с искривлением.

lambda  % SSM decay rate
lambda = 0.0778

Предполагаемый параметр уровня затухания несколько больше, чем значение, используемое двухступенчатым методом оценки, который является 0.0609. λ определяет зрелость, в которой максимизируется загрузка на искривление. Двухступенчатый метод оценки фиксирует λ в 0,0609, который отражает решение максимизировать загрузку искривления точно в 2,5 года (30 месяцев). В отличие от этого SSM оценивает, что максимальная загрузка искривления происходит во всего меньше чем 2 года (23,1 месяца).

Видеть эффекты λ на загрузке искривления постройте загрузку искривления относительно зрелости для каждого значения λ.

tau = 0:(1/12):max(maturities);    % Maturity (months)
decay = [lambda0 lambda];
Loading = zeros(numel(tau), 2);

for i = 1:numel(tau)
    Loading(i,:) = ((1-exp(-decay*tau(i)))./(decay*tau(i))-exp(-decay*tau(i))); 
end

figure
plot(tau,Loading)
title('Loading on Curvature (Medium-Term Factor)')
xlabel('Maturity (Months)')
ylabel('Curvature Loading')
legend({'\lambda = 0.0609', ['\lambda = ' num2str(lambda)],},'Location','best')

Figure contains an axes object. The axes object with title Loading on Curvature (Medium-Term Factor) contains 2 objects of type line. These objects represent \lambda = 0.0609, \lambda = 0.077764.

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

Сводные данные остаточных значений

Сравните средние значения и стандартные отклонения остаточных значений уравнения наблюдения между этими двумя методами оценки, как в Таблице 2 [2]. В ссылке, матрице факторных нагрузок Λ матрица чувствительности измерения состояния C из формулировки SSM. Опишите результаты в пунктах (бит/с). Этот пример использует пользовательские функции для целей отображения. Для получения дополнительной информации смотрите Поддерживающие Функции.

ResidualsSSM = Yields - EstimatedStates*EstMdlSSM.C';
Residuals2Step = Yields - Beta*X';

residualMeanSSM = 100*mean(ResidualsSSM)';
residualStdSSM = 100*std(ResidualsSSM)';
residualMean2Step = 100*mean(Residuals2Step)';
residualStd2Step = 100*std(Residuals2Step)';

compareresiduals(maturities,residualMeanSSM, ...
    residualStdSSM,"  State-Space Model  ",residualMean2Step, ...
    residualStd2Step,"   Two-Step   ")
  -------------------------------------------------
              State-Space Model       Two-Step   
            -------------------  ------------------
                       Standard            Standard
  Maturity    Mean    Deviation    Mean   Deviation
  (Months)   (bps)      (bps)     (bps)     (bps)  
  --------  --------  ---------  -------  ---------
    3.0000  -12.6440   22.3639   -7.3922   14.1709
    6.0000   -1.3392    5.0715    2.1914    7.2895
    9.0000    0.4922    8.1084    2.7173   11.4923
   12.0000    1.3059    9.8672    2.5472   11.1200
   15.0000    3.7130    8.7073    4.2189    9.0558
   18.0000    3.5893    7.2946    3.5515    7.6721
   21.0000    3.2308    6.5112    2.7968    7.2221
   24.0000   -1.3996    6.3890   -2.1168    7.0764
   30.0000   -2.6479    6.0614   -3.6923    7.0129
   36.0000   -3.2411    6.5915   -4.4095    7.2674
   48.0000   -1.8508    9.7019   -2.9761   10.6242
   60.0000   -3.2857    8.0349   -4.2314    9.0296
   72.0000    1.9737    9.1370    1.2238   10.3745
   84.0000    0.6935   10.3689    0.1196    9.8012
   96.0000    3.4873    9.0440    3.0626    9.1220
  108.0000    4.1940   13.6422    3.8936   11.7942
  120.0000   -1.3074   16.4545   -1.5043   13.3544

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

Предскажите предполагаемый SSM

Предсказывать предполагаемый EstMdlSSM SSM, вами реализуют прогнозирование минимальной среднеквадратичной погрешности (MMSE) и методы симуляции Монте-Карло, которые поддерживает функциональность SSM.

Поскольку Модель Диболда-Ли зависит только от предполагаемых факторов, вы предсказываете кривую доходности путем прогнозирования каждого фактора. Кроме того, потому что предполагаемый SSM основан на выражениях смещения, необходимо компенсировать корректировку смещения при прогнозировании или симуляции модели, как описано в Выведенных Факторах.

Детерминированные прогнозы MMSE

Вычислите прогнозы MMSE путем выполнения следующих действий:

  1. Передайте EstMdlSSM и выкачанные выражения yt к forecast функция. forecast возвращает прогнозы MMSE выкачанных выражений 1,2..., 12 месяцев в будущее.

  2. Вычислите предсказанные выражения путем добавления предполагаемого смещения Cμ к выкачанным, предсказанным выражениям.

fh = 12;   % Forecast horizon (months)

[ForecastedDeflatedYields,FMSE] = forecast(EstMdlSSM,fh,DeflatedYields);
MMSEForecasts = ForecastedDeflatedYields + intercept';

Предсказанные кривые доходности MMSEForecasts 12 17 матрица; каждая строка соответствует периоду в горизонте прогноза, и каждый столбец соответствует зрелости.

Прогнозы Монте-Карло

Преимущество прогноза Монте-Карло по прогнозам MMSE состоит в том, что можно использовать большую выборку, полученную Методом Монте-Карло, чтобы изучить характеристики распределения прогноза.

Чтобы предсказать кривые доходности путем выполнения симуляции Монте-Карло, выполните эту общую процедуру:

  1. Получите факторные оценки и их ковариационную матрицу в период T, который является концом в выборочных данных и последнего периода, прежде чем горизонт прогноза запустится, чтобы инициализировать симуляцию Монте-Карло. Такие значения гарантируют, что симуляция начинается с последней доступной информации. Оценки и ковариационная матрица соответствуют выкачанным выражениям. Задайте начальные значения в предполагаемом ssm объект модели.

  2. Для всех сроков платежа вовлеките много демонстрационных путей выкачанных выражений в горизонт прогноза.

  3. Раздуйте симулированные, выкачанные выражения.

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

Получите период T факторные оценки и их ковариационная матрица путем передачи оценили EstMdlSSM SSM и выкачанные выражения yt к smooth и возвратите массив структуры output, содержащий все оценки и ковариации периодом. Извлеките итоговый элемент полей, соответствующих сглаживавшим оценкам.

[~,~,results] = smooth(EstMdlSSM,DeflatedYields);
Mean0 = results(end).SmoothedStates;
Cov0 = results(end).SmoothedStatesCov;              
Cov0 = (Cov0 + Cov0')/2;                % Ensure covariance is symmetric

results isa T- 1 массив структур, содержащий различные сглаживавшие оценки и выводы. Поскольку извлеченное среднее значение состояния и ковариация происходят в конце набора исторических данных, можно альтернативно использовать filter функция, вместо smooth, получить эквивалентные значения начального состояния, от которых можно предсказать.

Установите среднее значение начального состояния Mean0 и ковариация Cov0 свойства EstMdlSSM SSM к соответствующим сглаживавшим оценкам.

EstMdlSSM.Mean0 = Mean0;    % Initial state mean
EstMdlSSM.Cov0 = Cov0;      % Initial state covariance

Чертите 100 000 демонстрационных путей выкачанных выражений от предполагаемого SSM в горизонт прогноза. Раздуйте симулированные, выкачанные выражения.

rng('default') % For reproducibility
numPaths = 100000;
SimulatedDeflatedYields = simulate(EstMdlSSM,fh,numPaths);
SimulatedYields = SimulatedDeflatedYields + intercept';

SimulatedYields 12 17 100 000 числовых массивов:

  • Каждая строка является периодом в горизонте прогноза.

  • Каждый столбец является зрелостью.

  • Каждая страница является случайной ничьей от распределения прогноза. Другими словами, каждая страница представляет будущую эволюцию симулированной кривой доходности по 12-месячному горизонту прогноза.

Вычислите демонстрационные средние значения, и стандартные отклонения по этим 100,000 чертит.

MCForecasts = mean(SimulatedYields,3);
MCStandardErrors = std(SimulatedYields,[],3);

MCForecasts и MCStandardErrors аналоги симуляции Монте-Карло прогнозов MMSE MMSEForecasts и стандартные погрешности FMSE, соответственно.

Визуально сравните MMSE и прогнозы симуляции Монте-Карло и соответствующие стандартные погрешности.

figure
plot(maturities,[MCForecasts(fh,:)' MMSEForecasts(fh,:)'])
title('12-Month-Ahead Forecasts: Monte Carlo vs. MMSE')
xlabel('Maturity (Months)')
ylabel('Percent')
legend({'Monte Carlo','MMSE'},'Location','best')

Figure contains an axes object. The axes object with title 12-Month-Ahead Forecasts: Monte Carlo vs. MMSE contains 2 objects of type line. These objects represent Monte Carlo, MMSE.

figure
plot(maturities,[MCStandardErrors(fh,:)' sqrt(FMSE(fh,:))'])
title('12-Month-Ahead Forecast Standard Errors: Monte Carlo vs. MMSE')
xlabel('Maturity (Months)')
ylabel('Percent')
legend({'Monte Carlo','MMSE'},'Location','best')

Figure contains an axes object. The axes object with title 12-Month-Ahead Forecast Standard Errors: Monte Carlo vs. MMSE contains 2 objects of type line. These objects represent Monte Carlo, MMSE.

Оценки эффективно идентичны.

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

Отобразите распределение симулированного 12-месячного выражения в 1, 6, и 12 месяцев в будущее, похожее на эксперимент прогнозирования в Таблицах 4 - 6 [1].

index12 = find(maturities == 12);  % Page index of 12-month yield
bins = 0:0.2:12;

figure
subplot(3,1,1)
histogram(SimulatedYields(1,index12,:),bins,'Normalization','pdf')
title('PDF of 12-Month Yield')
xlabel('Yield 1 Month into the Future (%)')

subplot(3,1,2)
histogram(SimulatedYields(6,index12,:),bins,'Normalization','pdf')
xlabel('Yield 6 Months into the Future (%)')
ylabel('Probability')

subplot(3,1,3)
histogram(SimulatedYields(12,index12,:),bins,'Normalization','pdf')
xlabel('Yield 12 Months into the Future (%)')

Figure contains 3 axes objects. Axes object 1 with title PDF of 12-Month Yield contains an object of type histogram. Axes object 2 contains an object of type histogram. Axes object 3 contains an object of type histogram.

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

Увеличьте модель кривой доходности с макро-факторами

Макро-выражениями модель расширяет модель только для выражений включением макроэкономических и финансовых факторов. Минимальный набор переменных, которые характеризуют экономическую деятельность, включает использование производственной мощности (CU, z1,t) [7], ставка по федеральным фондам (FEDFUNDS, z2,t) [5], и ежегодная инфляция цен (PI, z3,t) [6], которые взаимодействуют с уровнем, наклоном, и искривление включает векторную авторегрессию. Увеличенный SSM

(ft-μ)=A(ft-1-μ)+ηt[ytzt]=[Λ00I]ft+[wt0],

где ft=[Lt,St,Ct,z1,t,z2,t,z3,t] и zt=[z1,t,z2,t,z3,t]. Размерности A и μ увеличьтесь до 6 6 и 6 1, соответственно. Уравнение наблюдения yt=[Λ0]ft+wt указывает, что уровень, наклон и факторы искривления достаточно дистиллируют информацию в кривой доходности. Кроме того, zt=(0I)ft указывает, что макроэкономические переменные наблюдаются без погрешности измерения. Счета среды SSM на недостающие наблюдения, обозначенные NaN значения в данных, путем замены оценками получены на Фильтр Калмана. Как формулировка только для выражений, процессы белого шума ηt и wt имейте распределение

[ηtwt]WN([00],[Q00H]),

где Q 6 6 симметричная положительная определенная матрица, и H является диагональным.

Формулировка, поддержанная функциональностью SSM,

xt=Atxt-1+Btutζt=Ctxt+Dtεt,

где состояния являются настроенными средним значением факторами, а именно, xt=ft-μ. Выкачанные наблюдения

ζt=[ytzt]-[Λ00I]μ.

Модель содержит 81 неизвестный параметр:

  • A содержит 36 параметров.

  • Q содержит 21 параметр.

  • H содержит 17 параметров.

  • μ содержит 6 параметров.

  • Λ содержит скаляр λ.

Функция отображения Example_YieldsMacro.m сопоставляет вектор параметра с матрицами параметра SSM, выкачивает наблюдения с учетом средних значений каждого фактора и налагает ограничения на ковариационные матрицы. Для получения дополнительной информации, открытый Example_YieldsMacro.m.

Оцените макрос выражений Diebold-литий SSM

Набор данных выражений Data_DieboldLi.mat дополнительно содержит наблюдения за макроэкономическими рядами, которые доступны в Федеральной резервной системе экономической базе данных (FRED) [4]. Макроэкономический ряд в Data_DieboldLi.mat не идентичны соответствующему ряду в [2], но этот пример воспроизводит большинство тех эмпирических результатов.

Извлеките макроэкономический ряд из данных и определите переменные размерности.

Macro = [DataTable.CU DataTable.FEDFUNDS DataTable.PI];

numBonds = size(Yields,2);
numMacro = size(Macro,2);
numStates = 3 + numMacro;

Оценка 81 параметра наибольшим правдоподобием в вычислительном отношении сложна, но это возможно с тщательно заданными начальными значениями для числовой оптимизации.

Чтобы получить разумные начальные значения, подбирайте векторную модель авторегрессии (уравнение состояния) к предполагаемым факторам Beta и макроэкономическая серия Macro. Затем извлечение и процесс оценки из предполагаемой модели.

MdlVAR0 = varm(numStates,1);
EstMdlVAR0 = estimate(MdlVAR0,[Beta Macro]);

A0 = EstMdlVAR0.AR{1};
B0 = chol(EstMdlVAR0.Covariance,'lower');
D0 = std(Residuals);
mu0 = [mean(Beta) mean(Macro,'omitnan')];
p0Macro = [A0(:); nonzeros(B0); D0(:); mu0(:); lambda0];

estimate функционируйте оценивает неизвестные параметры SSM путем оптимизации логарифмической правдоподобности с помощью fminunc или fmincon. В каждой итерации, estimate вычисляет логарифмическую правдоподобность путем применения Фильтра Калмана. Эта комплексная задача оптимизации может потребовать количеств итераций и вычислений функции, которые больше, чем их значение по умолчанию. Кроме того, размерность вектора наблюдения существенно больше, чем вектор состояния, и поэтому метод, который обрабатывает многомерный ряд как одномерный, может улучшать производительность во время выполнения.

Создайте объект опций оптимизации, который задает максимум 1 000 итераций и 50 000 вычислений функции для оптимизации без ограничений. Создайте SSM путем передачи к ssm, параметр к матрице, сопоставляющий функциональный Example_YieldsMacro как анонимная функция с входным параметром, представляющим вектор параметра params. Дополнительные входные параметры функции отображения задают выражения, зрелость и макроэкономическую информацию о ряде статически. Входные параметры инициализируют модель для оценки.

options = optimoptions('fminunc','MaxIterations',1000,'MaxFunctionEvaluations',50000);
MdlMacro = ssm(@(params)Example_YieldsMacro(params,Yields,Macro,maturities));

Оцените макро-выражениями Diebold-Li SSM. Выключите отображение оценки и задайте опции оптимизации и метод, который обрабатывает многомерный ряд как одномерный.

[EstMdlMacro,estParamsMacro,EstParamCovMacro,logLMacro] = estimate(MdlMacro,[Yields Macro],p0Macro, ...
    'Display','off','Options',options,'Univariate',true);

Поскольку SSM работает с настроенными средним значением факторами, необходимо выкачать (точка пересечения - настраивают), наблюдения прежде, чем работать с предполагаемой моделью и наблюдениями. Получите предполагаемые коэффициенты SSM и выкачанные данные путем определения предполагаемых параметров как входных параметров к Example_YieldsMacro.m. Отобразите предполагаемую матрицу Грина A и ковариационная матрица воздействия состояния BB, которые учитывают макроэкономические факторы.

[A,B,C,~,~,~,~,deflatedData] = Example_YieldsMacro(estParamsMacro,Yields,Macro,maturities);
A
A = 6×6

    0.8986   -0.0624   -0.0245   -0.0061    0.0756    0.0134
   -0.4325    0.4805    0.0314    0.0312    0.3768    0.0260
    0.1355    0.1182    0.8455    0.0111   -0.0918    0.0023
    0.0679   -0.0257    0.0023    0.9982   -0.0655   -0.0202
   -0.0064   -0.0887    0.0106    0.0461    0.9958    0.0456
   -0.0348   -0.0314   -0.0150    0.0268    0.0364    0.9940

B*B'
ans = 6×6

    0.0914   -0.0226    0.0466    0.0370    0.0327    0.0114
   -0.0226    0.3041    0.0076    0.0772    0.2241   -0.0051
    0.0466    0.0076    0.8105    0.0259    0.1690    0.0023
    0.0370    0.0772    0.0259    0.3710    0.1425    0.0254
    0.0327    0.2241    0.1690    0.1425    0.4494    0.0128
    0.0114   -0.0051    0.0023    0.0254    0.0128    0.0475

Учитывая полные выборочные данные и подходящий SSM, Кальмана более сглаженный smooth обеспечивает оценки состояния. smooth функция позволяет вам оценить погрешности измерения выражений. Для каждой зрелости получите оценки погрешности измерения путем вычисления среднего и стандартного отклонения остаточных значений. Визуально сравните оценки погрешности измерения предполагаемых и макро-выражениями моделей только для выражений.

StatesMacro = smooth(EstMdlMacro,deflatedData);
ResidualsMacro = deflatedData - StatesMacro*C';
residualMeanMacro = 100*mean(ResidualsMacro,'omitnan')';
residualStdMacro = 100*std(ResidualsMacro,'omitnan')';

compareresiduals(maturities,residualMeanSSM,residualStdSSM, ...
      " Yields-Only Model ",residualMeanMacro(1:numBonds), ...
      residualStdMacro(1:numBonds),"Yields-Macro Model")
  -------------------------------------------------
             Yields-Only Model   Yields-Macro Model
            -------------------  ------------------
                       Standard            Standard
  Maturity    Mean    Deviation    Mean   Deviation
  (Months)   (bps)      (bps)     (bps)     (bps)  
  --------  --------  ---------  -------  ---------
    3.0000  -12.6440   22.3639  -12.5379   22.2240
    6.0000   -1.3392    5.0715   -1.2658    4.8526
    9.0000    0.4922    8.1084    0.5387    8.1444
   12.0000    1.3059    9.8672    1.3310    9.8812
   15.0000    3.7130    8.7073    3.7212    8.7603
   18.0000    3.5893    7.2946    3.5846    7.3145
   21.0000    3.2308    6.5112    3.2168    6.4719
   24.0000   -1.3996    6.3890   -1.4201    6.3520
   30.0000   -2.6479    6.0614   -2.6745    6.0864
   36.0000   -3.2411    6.5915   -3.2675    6.6115
   48.0000   -1.8508    9.7019   -1.8663    9.7266
   60.0000   -3.2857    8.0349   -3.2855    8.0124
   72.0000    1.9737    9.1370    1.9896    9.1110
   84.0000    0.6935   10.3689    0.7231   10.3780
   96.0000    3.4873    9.0440    3.5285    9.1650
  108.0000    4.1940   13.6422    4.2447   13.7447
  120.0000   -1.3074   16.4545   -1.2488   16.5814

Модель только для выражений соответствует данным о кривой доходности хорошо, но макро-выражениями модель выполняет лучше.

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

residualMeanMacro(end-numMacro+1:end)'
ans = 1×3
10-13 ×

    0.0583   -0.2573   -0.1097

Охарактеризуйте выражения к макросу и ссылки "макрос к выражениям"

Функции импульсной характеристики макро-выражениями модели

Для SSM функция импульсной характеристики (IRF) измеряет динамические эффекты на состоянии и уравнениях измерения из-за непредвиденного шока для каждого воздействия состояния. В уравнении перехода xt=Axt-1+But, IRF является частной производной xt, t=1,2,... относительно u1. Функциональность SSM IRF, irf и irfplot, выполняет следующие действия:

  • Примените шок состояния в период 1.

  • Нормируйте отклонение шока одному; матрица загрузки воздействия состояния B определяет любые одновременные эффекты.

  • Возвратите ответы в течение периодов t=1,2,....

Для макро-выражениями модели, матрицы B идентифицирован до Q=BB. IRF макро-выражениями SSM требует идентификационных условий, таких как рекурсивное упорядоченное расположение переменных состояния Lt,St,Ct,z1,t,z2,t,z3,t так, чтобы B нижняя треугольная матрица. Объяснение - то, что выражения датированы в начале каждого месяца, в то время как макроэкономические данные публикуются с задержкой. Следовательно, выражения оказывают одновременное влияние на макроэкономические переменные, но не наоборот.

Используйте irfplot построить IRF следующих групп переменных:

  • Ответы кривой доходности на шоки кривой доходности

  • Макро-ответы на макро-шоки

  • Макро-ответы на шоки кривой доходности

  • Ответы кривой доходности на макро-шоки

Для каждого графика задайте 90% доверительных границ и постройте ответы в течение первых 30 периодов.

figure
irfplot(MdlMacro,'Params',estParamsMacro,'EstParamCov',EstParamCovMacro, ...
    'PlotU',1:3,'PlotX',1:3,'PlotY',[],'NumPeriods',30,'Confidence',0.9);
sgtitle('Yield-Curve Responses to Yield-Curve Shocks')

Figure contains 9 axes objects and another object of type subplottext. Axes object 1 with title U1 -> X1 contains 3 objects of type line. Axes object 2 with title U1 -> X2 contains 3 objects of type line. Axes object 3 with title U1 -> X3 contains 3 objects of type line. Axes object 4 with title U2 -> X1 contains 3 objects of type line. Axes object 5 with title U2 -> X2 contains 3 objects of type line. Axes object 6 with title U2 -> X3 contains 3 objects of type line. Axes object 7 with title U3 -> X1 contains 3 objects of type line. Axes object 8 with title U3 -> X2 contains 3 objects of type line. Axes object 9 with title U3 -> X3 contains 3 objects of type line.

figure
irfplot(MdlMacro,'Params',estParamsMacro,'EstParamCov',EstParamCovMacro, ...
    'PlotU',4:6,'PlotX',4:6,'PlotY',[],'NumPeriods',30,'Confidence',0.9);
sgtitle('Macro Responses to Macro Shocks')

Figure contains 9 axes objects and another object of type subplottext. Axes object 1 with title U4 -> X4 contains 3 objects of type line. Axes object 2 with title U4 -> X5 contains 3 objects of type line. Axes object 3 with title U4 -> X6 contains 3 objects of type line. Axes object 4 with title U5 -> X4 contains 3 objects of type line. Axes object 5 with title U5 -> X5 contains 3 objects of type line. Axes object 6 with title U5 -> X6 contains 3 objects of type line. Axes object 7 with title U6 -> X4 contains 3 objects of type line. Axes object 8 with title U6 -> X5 contains 3 objects of type line. Axes object 9 with title U6 -> X6 contains 3 objects of type line.

figure
irfplot(MdlMacro,'Params',estParamsMacro,'EstParamCov',EstParamCovMacro, ...
    'PlotU',1:3,'PlotX',4:6,'PlotY',[],'NumPeriods',30,'Confidence',0.9);
sgtitle('Macro Responses to Yield-Curve Shocks')

Figure contains 9 axes objects and another object of type subplottext. Axes object 1 with title U1 -> X4 contains 3 objects of type line. Axes object 2 with title U1 -> X5 contains 3 objects of type line. Axes object 3 with title U1 -> X6 contains 3 objects of type line. Axes object 4 with title U2 -> X4 contains 3 objects of type line. Axes object 5 with title U2 -> X5 contains 3 objects of type line. Axes object 6 with title U2 -> X6 contains 3 objects of type line. Axes object 7 with title U3 -> X4 contains 3 objects of type line. Axes object 8 with title U3 -> X5 contains 3 objects of type line. Axes object 9 with title U3 -> X6 contains 3 objects of type line.

figure
irfplot(MdlMacro,'Params',estParamsMacro,'EstParamCov',EstParamCovMacro, ...
    'PlotU',4:6,'PlotX',1:3,'PlotY',[],'NumPeriods',30,'Confidence',0.9);
sgtitle('Yield-Curve Responses to Macro Shocks')

Figure contains 9 axes objects and another object of type subplottext. Axes object 1 with title U4 -> X1 contains 3 objects of type line. Axes object 2 with title U4 -> X2 contains 3 objects of type line. Axes object 3 with title U4 -> X3 contains 3 objects of type line. Axes object 4 with title U5 -> X1 contains 3 objects of type line. Axes object 5 with title U5 -> X2 contains 3 objects of type line. Axes object 6 with title U5 -> X3 contains 3 objects of type line. Axes object 7 with title U6 -> X1 contains 3 objects of type line. Axes object 8 with title U6 -> X2 contains 3 objects of type line. Axes object 9 with title U6 -> X3 contains 3 objects of type line.

Разложения отклонения макро-выражениями модели

Разложение отклонения ошибки прогноза (FEVD) предоставляет информацию об относительной важности каждого шока во влиянии на отклонение ошибки прогноза переменной отклика. Относительно взаимодействий макро-и кривой доходности FEVD анализирует, влияют ли макро-факторы, по сравнению с особенным изменением кривой доходности. В SSM воздействия в уравнениях перехода и измерения вызывают отклонение прогноза наблюдений. В присутствии ненулевой, матрицы коэффициентов инноваций наблюдения D, разложение не суммирует к тому, потому что остающийся фрагмент относится к ковариации шума наблюдения DD. Чтобы обеспечить сумму одной, можно объяснить шум наблюдения путем перемасштабирования FEVD.

Вычислите FEVD 12-месячного выражения на горизонтах прогноза 1, 12, и 60 месяцев при помощи fevd функция. Поскольку fevd применяет модульный шок в период 1, горизонт прогноза запускается в период 2. Нормируйте каждый FEVD, чтобы суммировать одному.

Decomposition = fevd(EstMdlMacro,'NumPeriods',61);

idxyield12 = find(maturities == 12);

d1 = Decomposition(1+1,:,idxyield12);
d12 = Decomposition(1+12,:,idxyield12);
d60 = Decomposition(1+60,:,idxyield12);

d1 = d1./sum(d1);
d12 = d12./sum(d12);
d60 = d60./sum(d60);

displayfevd([d1; d12; d60],"12-Month Yield")
Variance Decomposition, 12-Month Yield
--------------------------------
   Horizon      L         S         C        CU      FEDFUNDS      PI
    1.0000    0.2977    0.4397    0.2189    0.0037    0.0400    0.0001
   12.0000    0.3080    0.2302    0.1345    0.0986    0.2211    0.0076
   60.0000    0.3874    0.0855    0.1258    0.2836    0.0932    0.0245

Результаты FEVD показывают, что меньше чем 5 процентов изменения относятся к макроэкономическим факторам на 1-месячном горизонте. Однако макроэкономические факторы больше влияют на более длинных горизонтах. На 12-месячных и 60-месячных горизонтах макроэкономические факторы составляют приблизительно 30 и 40 процентов изменения, соответственно.

Вычислите FEVD ряда использования производственной мощности на горизонтах прогноза 1, 12, и 60 месяцев. Нормируйте каждый FEVD, чтобы суммировать одному.

cu1 = Decomposition(1+1,:,numBonds+1);
cu12 = Decomposition(1+12,:,numBonds+1);
cu60 = Decomposition(1+60,:,numBonds+1);

displayfevd([cu1; cu12; cu60],"Capacity Utilization")
Variance Decomposition, Capacity Utilization
--------------------------------
   Horizon      L         S         C        CU      FEDFUNDS      PI
    1.0000    0.0466    0.0531    0.0001    0.8989    0.0013    0.0000
   12.0000    0.0913    0.0260    0.0224    0.7465    0.1084    0.0054
   60.0000    0.1015    0.0605    0.0595    0.5149    0.1786    0.0849

В отличие от FEVD 12-месячного выражения, разложения отклонения использования производственной мощности показывают, что уровень, наклон и факторы искривления составляют небольшую часть изменения в каждый период в горизонте прогноза. Разложения отклонения других двух макроэкономических переменных показывают тот же шаблон.

Увеличьте Diebold-литий SSM с внешними макроэкономическими переменными

В подбиравшей макро-выражениями модели, предполагаемых параметрах в нижнем левом углу матрицы перехода A(4:6,1:3) являются весьма отдельным образом значительными. Этот результат мотивирует модель с более экономной спецификацией, в частности с ограничением A(4:6,1:3)=0 и диагональная ковариационная матрица Q. В ограниченной модели макроэкономические переменные являются внешними, что означает, что макроэкономические факторы влияют на факторы кривой доходности, но ссылка является односторонней, потому что ссылка выражений к макросу отсутствует.

Функция отображения Example_YieldsExogenous.m сопоставляет вектор параметра с матрицами параметра SSM, выкачивает наблюдения с учетом средних значений каждого фактора, налагает ограничения на ковариационные матрицы и включает внешние переменные в уравнение состояния. Для получения дополнительной информации, открытый Example_YieldsExogenous.m.

Создайте Diebold-Li SSM, увеличенный с внешними макроэкономическими переменными путем передачи к ssm, параметр к матрице, сопоставляющий функциональный Example_YieldsExogenous как анонимная функция с входным параметром, представляющим вектор параметра params. Дополнительные входные параметры функции отображения задают выражения, зрелость и макроэкономическую информацию о ряде статически, которые инициализируют модель для оценки.

MdlExogenous = ssm(@(params)Example_YieldsExogenous(params,Yields,Macro,maturities));

Ограниченный MdlExogenous модель имеет 57 неизвестных параметров.

Оцените Diebold-Li SSM, увеличенный с внешними переменными. Выключите отображение оценки и задайте те же опции и начальные значения, как задано для оценки макро-выражениями SSM.

Mask = true(numStates);
Mask(4:end,1:3) = false; 
param0Exogenous = [A0(Mask); diag(B0); D0(:); mu0(:); lambda0];
[EstMdlExogenous,estParamsExogenous,~,logLExogenous] = estimate(MdlExogenous,[Yields Macro], ...
    param0Exogenous,'Display','off','Options',options,'Univariate',true);

logLMacro
logLMacro = 2.7401e+03
logLExogenous
logLExogenous = 2.5300e+03

Максимизируемая логарифмическая правдоподобность EstMdlExogenous обязательно ниже, чем та из полной модели EstMdlMacro, который имеет 81 параметр.

Получите предполагаемые коэффициенты SSM и выкачанные данные путем определения предполагаемых параметров как входных параметров к Example_YieldsExogenous.m. Отобразите предполагаемую матрицу Грина A.

[AExogenous,~,CExogenous,~,~,~,~,deflatedDataExogenous] = Example_YieldsExogenous(estParamsExogenous, ...
    Yields,Macro,maturities);
AExogenous
AExogenous = 6×6

    0.8957   -0.0693   -0.0180   -0.0049    0.0777    0.0155
   -0.4796    0.4357    0.0319    0.0296    0.4152    0.0279
    0.2109    0.1951    0.8497    0.0098   -0.1576    0.0005
         0         0         0    0.9779   -0.0458   -0.0250
         0         0         0    0.0277    0.9598    0.0374
         0         0         0    0.0289    0.0046    0.9965

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

StatesExogenous = smooth(EstMdlExogenous,deflatedDataExogenous);
ResidualsExogenous = deflatedDataExogenous - StatesExogenous*CExogenous';
residualMeanExogenous = 100*mean(ResidualsExogenous,'omitnan')';
residualStdExogenous = 100*std(ResidualsExogenous,'omitnan')';

compareresiduals(maturities,residualMeanMacro(1:numBonds),residualStdMacro(1:numBonds), ...
      "Yields-Macro Model",residualMeanExogenous(1:numBonds),...
      residualStdExogenous(1:numBonds),"  Exogenous Model")
  -------------------------------------------------
            Yields-Macro Model    Exogenous Model
            -------------------  ------------------
                       Standard            Standard
  Maturity    Mean    Deviation    Mean   Deviation
  (Months)   (bps)      (bps)     (bps)     (bps)  
  --------  --------  ---------  -------  ---------
    3.0000  -12.5379   22.2240  -12.5603   22.4217
    6.0000   -1.2658    4.8526   -1.3020    4.8280
    9.0000    0.5387    8.1444    0.5008    8.0359
   12.0000    1.3310    9.8812    1.2980    9.9022
   15.0000    3.7212    8.7603    3.6967    8.7197
   18.0000    3.5846    7.3145    3.5698    7.2607
   21.0000    3.2168    6.4719    3.2114    6.4590
   24.0000   -1.4201    6.3520   -1.4172    6.3830
   30.0000   -2.6745    6.0864   -2.6597    6.0846
   36.0000   -3.2675    6.6115   -3.2474    6.5862
   48.0000   -1.8663    9.7266   -1.8514    9.7227
   60.0000   -3.2855    8.0124   -3.2873    8.0485
   72.0000    1.9896    9.1110    1.9676    9.1345
   84.0000    0.7231   10.3780    0.6817   10.3289
   96.0000    3.5285    9.1650    3.4699    8.9426
  108.0000    4.2447   13.7447    4.1714   13.6633
  120.0000   -1.2488   16.5814   -1.3343   16.4247

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

Таким образом, макрос выражений и Модель Диболда-Ли, увеличенная с внешними переменными, имеют значительные статистические и экономические различия. Несмотря на значительные различия в подходящей логарифмической правдоподобности моделей, подходящая кривая доходности SSM, увеличенного с внешними переменными, является не обязательно нижней к кривой доходности макро-выражениями SSM.

Вспомогательные Функции

Локальные функции упрощают несколько отображений командной строки для этого примера.

function compareresiduals(maturities,residualMeanL,residualStdL,tL,residualMeanR,residualStdR,tR)
        header = ["  -------------------------------------------------"; ...
        "            " + tL + "  " + tR;...
        "            -------------------  ------------------"; ...
        "                       Standard            Standard"; ...
        "  Maturity    Mean    Deviation    Mean   Deviation"; ...
        "  (Months)   (bps)      (bps)     (bps)     (bps)  "; ...
        "  --------  --------  ---------  -------  ---------"];
    tab = [maturities residualMeanL residualStdL residualMeanR residualStdR];
    fprintf("%s\n",header)
    disp(tab)
end

function displayfevd(d,t)
    header = ["Variance Decomposition, " + t; ...
    "--------------------------------"; ...
    "   Horizon      L         S         C        CU      FEDFUNDS      PI"];
    tab = [[1;12;60] d];
    fprintf("%s\n",header)
    disp(tab)
end

Ссылки

[1] Diebold, F.X., и К. Ли. "Предсказывая Термин Структура Выражений Государственной облигации". Журнал Эконометрики. Издание 130, № 2, 2006, стр 337–364.

[2] Diebold, F. X., Г. Д. Рудебуш и Б. Аруоба (2006), "Макроэкономика и Кривая доходности: Динамический Скрытый Факторный Подход". Журнал Эконометрики. Издание 131, 2006, стр 309–338.

[3] Нельсон, R. C. и А. Ф. Зигель. "Экономное Моделирование Кривых доходности". Журнал Бизнеса. Издание 60, № 4, 1987, стр 473–489.

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

[5] Совет управляющих Федеральной резервной системы (США), Эффективная Ставка по федеральным фондам [FEDFUNDS], полученный из FRED, Федерального резервного банка Сент-Луиса; https://fred.stlouisfed.org/series/FEDFUNDS, 1 марта 2021.

[6] Американское Бюро экономического анализа, Частные потребительские расходы: Индекс цен цепочечного типа [PCEPI], полученный из FRED, Федерального резервного банка Сент-Луиса; https://fred.stlouisfed.org/series/PCEPI, 1 марта 2021.

[7] Совет управляющих Федеральной резервной системы (США), Загрузки производственных мощностей: Производя (SIC) [CUMFNS], полученный из FRED, Федерального резервного банка Сент-Луиса; https://fred.stlouisfed.org/series/CUMFNS, 1 марта 2021.