www.gusucode.com > econ 案例源码程序 matlab代码 > econ/CompareConditionalVarianceModelsUsingInformationCriteriaExample.m
%% Compare Conditional Variance Models Using Information Criteria % This example shows how to specify and fit a GARCH, EGARCH, and GJR model % to foreign exchange rate returns. Compare the fits using AIC and BIC. % Copyright 2015 The MathWorks, Inc. %% Step 1. Load the data. % Load the foreign exchange rate data included with the toolbox. Convert % the Swiss franc exchange rate to returns. load Data_FXRates y = DataTable.CHF; r = price2ret(y); T = length(r); logL = zeros(1,3); % Preallocate numParams = logL; % Preallocate figure plot(r) xlim([0,T]) title('Swiss Franc Exchange Rate Returns') %% % The returns series appears to exhibit some volatility clustering. %% Step 2. Fit a GARCH(1,1) model. % Specify, and then fit a GARCH(1,1) model to the returns series. Return % the value of the loglikelihood objective function. Mdl1 = garch(1,1); [EstMdl1,EstParamCov1,logL(1)] = estimate(Mdl1,r); numParams(1) = sum(any(EstParamCov1)); % Number of fitted parameters %% Step 3. Fit an EGARCH(1,1) model. % Specify, and then fit an EGARCH(1,1) model to the returns series. Return % the value of the loglikelihood objective function. Mdl2 = egarch(1,1); [EstMdl2,EstParamCov2,logL(2)] = estimate(Mdl2,r); numParams(2) = sum(any(EstParamCov2)); %% Step 4. Fit a GJR(1,1) model. % Specify, and then fit a GJR(1,1) model to the returns series. Return the % value of the loglikelihood objective function. Mdl3 = gjr(1,1); [EstMdl3,EstParamCov3,logL(3)] = estimate(Mdl3,r); numParams(3) = sum(any(EstParamCov3)); %% % The leverage term in the GJR model is not statistically significant. %% Step 5. Compare the model fits using AIC and BIC. % Calculate the AIC and BIC values for the GARCH, EGARCH, and GJR model % fits. The GARCH model has three parameters; the EGARCH and GJR models % each have four parameters. [aic,bic] = aicbic(logL,numParams,T) %% % The GARCH(1,1) and EGARCH(1,1) models are not nested, so you cannot compare % them by conducting a likelihood ratio test. The GARCH(1,1) is nested in % the GJR(1,1) model, however, so you could use a likelihood ratio test % to compare these models. %% % Using AIC and BIC, the GARCH(1,1) model has slightly smaller (more negative) % AIC and BIC values. Thus, the GARCH(1,1) model is the preferred model % according to these criteria.