summaryrefslogtreecommitdiff
path: root/macros/arch_test.sci
diff options
context:
space:
mode:
Diffstat (limited to 'macros/arch_test.sci')
-rw-r--r--macros/arch_test.sci56
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");