exponenta event banner

Прогнозная скорость IGD из модели ARX

В этом примере показано, как создать прогнозы минимальной среднеквадратической ошибки (MMSE) и прогноза Монте-Карло из модели ARX (1), адаптированной к историческим данным. Серия ответов содержит ежегодные измерения ставки дефолта по корпоративным облигациям инвестиционного уровня (IGD).

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

Загрузка и проверка данных

Загрузите набор данных, содержащий кредитные ставки по умолчанию.

load Data_CreditDefaults

Для получения подробной информации о наборе данных просмотрите Description.

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

Tbl = table2timetable(DataTable,"RowTimes",datetime(DataTable.Dates,"Format","yyyy"));

Эконометрика Toolbox™ arima программное обеспечение удаляет отсутствующие наблюдения (указано NaNs) из данных с помощью удаления по списку. Это действие влияет на способ секционирования данных.

Определите, содержит ли какая-либо строка данных хотя бы одно отсутствующее наблюдение.

idxmiss = any(ismissing(Tbl),2);
anymissing = sum(idxmiss)
anymissing = 0

В данных отсутствуют отсутствующие наблюдения.

Определите общий размер выборки.

T = size(Tbl,1)
T = 21

Временная шкала секционирования

Предположим, что все серии в данных являются стационарными, и рассмотрим эту модель ARX (1) для скорости IGD:

IGDt = c + IGDt-1 + β1AGEt + β2CPFt + β3SPRt + αt,

где αt - iid ряд гауссовых случайных величин со средним значением 0 и конечной дисперсией.

Для оценки модели ARX (1) условное среднее первого ответа требует предыдущего ответа. Следовательно, период предварительной выборки для оценки является первой строкой данных. Кроме того, рассмотрите возможность прогнозирования IGD на 8-летний прогнозный горизонт и сравнения прогнозов с наблюдаемыми ответами. Таким образом, прогнозный период представляет собой последние восемь строк данных. Поместите модель в соответствии с остальными данными.

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

fh = 8;                          % Forecast horizon
idxpre = 1;                      
idxest = 2:(T - fh);   
idxf = (T - fh + 1):T; 

fprintf('\nPresample period: %d\nEstimation Period: %d - %d\nForecast period: %d - %d\n',...
    year(Tbl.Time([idxpre idxest(1) idxest(end) idxf(1) idxf(end)])))
Presample period: 1984
Estimation Period: 1985 - 1996
Forecast period: 1997 - 2004

Подгонка модели к данным

Создание arima объект модели, представляющий модель ARX (1).

Mdl = arima(1,0,0)
Mdl = 
  arima with properties:

     Description: "ARIMA(1,0,0) Model (Gaussian Distribution)"
    Distribution: Name = "Gaussian"
               P: 1
               D: 0
               Q: 0
        Constant: NaN
              AR: {NaN} at lag [1]
             SAR: {}
              MA: {}
             SMA: {}
     Seasonality: 0
            Beta: [1×0]
        Variance: NaN

Mdl является шаблоном для оценки. Свойства Mdl которые имеют значение NaN соответствуют неизвестным параметрам модели ARX (1), которые должны быть оценены estimate. Хотя свойство коэффициента регрессии Beta пуст, estimate определяет его размер по количеству столбцов в указанной внешней матрице данных.

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

X = Tbl{:,["AGE" "CPF" "SPR"]};
Mdl = estimate(Mdl,Tbl.IGD(idxest),'Y0',Tbl.IGD(idxpre),...
    'X',X(idxest,:));
 
    ARIMAX(1,0,0) Model (Gaussian Distribution):
 
                  Value       StandardError    TStatistic     PValue 
                __________    _____________    __________    ________

    Constant      0.022517        0.20278        0.11104      0.91158
    AR{1}         -0.18486        0.43861       -0.42146      0.67342
    Beta(1)      0.0091356       0.016249        0.56224      0.57395
    Beta(2)     -0.0098351      0.0053577        -1.8357     0.066402
    Beta(3)      0.0039044       0.057031       0.068461      0.94542
    Variance     0.0027082      0.0014648         1.8489     0.064468

Mdl является полностью указанным arima объект модели, представляющий подогнанную модель ARX (1). Резюме оценки предполагает, что все переменные, кроме CPF (Beta(2)) незначительны при уровне значимости 10%.

Создание прогнозов MMSE

