diff options
Diffstat (limited to 'macros/arch_test.sci')
-rw-r--r-- | macros/arch_test.sci | 56 |
1 files changed, 29 insertions, 27 deletions
diff --git a/macros/arch_test.sci b/macros/arch_test.sci index 5cb8ed8..9a1d4a5 100644 --- a/macros/arch_test.sci +++ b/macros/arch_test.sci @@ -1,36 +1,38 @@ -/* -Description: - Perform a Lagrange Multiplier (LM) test for conditional heteroscedasticity. - For a linear regression model - y = x * b + e - perform a Lagrange Multiplier (LM) test of the null hypothesis of no conditional heteroscedascity against the alternative of CH(p). - I.e., the model is - y(t) = b(1) * x(t,1) + … + b(k) * x(t,k) + e(t), - given y up to t-1 and x up to t, e(t) is N(0, h(t)) with - h(t) = v + a(1) * e(t-1)^2 + … + a(p) * e(t-p)^2, - and the null is a(1) == … == a(p) == 0. - If the second argument is a scalar integer, k, perform the same test in a linear autoregression model of order k, i.e., with - [1, y(t-1), …, y(t-k)] - as the t-th row of x. - Under the null, LM approximately has a chisquare distribution with p degrees of freedom and pval is the p-value (1 minus the CDF of this distribution at LM) of the test. - If no output argument is given, the p-value is displayed. - Calling Sequence - [pval, lm] = arch_test (y, x, p) - Parameters - y: Array-like. Dependent variable of the regression model. - x: Array-like. Independent variables of the regression model. If x is a scalar integer k, it represents the order of autoregression. - p : Integer. Number of lagged squared residuals to include in the heteroscedasticity model. - Returns: - pval: Float. p-value of the LM test. - lm: Float. Lagrange Multiplier test statistic.*/ - Dependencies : ols, autoreg_matrix -//helper function + + function cdf = chi2cdf ( X, n) df = resize_matrix ( n , size (X) , "" , n); [cdf,Q] = cdfchi ( "PQ" , X ,df); endfunction //main function function [pval, lm] = arch_test (y, x, p) +// Perform a Lagrange Multiplier (LM) test for conditional heteroscedasticity. +// Description: +// Perform a Lagrange Multiplier (LM) test for conditional heteroscedasticity. +// For a linear regression model +// y = x * b + e +// perform a Lagrange Multiplier (LM) test of the null hypothesis of no conditional heteroscedascity against the alternative of CH(p). +// I.e., the model is +// y(t) = b(1) * x(t,1) + … + b(k) * x(t,k) + e(t), +// given y up to t-1 and x up to t, e(t) is N(0, h(t)) with +// h(t) = v + a(1) * e(t-1)^2 + … + a(p) * e(t-p)^2, +// and the null is a(1) == … == a(p) == 0. +// If the second argument is a scalar integer, k, perform the same test in a linear autoregression model of order k, i.e., with +// [1, y(t-1), …, y(t-k)] +// as the t-th row of x. +// Under the null, LM approximately has a chisquare distribution with p degrees of freedom and pval is the p-value (1 minus the CDF of this distribution at LM) of the test. +// If no output argument is given, the p-value is displayed. +// Calling Sequence +// [pval, lm] = arch_test (y, x, p) +// Parameters +// y: Array-like. Dependent variable of the regression model. +// x: Array-like. Independent variables of the regression model. If x is a scalar integer k, it represents the order of autoregression. +// p : Integer. Number of lagged squared residuals to include in the heteroscedasticity model. +// Returns: +// pval: Float. p-value of the LM test. +// lm: Float. Lagrange Multiplier test statistic.*/ +// Dependencies : ols, autoreg_matrix + nargin = argn(2) if (nargin ~= 3) error ("arch_test: 3 input arguments required"); |