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.

The Econometrics module page introduces the module, and the sidebar lists all of its functions.

Share