Этот пример показывает, как оценить композитную условную модель среднего и отклонения с помощью estimate
.
Загрузите данные NASDAQ, включенные в Econometrics Toolbox™. Преобразуйте ежедневно закрываемый составной ряд индексов в возврат ряд. Для численной устойчивости преобразуйте возвраты в процентные возвраты.
load Data_EquityIdx
nasdaq = DataTable.NASDAQ;
r = 100*price2ret(nasdaq);
T = length(r);
Создайте композитную модель AR (1) и GARCH (1,1), которая имеет вид
где и является iid стандартизированным Гауссовым процессом.
VarMdl = garch(1,1)
VarMdl = garch with properties: Description: "GARCH(1,1) Conditional Variance Model (Gaussian Distribution)" Distribution: Name = "Gaussian" P: 1 Q: 1 Constant: NaN GARCH: {NaN} at lag [1] ARCH: {NaN} at lag [1] Offset: 0
Mdl = arima('ARLags',1,'Variance',VarMdl)
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: [GARCH(1,1) Model]
Mdl
является arima
шаблон модели для оценки. NaN
-значенные свойства Mdl
и VarMdl
соответствуют неизвестным, оцениваемым коэффициентам и параметрам отклонения составной модели.
Подбор модели к ряду возврата r
при помощи estimate
.
EstMdl = estimate(Mdl,r);
ARIMA(1,0,0) Model (Gaussian Distribution): Value StandardError TStatistic PValue ________ _____________ __________ __________ Constant 0.072632 0.018047 4.0245 5.7087e-05 AR{1} 0.13816 0.019893 6.945 3.7847e-12 GARCH(1,1) Conditional Variance Model (Gaussian Distribution): Value StandardError TStatistic PValue ________ _____________ __________ __________ Constant 0.022377 0.0033201 6.7399 1.5851e-11 GARCH{1} 0.87312 0.0091019 95.927 0 ARCH{1} 0.11865 0.008717 13.611 3.434e-42
EstMdl
является полностью заданным arima
модель.
На отображении оценки показаны пять оценочных параметров и соответствующие им стандартные ошибки (условная средняя модель AR (1) имеет два параметра, а модель условного отклонения GARCH (1,1) имеет три параметра ).
Подобранная модель (EstMdl
является
Все статистика больше 2, что позволяет предположить, что все параметры статистически значимы.
Динамические модели требуют предварительных наблюдений, с помощью которых можно инициализировать модель. Если вы не задаете предварительные наблюдения, estimate
генерирует их по умолчанию.
Выведите и постройте график условных отклонений и стандартизированных невязок. Вывод значения целевой функции логарифмической правдоподобности.
[res,v,logL] = infer(EstMdl,r); figure subplot(2,1,1) plot(v) xlim([0,T]) title('Conditional Variances') subplot(2,1,2) plot(res./sqrt(v)) xlim([0,T]) title('Standardized Residuals')
Условные отклонения увеличиваются после наблюдения 2000. Этот результат соответствует повышенной волатильности, наблюдаемой в исходной серии возвратов.
Стандартизированные невязки имеют более большие значения (больше 2 или 3 в абсолютном значении), чем ожидалось при стандартном нормальном распределении. Этот результат предполагает, что студент распределение может быть более подходящим для инновационного распределения.
Создайте шаблон модели из Mdl
, и указать, что его инновации имеют Студенческое распределение.
MdlT = Mdl;
MdlT.Distribution = 't';
MdlT
имеет одну дополнительную оценку параметра: распределение степеней свободы.
Подгонка новой модели к возвратной серии NASDAQ. Задайте начальное значение для постоянного члена модели отклонения.
Variance0 = {'Constant0',0.001}; EstMdlT = estimate(MdlT,r,'Variance0',Variance0);
ARIMA(1,0,0) Model (t Distribution): Value StandardError TStatistic PValue ________ _____________ __________ __________ Constant 0.093488 0.016694 5.6002 2.1413e-08 AR{1} 0.13911 0.018857 7.3771 1.6175e-13 DoF 7.4775 0.88261 8.472 2.4126e-17 GARCH(1,1) Conditional Variance Model (t Distribution): Value StandardError TStatistic PValue ________ _____________ __________ __________ Constant 0.011246 0.0036305 3.0976 0.0019511 GARCH{1} 0.90766 0.010516 86.315 0 ARCH{1} 0.089897 0.010835 8.2966 1.0712e-16 DoF 7.4775 0.88261 8.472 2.4126e-17
Оценки коэффициентов между EstMdl
и EstMdlT
немного отличаются. Оценка степеней свободы относительно небольшая (около 8), что указывает на значительное отклонение от нормальности.
Результирующие оценочные модели. Из сводных данных получите количество оцененных параметров и логарифмической правдоподобности значение целевой функции из второй подгонки.
Summary = summarize(EstMdl); SummaryT = summarize(EstMdlT); numparams = Summary.NumEstimatedParameters; numparamsT = SummaryT.NumEstimatedParameters; logLT = SummaryT.LogLikelihood;
Сравните две модели подгонки (Гауссов и инновационное распределение) с использованием информационного критерия Akaike (AIC) и байесовского информационного критерия (BIC).
[numparams numparamsT]
ans = 1×2
5 6
[aic,bic] = aicbic([logL logLT],[numparams numparamsT],T)
aic = 1×2
103 ×
9.4929 9.3807
bic = 1×2
103 ×
9.5230 9.4168
Первая модель имеет шесть настроенных параметров, тогда как вторая модель имеет шесть (потому что она содержит распределение степеней свободы). Несмотря на это различие, оба информационных критерия благоприятствуют модели со Студенческой инновационное распределение, потому что оно приводит к меньшим значениям AIC и BIC, чем модель с Гауссовыми инновациями.