Breusch-Pagan Test
Calculate the Breusch-Pagan test for heteroskedasticity of a regression of dependent_ticker on independent_tickers.
Also known as: BP test, Breusch-Pagan-Godfrey test.
For more information about the method, see specification_tests_model.get_breusch_pagan_test.
No programming experience? With the Finance Toolkit MCP server, AI assistants such as Claude and ChatGPT can calculate the Breusch-Pagan Test for you. Just ask in plain English.
Calculate the Breusch-Pagan Test in Python
The Breusch-Pagan Test is available in the Econometrics module of the open-source Finance Toolkit. Install it with:
pip install financetoolkit -U
Then call get_breusch_pagan_test as shown below.
from financetoolkit import Toolkit
toolkit = Toolkit(["AAPL", "MSFT"], api_key="FINANCIAL_MODELING_PREP_KEY")
# AAPL (the first ticker) is dependent; MSFT and Benchmark are independent
toolkit.econometrics.get_breusch_pagan_test(
independent_tickers=["MSFT", "Benchmark"], period="weekly"
)
Which returns:
| Metric | Value |
|---|---|
| Breusch-Pagan Statistic | 1.5544 |
| P-Value | 0.4597 |
| Reject Homoskedasticity (5%) | 0 |
Parameters
get_breusch_pagan_test accepts the following parameters:
- dependent_ticker (str | None, optional): The dependent (predicted) asset. Defaults to None, meaning the Toolkit instance’s first ticker.
- independent_tickers (str | list[str] | None, optional): The independent
(predictor) asset(s). Defaults to None, meaning every other ticker in
the Toolkit instance besides
dependent_ticker. - include_benchmark (bool, optional): Whether to include “Benchmark” in the default independent ticker(s) (has no effect when independent_tickers is given explicitly). Defaults to False.
- period (str, optional): The data frequency (daily, weekly, monthly, quarterly, or yearly). Defaults to “daily”.
- column (str, optional): The historical data column to regress on. Defaults to “Return”.
- add_constant (bool, optional): Whether to include an intercept in the underlying regression. Defaults to True.
- 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.