Detrend timeseries of conditional heteroscedasticiy using GARCH(1,1)

5 views (last 30 days)
roblocks on 12 Jan 2016
Commented: roblocks on 13 Jan 2016
Dear Matlab Community, ----------- SHORT VERSION: I have time series data x(t) that has garch effects present. I want to "detrend" this series using GARCH(1,1), that is have matlab compute y(t) = x(t)/sigma(t) where sigma(t) is the GARCH variance estimated by matlab.
I watched the econometrics toolbox introduction where they estimate GARCH models, but they are only used for forecasting. In particular I am confused on how to get sigma(t) that is different for each t
----------- DETAILED VERSION: I have monthly financial time series data (returns and CDS quotes) of serveral companies and I would like to do pairwise granger causality tests on them in order to replicate a paper. To this end I first have to get stationary time series data.
  1. Therefore I computed differences and the dickeyfuller tests suggests no unit root (after differencing) which is nice. However the archtest() function still detects present arch effects.
  2. Like the authors, I would like to 'detrend' the data (clean it of conditional heteroscedasticity) using a GARCH(1,1) model.
In the end I want to run my granger tests on R(t)/sigma(t) where sigma(t) is the GARCH(1,1) variance that I need to estimate first.

Accepted Answer

Hang Qian
Hang Qian on 13 Jan 2016
Hi Jannic,
To remove the conditional variance from the observations, we may first estimate the model, and then we infer the conditional variance from the fitted model.
Suppose that we have a vector of data x.
1. Estimate the model:
Mdl = garch(1,1);
EstMdl = estimate(Mdl,x);
2. Infer the conditional variance from the fitted model:
variance = infer(EstMdl,x);
3. Remove the conditional variance
y = x ./ sqrt(variance);
Thank you.
Hang Qian

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!