Likelihood Ratio Test for Conditional Variance Models

This example shows how to estimate a conditional variance model using estimate. Fit two competing models to the data, and then compare their fit using a likelihood ratio test.

Step 1. Load the data and specify a GARCH model.

Load the Deutschmark/British pound foreign exchange rate data included with the toolbox, and convert it to returns. Specify a GARCH(1,1) model with a mean offset to estimate.

load Data_MarkPound
r = price2ret(Data);
T = length(r);
Mdl = garch('Offset',NaN,'GARCHLags',1,'ARCHLags',1);

Step 2. Estimate the GARCH model parameters.

Fit the specified GARCH(1,1) model to the returns series using estimate. Return the value of the loglikelihood objective function.

[EstMdl,~,logL] = estimate(Mdl,r);
 
    GARCH(1,1) Conditional Variance Model:
    ----------------------------------------
    Conditional Probability Distribution: Gaussian

                                  Standard          t     
     Parameter       Value          Error       Statistic 
    -----------   -----------   ------------   -----------
     Constant    1.07575e-06   3.57246e-07        3.01122
     GARCH{1}       0.806055     0.0132741         60.724
      ARCH{1}       0.153113     0.0115317        13.2776
       Offset   -6.13095e-05   8.28663e-05       -0.73986

The estimation output shows the four estimated parameters and corresponding standard errors. The t statistic for the mean offset is not greater than two in magnitude, suggesting this parameter is not statistically significant.

Step 3. Fit a GARCH model without a mean offset.

Specify a second model without a mean offset, and fit it to the returns series.

Mdl2 = garch(1,1);
[EstMdl2,~,logL2] = estimate(Mdl2,r);
 
    GARCH(1,1) Conditional Variance Model:
    ----------------------------------------
    Conditional Probability Distribution: Gaussian

                                  Standard          t     
     Parameter       Value          Error       Statistic 
    -----------   -----------   ------------   -----------
     Constant    1.05346e-06   3.50483e-07        3.00575
     GARCH{1}       0.806576     0.0129095        62.4794
      ARCH{1}       0.154357     0.0115746        13.3358

All the t statistics for the new fitted model are greater than two in magnitude.

Step 4. Conduct a likelihood ratio test.

Compare the fitted models EstMdl and EstMdl2 using the likelihood ratio test. The number of restrictions for the test is one (only the mean offset was excluded in the second model).

[h,p] = lratiotest(logL,logL2,1)
h =

     0


p =

    0.4534

The null hypothesis of the restricted model is not rejected in favor of the larger model (h = 0). The model without a mean offset is the more parsimonious choice.

Step 5. Infer the conditional variances and standardized innovations.

Infer and plot the conditional variances and standardized innovations for the fitted model without a mean offset (EstMdl2).

v = infer(EstMdl2,r);
inn = r./sqrt(v);

figure
subplot(2,1,1)
plot(v)
xlim([0,T])
title('Conditional Variances')

subplot(2,1,2)
plot(inn)
xlim([0,T])
title('Standardized Innovations')

The inferred conditional variances show the periods of high volatility.

See Also

| | |

Related Examples

More About

Was this topic helpful?