I am trying to determine the significance of coefficients of a GARCH model by calculate the p-values using the following Matlab formula:

pvalues = 2*(1-tcdf(abs(t),n-v)),

where $t$ is the t-stat, $n$ the number of observations and $v$ the degrees of freedom. Should I use $v=2$ as the numbed of degrees of freedom or is it dependent on the number of parameters to estimate, as in linear regression?

  • $\begingroup$ The number of parameters in a Gaussian GARCH(p, q) model equals 1 + p + q. $\endgroup$
    – John
    Mar 10, 2016 at 23:46
  • $\begingroup$ Also, if you're using daily data, then n should be much larger than v. $\endgroup$
    – John
    Mar 10, 2016 at 23:48
  • $\begingroup$ You are obviously right about the number of parameters in a Gaussian GARCH model. I suggested $v = 2$ based on what I read online about taking $n-2$ degrees of freedom for calculating the p-values in linear regressions. And yes, n is much larger than v. $\endgroup$
    – Masher
    Mar 10, 2016 at 23:50

2 Answers 2


$v$ should be the total number of parameters (constants + AR + MA + GARCH + ARCH).

I disagree with @kiwiakos, the student t(df) distribution is used because we are using standard errors which are estimates of standard deviations (and not true standard deviations) to compute the statistic. That is the reason why we use student t test eventhose the asymptotically parameter distribution is Gaussian.

The formula for the p-value is then :

Example :

Coeff = 0.15

Std Error = 0.064 (or robust std errors)

The t-statistic is : 0.15/ 0.064 = 2.3438 (not p-statistic because we use standard error!)

t-prob = p-value = 2*(1-tcdf( | 2.3438 | ,n-v)) ( p-value with a student dist and not p-value with a normal dist !)


This is not specific to GARCH parameters but to the theory of tests statistics.

The main idea :

We should use the z-test only if there is no uncertainty regarding the population variance. However this is rarely the case so the p-value are obtained using the student t distribution. If the sample size is large enough the normal distribution (i.e the z test) can be used.

Let's X to be a gaussian random variable, and let $\bar{X}$ to be the sample mean.

The standardized statistic z is normally distributed ( see the central limit theorem) and is given by:

$z = (\bar{x} - m_{0} )/ \sigma_{\bar{X}} $

where $\sigma_{\bar{X}} $ is the standard deviation of the sample mean. We can compute this standard deviation based on the population variance $\sigma_{X}^{2}$ and it is given by : \begin{equation*}\begin{aligned} \sigma_{\bar{X}}^{2} &=& var\{\dfrac{1}{n}(X_{1}+\ldots + X_{n})\}\\ &=&\dfrac{1}{n^2} var\{( X_{1}+\ldots + X_{n} )\}\\ &=&\dfrac{1}{n^2} (\sigma_{X}^{2}+ \ldots+ \sigma_{X}^{2})\\ &=&\dfrac{1}{n^2} (n\sigma_{X}^{2})\\ &=& \frac{\sigma_{X}^{2}}{n} \end{aligned}\end{equation*}

However since we don’t know the population variance $\sigma^{2}_{X} $ we need to employ an estimation for it and this introduce some uncertainty. To approximate the population variance $\sigma_{X}^{2}$, (generally) we employ the sample variance given by :

\begin{equation*} s_{X}^{2}=\dfrac{1}{n-1}\sum_{i=1}^{n}(X_{i}-\bar{X})^{2} \end{equation*}

Then the variance of the sample mean is approximated as follow :

$\widehat{ \sigma^{2}_{\bar{X}}} = \frac{s_{X}^{2} }{ n}$

(instead of $ \frac{\sigma_{X}^{2}}{n}$ )

So the standards errors (which takes into account this uncertainty) are :

$ se = \sqrt{\widehat{ \sigma^{2}_{\bar{X}}} } = \frac{s_{X} }{\sqrt{n}}$

the z test is modified in the following way:

$z = \frac{ \bar{x} - m_{0} }{ \sigma_{\bar{X}} } $

becomes :

$t = \frac{ \bar{x} - m_{0} }{ se } $

and $t$ will be student t distributed with (n-number of parameters) degrees of freedom (see here ).

The fact that we employ the standards errors instead of the standard deviation make the Z test to be a T test . When we use the MLE method, it is the same , we can replace X as the estimated parameters (wich are asymptotically gaussian random variables). We don't employ their true standards deviations but we use an estimation of it. The Hessian gives us the standards errors , not the standards deviations (because there is uncertainty - we don't observe the population but a sample). So we should employ the $t$ test.

Note that, when $n$ (the number of observation ) increases the student t distribution becomes closer to the normal distribution and then p values obtained with the normal distribution or student t distribution will becomes the same ( cf @John comment). This is logical because the uncertainty decreases as the number of observations increases.

  • $\begingroup$ Reference with proof? $\endgroup$
    – Kiwiakos
    Mar 11, 2016 at 13:03
  • $\begingroup$ @Kiwiakos see edit $\endgroup$
    – Malick
    Mar 11, 2016 at 16:56
  • $\begingroup$ I don't think that the statement "when we use MLE it's the same" constitutes proof. But I think that you are confusing asympotic and finite sample results. MLE is an asymptotic theory only. There is nothing Gaussian, or t or whatever else in small samples. Only asymptotic normality, under regularity conditions. Finite sample distributions can be assessed by Monte Carlo/ bootstrapping only afaik. $\endgroup$
    – Kiwiakos
    Mar 12, 2016 at 22:21
  • $\begingroup$ What you have written is not universally true in linear models neither. Hundreds of papers have been written on the sampling distributions of near unit root and co-integrated systems, and how using the Student-t distribution leads to wrong inference. And that's stil OLS, not even MLE. $\endgroup$
    – Kiwiakos
    Mar 12, 2016 at 22:27
  • $\begingroup$ @Malick I estimated a GJR-GARCH model using rugarch package in R on a dataset I am curently using, with 1000 observations. The results for the $\mu$ parameter are coefficient = $3.563047e-04$ std = $0.0004978551$ t-stat = $0.7156795$ p-value = $4.741893e-01$. Using the formula you mention in your answer I get $0.4743572$. There are 5 parameters in the model, so $v = 995$. It seems I cannot obtain the same results using this method. $\endgroup$
    – Masher
    Mar 12, 2016 at 23:48

Before you start asking about the number of dof, how do you know that the finite sample distribution of parameters is student-t? I don't think it is. In linear regression they are student-t because of linearity and under assumption for the residual distribution.

In Garch you can just say that if you estimate using max-likelihood then asymptotically (not finite sample) parameter distributions are Gaussian, with variance proportional to the inverse of the Hessian of the log-lik function.

If you go down that route, then you have to resist the shortcut of using the Hessian that the optimizer spits out. Also, you have to remember that p-values in this context are possibly meaningless quantities in the first place (as the ASA recently all but admitted).

  • $\begingroup$ That being said, I looked over Engle's Garch 101 paper and he seems to be using p value calculations similar to the OP's formula. $\endgroup$
    – John
    Mar 10, 2016 at 23:39
  • $\begingroup$ Can you please provide a reference (I quickly scanned Engle's paper but couldn't find Student's Cdf) $\endgroup$
    – Kiwiakos
    Mar 11, 2016 at 7:30
  • $\begingroup$ He doesn't provide the formula. He just provides p values for the coefficients. I just used a normal p value calculation and got the same results. $\endgroup$
    – John
    Mar 11, 2016 at 13:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.