ARCH-LM Test
Calculate Engle’s Lagrange Multiplier (LM) test for ARCH effects.
The test regresses squared, mean-demeaned returns on lags of themselves and tests whether the resulting R-squared is significantly different from zero. A significant result (low p-value) indicates that the return series exhibits volatility clustering, and a GARCH-family model is an appropriate choice for it. A high p-value suggests fitting GARCH would not be meaningful, since there is no detectable time-varying volatility to model.
For more information about the method, see the following paper:
- Engle, R.F. (1982). “Autoregressive Conditional Heteroscedasticity with Estimates of the Variance of United Kingdom Inflation.” Econometrica, 50(4), 987-1008.
Also known as: ARCH-LM test, Engle’s ARCH test.
No programming experience? With the Finance Toolkit MCP server, AI assistants such as Claude and ChatGPT can calculate the ARCH-LM Test for you. Just ask in plain English.
Calculate the ARCH-LM Test in Python
The ARCH-LM Test is available in the Econometrics module of the open-source Finance Toolkit. Install it with:
pip install financetoolkit -U
Then call get_arch_lm_test as shown below.
from financetoolkit import Toolkit
toolkit = Toolkit(["AMZN", "TSLA"], api_key="FINANCIAL_MODELING_PREP_KEY")
toolkit.econometrics.get_arch_lm_test(period="quarterly")
Which returns:
| AMZN | TSLA | |
|---|---|---|
| ARCH-LM Statistic | 4.0116 | 3.7793 |
| P-Value | 0.548 | 0.5817 |
Parameters
get_arch_lm_test accepts the following parameters:
- period (str, optional): The data frequency for returns (daily, weekly, monthly, quarterly, or yearly). Defaults to “daily”.
- within_period (bool, optional): Whether to calculate the test within the specified period or for the entire period. Thus whether to look at the test within a specific year (if period = ‘yearly’) or look at the entirety of all years. Defaults to False.
- lags (int, optional): The number of lags to test for ARCH effects. Defaults to 5.
- include_benchmark (bool, optional): Whether to include “Benchmark” among the assets tested. Defaults to False.
- rounding (int | None, optional): The number of decimals to round the results to. Defaults to None.
Related Diagnostics
The Econometrics module page introduces the module, and the sidebar lists all of its functions.