В этом примере показано, как использовать модели в пространстве состояний (SSM) и Фильтр Калмана, чтобы анализировать Diebold-литий и макро-выражениями модели только для выражений [2] из ежемесячных временных рядов кривой доходности, выведенных из счетов Казначейства США и связей. Анализ включает оценку модели, симуляцию, сглаживание, прогнозирование и динамическую характеристику поведения путем применения функциональности Econometrics Toolbox™ SSM. Пример сравнивает эффективность оценки SSM с эффективностью более традиционных эконометрических методов оценки.
После финансового кризиса 2 008, инструкции платежеспособности сделали больший акцент на оценке рынка и учете обязательств. В результате многие финансовые фирмы, особенно страховые компании и пенсионные фонды, составляют аннуитетные договоры и берут долгосрочную ответственность, которая призывает, чтобы сложные подходы смоделировали и предсказали кривые доходности.
Поскольку значение долгосрочных обязательств значительно увеличивается с низкими процентными ставками, вероятность очень низких выражений должна быть смоделирована точно. Фильтр Калмана, с его способностью включить изменяющиеся во времени коэффициенты и вывести ненаблюдаемые факторы, управляющие эволюцией наблюдаемых выражений, часто подходит для оценки параметров модели кривой доходности и затем симуляции и прогнозирования выражений, которые являются неотъемлемой частью анализа пенсии и страховки.
В этом примере вы создаете, соответствуете и анализируете модель кривой доходности при помощи Econometrics Toolbox функциональность SSM и этот рабочий процесс:
Представляйте Diebold-литий модель только для выражений в параметрической форме модели в пространстве состояний, как поддержано Econometrics Toolbox функциональность SSM.
Для модели только для выражений воспроизведите результаты оценки в выборке, опубликованные в [2], и сравните результаты, полученные с теми из двухступенчатого подхода, как опубликовано в [1].
Для модели только для выражений вычислите прогнозы минимальной среднеквадратичной погрешности (MMSE) и покажите возможности симуляции Монте-Карло функциональности SSM.
Оцените макро-выражениями Diebold-Li SSM, который интегрирует финансовые и макроэкономические факторы.
Вычислите функции импульсной характеристики (IRF) и разложения отклонения ошибки прогноза (FEVD) в среде пространства состояний, которые характеризуют выражения к макросу и ссылки "макрос к выражениям".
Оцените Diebold-Li SSM, увеличенный с внешними макроэкономическими переменными.
Модель Диболда-Ли является вариантом модели [3] Нельсона-Сигеля, повторно параметрированной от исходной формулировки, чтобы содержать выражения только. Для даты наблюдения и время к зрелости , Модель Диболда-Ли выражения
где:
долгосрочный фактор (уровень).
краткосрочный фактор (наклон).
среднесрочный фактор (искривление).
определяет зрелость, в которой загрузка на искривление максимизируется и управляет экспоненциальным уровнем затухания модели.
ssm
объект Econometrics Toolbox позволяет вам задать линейную задачу в представлении пространства состояний. Чтобы выполнить следующие операции на SSM, передайте вас ssm
объект, который представляет его соответствующей функции.
Оцените параметры модели наибольшим правдоподобием с помощью estimate
.
Получите оптимальные прогнозы ненаблюдаемых (скрытых) состояний и наблюдаемых ответов при помощи forecast
.
Получите сглаживавшие состояния обратной рекурсией с помощью smooth
, и получите отфильтрованные состояния прямой рекурсией с помощью filter
.
Симулируйте выборку путей скрытых состояний и наблюдаемых ответов для исследования Монте-Карло при помощи simulate
.
Охарактеризуйте динамическое поведение модели путем вычисления IRF и FEVD при помощи irf
и fevd
.
Для вектора состояния и наблюдение (ответ) вектор , параметрическая форма Econometrics Toolbox, который SSM, имеет следующее линейное представление пространства состояний:
где векторы и являются некоррелироваными, модульное отклонение, процессы белого шума. В SSM первое уравнение является уравнением состояния, и вторым является уравнение наблюдения. Параметры модели , , , и изменение состояния, загрузка воздействия состояния, чувствительность измерения и содействующие матрицы инноваций наблюдения, соответственно.
Несмотря на то, что функции SSM вмещают изменяющиеся во времени (динамические) параметры, параметры, значения которых и размерности могут измениться со временем в Модели Диболда-Ли, параметры независимые от времени (помехи).
Уровень, наклон и факторы искривления Модели Диболда-Ли следуют за векторным авторегрессивным процессом первого порядка (VAR (1)), который формирует систему в пространстве состояний. Diebold, Rudebusch и Aruoba [2] составляют вектор состояния с уровнем, наклоном и факторами искривления. Получившееся уравнение изменения состояния, которое управляет динамикой вектора состояния,
где , , среднее значение фактора . Соответствующее наблюдение (измерение) уравнение
Модель Диболда-Ли имеет следующее матричное представление для 3-D вектора из настроенных средним значением факторов и наблюдаемые выражения :
Модель Диболда-Ли налагает следующие предположения на воздействия фактора уравнения состояния и инновации уравнения наблюдения (отклонения наблюдаемых выражений в различных сроках платежа) :
и ортогональные, Гауссовы процессы белого шума, символически
Воздействия одновременно коррелируются, который подразумевает что их ковариационная матрица является недиагональным.
Инновации в являются некоррелироваными, который подразумевает ковариационную матрицу является диагональным.
Задайте скрытые состояния как настроенные средним значением факторы
и задайте настроенные точкой пересечения (выкачанные) выражения как
Замена и в предыдущие уравнения и получившуюся систему в пространстве состояний Diebold-лития
Сравните систему в пространстве состояний Diebold-лития с формулировкой, что Econometrics Toolbox поддержки функциональности SSM, который является
Матрица коэффициентов изменения состояния то же самое в обеих формулировках и матрица Модели Диболда-Ли совпадает с матрицей коэффициентов чувствительности измерения в формулировке SSM.
Отношение между воздействием и инновационными процессами является более тонким. Поскольку и , ковариации случайных переменных должны быть равными. В результате свойства линейного преобразования Гауссовых случайных векторов отношение между ковариациями воздействий и инноваций
Чтобы подготовить Модель Диболда-Ли к Econometrics Toolbox функциональность SSM, используйте ssm
функция, чтобы задать SSM; ssm
возвращает ssm
объект модели, представляющий модель. ssm
функция позволяет вам создать модель, содержащую известные или неизвестные параметры; ssm
объект, содержащий неизвестные параметры, является шаблоном для оценки. Можно или явным образом установить параметры, или можно задать пользовательскую функцию, которая неявно задает SSM.
Чтобы создать SSM явным образом, необходимо задать все содействующие матрицы , , , и . Чтобы указать на присутствие и размещение неизвестных значений параметров, задайте NaN
значения. Каждый NaN
запись соответствует уникальному параметру, чтобы оценить. Этот подход к созданию модели удобен, когда каждый параметр влияет и исключительно сопоставлен с одним элементом матрицы коэффициентов.
Чтобы создать SSM неявно, необходимо задать пользовательскую функцию отображения параметра к матрице, которая сопоставляет входной вектор параметра с параметрами модели , , , и . Функциональное содержимое задает формулировку модели. Этот подход к созданию модели полезен для сложных моделей или для внушительных ограничений параметра.
ssm
объект не хранит ненулевые смещения переменных состояния или любые параметры, сопоставленные с компонентами регрессии, в уравнении наблюдения. Чтобы оценить коэффициенты компонента регрессии, необходимо выкачать наблюдения . Точно так же другой ssm
функции ожидают выкачанный или предварительно обработанный, наблюдения с учетом любых смещений или компонента регрессии в уравнении наблюдения.
Поскольку Модель Диболда-Ли имеет следующие характеристики, которые невозможно задать явным образом, этот пример создает ssm
возразите неявно.
Каждый включает Модель Диболда-Ли, включает ненулевое смещение (среднее значение), которое представляет компонент регрессии.
Модель налагает ограничение симметрии на ковариационную матрицу и diagonality ограничение ковариационной матрицы .
Модель включает параметр уровня затухания .
Предыдущая формулировка пространства состояний не уникальна. Например, можно включать факторные смещения как состояния в уравнении состояния вместо дефляторов наблюдения. Преимущество дефляции наблюдения состоит в том, что размерность вектора состояния непосредственно соответствует 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] оценивают параметры их модели кривой доходности при помощи двухступенчатого подхода:
Исправление , и затем, для каждой ежемесячной кривой доходности, оценивают уровень, наклон и параметры искривления. Результатом являются 3-D временные ряды оценок ненаблюдаемого уровня, наклона и факторов искривления.
Подбирайте авторегрессивную модель первого порядка к временным рядам факторов, выведенных в первом шаге.
Путем фиксации , процедура оценки является обычными наименьшими квадратами (OLS). В противном случае процедура оценки является нелинейным методом наименьших квадратов. Наборы среды Нельсона-Сигеля = 0.0609 [3], который подразумевает, что загрузка на искривление (среднесрочный фактор) максимизируется в 30 месяцев.
Поскольку кривая доходности параметрируется в зависимости от факторов, предсказывая, что кривая доходности эквивалентна прогнозированию базовых факторов и затем оценке Модели Диболда-Ли в зависимости от факторных прогнозов.
Первый шаг приравнивает эти три фактора (уровень, наклон и искривление) к коэффициентам регрессии, полученным OLS, и это накапливает 3-D временные ряды предполагаемых факторов путем повторения пригодного OLS для каждой наблюдаемой кривой доходности.
В течение каждого месяца (строка) выполните первый шаг при помощи OLS, чтобы подбирать следующую линейную модель к ряду кривой доходности.
, .
Сохраните коэффициенты регрессии и остаточные значения линейной подгонки модели.
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) первого порядка к временным рядам предполагаемых факторов. Можно выполнить эту задачу двумя способами:
Econometrics Toolbox поддерживает одномерную и многомерную оценку AR.
Подбирайте модель VAR (1) к предполагаемым факторам. Для непротиворечивости с формулировкой SSM, которая работает с настроенными средним значением факторами, включают аддитивную постоянную с учетом среднего значения каждого фактора.
MdlVAR = varm(3,1); EstMdlVAR = estimate(MdlVAR,Beta);
EstMdlVAR
varm
объект модели, представляющий предполагаемый VAR (1) факторная модель.
Затем оцените Модель Диболда-Ли с помощью неявного подхода, в котором вы создаете и задаете функцию отображения параметра к матрице.
Функция отображения 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
как вектор-столбец. Создайте вектор начального значения путем выполнения следующей процедуры:
Задайте начальное значение для матрицы коэффициентов путем укладки предполагаемой 3х3 матрицы коэффициентов AR модели VAR (1) по столбцам.
Для начального значения матрицы коэффициентов , 3х3 ковариационная матрица инновационная ковариационная матрица модели VAR (1) и . Поэтому оценка более низкий Фактор Холецкого . Гарантировать это симметрично, положительный определенный, и допускает ненулевые недиагональные ковариации, выделите эти шесть элементов, сопоставленных с более низким Фактором Холецкого . Другими словами, эта спецификация принимает что ковариационная матрица является недиагональным, но это резервирует пробел для элементов ниже диагонали более низкого Фактора Холецкого ковариационной матрицы так, чтобы . Расположите начальное значение вперед и ниже основной диагонали путем укладки матрицы по столбцам.
Поскольку ковариационная матрица в Diebold-литии формулировка является диагональной и , матрица из SSM является диагональным. Задайте начальное значение как квадратный корень из диагональных элементов матрицы выборочной ковариации остаточных значений модели VAR (1), один элемент для каждых из этих 17 сроков платежа во входе дает к данным. Сложите начальное значение по столбцам.
матрица является полностью параметрированной функцией предполагаемого параметра уровня затухания . Функция отображения вычисляет его непосредственно использование , так не требует начального значения. Установите начальное значение к традиционному значению 0.0609; последний элемент начального вектор-столбца параметра соответствует ему.
Для элементов начального вектора параметра, сопоставленного с факторными средними значениями, набор демонстрационные средние значения коэффициентов регрессии OLS в первом шаге двухступенчатого подхода.
Сложите все начальные значения в порядке , , , , и .
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
. Выключите отображения оценки. Поскольку ковариационная матрица является диагональным, задайте одномерную обработку многомерного ряда, чтобы улучшать производительность времени выполнения оценки. Фильтр Калмана обрабатывает наблюдения с векторным знаком по одному.
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
Визуально сравните предполагаемую матрицу Грина из 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, указывая на слабую перекрестную факторную динамику.
Затем исследуйте матрицу загрузки воздействия состояния . Визуально сравните соответствующую предполагаемую инновационную ковариационную матрицу от обоих методов оценки.
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
функционируйте реализует назад сглаживание алгоритма Фильтра Калмана: для , сглаживавшие состояния
Среда SSM составляет корректировки смещения наблюдаемых выражений во время оценки, как задано в функции отображения параметра к матрице. А именно, функция отображения выкачивает исходные наблюдения, и поэтому estimate
функция работает с настроенными смещением выражениями вместо исходных выражений . Предполагаемый EstMdlSSM
SSM не хранит данные, и поэтому это - агностик любых корректировок, внесенных в исходные выражения. Поэтому, когда вы вызываете другие функции SSM, такие как
filter
или smooth
, необходимо правильно объяснить любые смещения или компонент регрессии, сопоставленный с предикторами, которые вы включаете в уравнение наблюдения.
Выведите скрытые факторы, при соответствующем объяснении смещений, путем выполнения этой процедуры:
Выкачать путем вычитания точки пересечения сопоставлен с предполагаемым смещением . Это действие компенсирует корректировку смещения, которая произошла во время оценки.
Передайте предполагаемый EstMdlSSM
SSM и выкачанные выражения к
smooth
. Получившиеся сглаживавшие оценки состояния соответствуют выкачанным выражениям.
Настройте выкачанные, сглаживавшие оценки состояния путем добавления предполагаемого среднего значения к факторам. Это действие приводит к оценкам неприспособленных скрытых факторов.
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')
plot(dates, [Beta(:,2) EstimatedStates(:,2)]) title('Slope (Short-Term Factor)') ylabel('Percent') legend({'Two-step','SSM'},'Location','best')
plot(dates, [Beta(:,3) EstimatedStates(:,3)]) title('Curvature (Medium-Term Factor)') ylabel('Percent') legend({'Two-step','SSM'},'Location','best')
Уровень и наклон тесно соглашаются. Шаблоны, которые согласовывает оценочная форма искривления, но значения немного выключены.
Затем отобразите предполагаемый параметр уровня затухания сопоставленный с искривлением.
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')
Поведение, имеющее форму горба загрузки искривления в зависимости от зрелости показывает, почему искривление интерпретировано как среднесрочный фактор. Несмотря на то, что различия между этими двумя методами существуют, факторы, выведенные из каждого подхода обычно, соглашаются обоснованно тесно. Поскольку SSM/Kalman с одним шагом фильтруют метод оценки, в котором все параметры модели оцениваются одновременно, более гибко, метод предпочтен по двухступенчатому методу оценки.
Сравните средние значения и стандартные отклонения остаточных значений уравнения наблюдения между этими двумя методами оценки, как в Таблице 2 [2]. В ссылке, матрице факторных нагрузок матрица чувствительности измерения состояния из формулировки 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 месяцев.
Предсказывать предполагаемый EstMdlSSM
SSM, вами реализуют прогнозирование минимальной среднеквадратичной погрешности (MMSE) и методы симуляции Монте-Карло, которые поддерживает функциональность SSM.
Поскольку Модель Диболда-Ли зависит только от предполагаемых факторов, вы предсказываете кривую доходности путем прогнозирования каждого фактора. Кроме того, потому что предполагаемый SSM основан на выражениях смещения, необходимо компенсировать корректировку смещения при прогнозировании или симуляции модели, как описано в Выведенных Факторах.
Вычислите прогнозы MMSE путем выполнения следующих действий:
Передайте EstMdlSSM
и выкачанные выражения к forecast
функция. forecast
возвращает прогнозы MMSE выкачанных выражений 1,2..., 12 месяцев в будущее.
Вычислите предсказанные выражения путем добавления предполагаемого смещения к выкачанным, предсказанным выражениям.
fh = 12; % Forecast horizon (months)
[ForecastedDeflatedYields,FMSE] = forecast(EstMdlSSM,fh,DeflatedYields);
MMSEForecasts = ForecastedDeflatedYields + intercept';
Предсказанные кривые доходности MMSEForecasts
12 17 матрица; каждая строка соответствует периоду в горизонте прогноза, и каждый столбец соответствует зрелости.
Преимущество прогноза Монте-Карло по прогнозам MMSE состоит в том, что можно использовать большую выборку, полученную Методом Монте-Карло, чтобы изучить характеристики распределения прогноза.
Чтобы предсказать кривые доходности путем выполнения симуляции Монте-Карло, выполните эту общую процедуру:
Получите факторные оценки и их ковариационную матрицу в период , который является концом в выборочных данных и последнего периода, прежде чем горизонт прогноза запустится, чтобы инициализировать симуляцию Монте-Карло. Такие значения гарантируют, что симуляция начинается с последней доступной информации. Оценки и ковариационная матрица соответствуют выкачанным выражениям. Задайте начальные значения в предполагаемом ssm
объект модели.
Для всех сроков платежа вовлеките много демонстрационных путей выкачанных выражений в горизонт прогноза.
Раздуйте симулированные, выкачанные выражения.
В течение каждого периода в горизонте прогноза и зрелости, вычислите итоговую статистику расширенных выражений по симулированным путям.
Получите период факторные оценки и их ковариационная матрица путем передачи оценили EstMdlSSM
SSM и выкачанные выражения к
smooth
и возвратите массив структуры output, содержащий все оценки и ковариации периодом. Извлеките итоговый элемент полей, соответствующих сглаживавшим оценкам.
[~,~,results] = smooth(EstMdlSSM,DeflatedYields);
Mean0 = results(end).SmoothedStates;
Cov0 = results(end).SmoothedStatesCov;
Cov0 = (Cov0 + Cov0')/2; % Ensure covariance is symmetric
results
isa - 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 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')
Оценки эффективно идентичны.
Преимущество симуляции Монте-Карло - то, что она включает анализ распределения выражений вне их средней и стандартной погрешности. Симуляция Монте-Карло обеспечивает дополнительное понимание, как распределение влияет на распределение других переменных, зависящих от него. Например, индустрия страхования обычно использует симуляцию кривых доходности, чтобы оценить распределение прибыли и потерь, сопоставленных с контрактами пенсии и выплатами.
Отобразите распределение симулированного 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 (%)')
Прогнозы далее в горизонте прогноза более сомнительны, чем прогнозы ближе в конец в периоде расчета.
Макро-выражениями модель расширяет модель только для выражений включением макроэкономических и финансовых факторов. Минимальный набор переменных, которые характеризуют экономическую деятельность, включает использование производственной мощности (CU
, ) [7], ставка по федеральным фондам (FEDFUNDS
, ) [5], и ежегодная инфляция цен (PI
, ) [6], которые взаимодействуют с уровнем, наклоном, и искривление включает векторную авторегрессию. Увеличенный SSM
где и . Размерности и увеличьтесь до 6 6 и 6 1, соответственно. Уравнение наблюдения указывает, что уровень, наклон и факторы искривления достаточно дистиллируют информацию в кривой доходности. Кроме того, указывает, что макроэкономические переменные наблюдаются без погрешности измерения. Счета среды SSM на недостающие наблюдения, обозначенные NaN
значения в данных, путем замены оценками получены на Фильтр Калмана. Как формулировка только для выражений, процессы белого шума и имейте распределение
где 6 6 симметричная положительная определенная матрица, и является диагональным.
Формулировка, поддержанная функциональностью SSM,
где состояния являются настроенными средним значением факторами, а именно, . Выкачанные наблюдения
Модель содержит 81 неизвестный параметр:
содержит 36 параметров.
содержит 21 параметр.
содержит 17 параметров.
содержит 6 параметров.
содержит скаляр .
Функция отображения Example_YieldsMacro.m
сопоставляет вектор параметра с матрицами параметра SSM, выкачивает наблюдения с учетом средних значений каждого фактора и налагает ограничения на ковариационные матрицы. Для получения дополнительной информации, открытый Example_YieldsMacro.m
.
Набор данных выражений 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,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) измеряет динамические эффекты на состоянии и уравнениях измерения из-за непредвиденного шока для каждого воздействия состояния. В уравнении перехода , IRF является частной производной , относительно . Функциональность SSM IRF, irf
и irfplot
, выполняет следующие действия:
Примените шок состояния в период 1.
Нормируйте отклонение шока одному; матрица загрузки воздействия состояния определяет любые одновременные эффекты.
Возвратите ответы в течение периодов .
Для макро-выражениями модели, матрицы идентифицирован до . IRF макро-выражениями SSM требует идентификационных условий, таких как рекурсивное упорядоченное расположение переменных состояния так, чтобы нижняя треугольная матрица. Объяснение - то, что выражения датированы в начале каждого месяца, в то время как макроэкономические данные публикуются с задержкой. Следовательно, выражения оказывают одновременное влияние на макроэкономические переменные, но не наоборот.
Используйте 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 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 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 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')
Разложение отклонения ошибки прогноза (FEVD) предоставляет информацию об относительной важности каждого шока во влиянии на отклонение ошибки прогноза переменной отклика. Относительно взаимодействий макро-и кривой доходности FEVD анализирует, влияют ли макро-факторы, по сравнению с особенным изменением кривой доходности. В SSM воздействия в уравнениях перехода и измерения вызывают отклонение прогноза наблюдений. В присутствии ненулевой, матрицы коэффициентов инноваций наблюдения , разложение не суммирует к тому, потому что остающийся фрагмент относится к ковариации шума наблюдения . Чтобы обеспечить сумму одной, можно объяснить шум наблюдения путем перемасштабирования 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-месячного выражения, разложения отклонения использования производственной мощности показывают, что уровень, наклон и факторы искривления составляют небольшую часть изменения в каждый период в горизонте прогноза. Разложения отклонения других двух макроэкономических переменных показывают тот же шаблон.
В подбиравшей макро-выражениями модели, предполагаемых параметрах в нижнем левом углу матрицы перехода являются весьма отдельным образом значительными. Этот результат мотивирует модель с более экономной спецификацией, в частности с ограничением и диагональная ковариационная матрица . В ограниченной модели макроэкономические переменные являются внешними, что означает, что макроэкономические факторы влияют на факторы кривой доходности, но ссылка является односторонней, потому что ссылка выражений к макросу отсутствует.
Функция отображения 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
. Отобразите предполагаемую матрицу Грина .
[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.