Прогнозирование откликов MMSE в 8-летний горизонт прогноза и вычисление соответствующих отклонений ошибок прогноза. Поскольку для yˆ1997 прогноза с опережением на 1 период требуется предварительный отклик y1996, а для прогноза с опережением на t-период требуются экзогенные данные Xt, укажите окончательный отклик в выборке оценки как предварительный отклик и укажите экзогенные данные периода прогноза.

[yf,ymse] = forecast(Mdl,fh,Tbl.IGD(idxest(end)),...
    'XF',X(idxf,:));

Рассчитайте интервалы прогнозирования для прогнозов, предполагая, что они нормально распределены.

ci = yf + 1.96*[-sqrt(ymse) sqrt(ymse)];

График прогнозов MMSE

Постройте график серии ответов с использованием их прогнозов MMSE и интервалов прогнозирования.

figure
h1 = plot(Tbl.Time,Tbl.IGD,'ko-','LineWidth',2);
hold on
h2 = plot(Tbl.Time(idxf),yf,'k:','LineWidth',2);
h3 = plot(Tbl.Time(idxf),ci,'r:','LineWidth',2);
h = gca;
px = Tbl.Time(idxf([1 end end 1]));
py = h.YLim([1 1 2 2]);
hf = fill(px,py,[0.9 0.9 0.9]);
uistack(hf,"bottom");
legend([h1 h2 h3(1) hf],["Observation" "Forecast"...
    "95% Interval" "Forecast period"],'Location','NorthWest')
title('IGD Rates and MMSE Forecasts')
xlabel('Year')
ylabel('IGD (%)')
axis tight
hold off

Figure contains an axes. The axes with title IGD Rates and MMSE Forecasts contains 5 objects of type patch, line. These objects represent Forecast period, Observation, Forecast, 95% Interval.

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

Создание прогнозов Монте-Карло

Прогнозирование ответов путем моделирования 100 путей из установленной модели ARX (1). Затем агрегируйте случайные пути путем вычисления среднего значения и интервалов процентиля 2,5% и 97,5% в каждый момент времени в периоде прогноза. Аналогично расчету прогноза MMSE ,simulate требуется предварительный пример ответа y1996 для генерации y1997 из установленной модели ARX (1), и для этого требуются экзогенные данные в периоде прогноза.

nsim = 100;
rng(1);
YMC = simulate(Mdl,fh,'NumPaths',nsim,...
    'Y0',Tbl.IGD(idxest(end)),'X',X(idxf,:));
YMCbar = mean(YMC,2);
YMCci = quantile(YMC',[0.025 0.975]);

График прогнозов Монте-Карло

Постройте график серии ответов с прогнозами Монте-Карло и интервалами 95% процентиля.

figure
h1 = plot(Tbl.Time,Tbl.IGD,'ko-','LineWidth',2);
hold on
h2 = plot(Tbl.Time(idxf),YMC,'Color',[0.7 0.7 0.7]);
h3 = plot(Tbl.Time(idxf),YMCbar,'c:','LineWidth',3);
h4 = plot(Tbl.Time(idxf),YMCci,'r:','LineWidth',3);
h = gca;
px = Tbl.Time(idxf([1 end end 1]));
py = h.YLim([1 1 2 2]);
hf = fill(px,py,[0.9 0.9 0.9]);
uistack(hf,"bottom");
legend([h1 h2(1) h3 h4(1) hf],["Observation" "Monte Carlo path"...
    "Monte Carlo mean" "95% Interval" "Forecast period"],'Location','NorthWest')
title('IGD Rates and Monte Carlo Forecasts')
xlabel('Year')
ylabel('IGD (%)')
axis tight
hold off

Figure contains an axes. The axes with title IGD Rates and Monte Carlo Forecasts contains 105 objects of type patch, line. These objects represent Forecast period, Observation, Monte Carlo path, Monte Carlo mean, 95% Interval.

Прогнозы Монте-Карло и интервалы прогнозирования напоминают прогнозы MMSE.

Ссылки

[1] Helwege, J. и П. Клейман. «Общие сведения о совокупных ставках по умолчанию для высокодоходных облигаций». Актуальные вопросы экономики и финансов. Том 2, № 6, 1996, стр. 1-6.

[2] Лоэффлер, Г. и П. Н. Пош. Моделирование кредитных рисков с использованием Excel и VBA. Западный Сассекс, Англия: Wiley Finance, 2007.

См. также

Объекты

Функции

Связанные темы