Fit a Fixed Effects (“within”) estimator explaining a panel of dependent_tickers (the entities) by a regressor x, controlling for entity-specific (and/or time-specific) fixed effects.

Also known as: within estimator, FE, least squares dummy variable (LSDV) estimator.

Unlike this module’s other regression methods (get_ols, get_wls, …), which each compare a handful of individual ticker return series on equal footing, this treats dependent_tickers as a genuine panel of entities – e.g. every stock in the Toolkit instance – observed over time. The regressor x is built in exactly one of two ways (provide exactly one of the two arguments below):

  • independent_tickers: a COMMON factor (or factors) applied identically to every entity at each date (e.g. a market benchmark, mirroring a Fama-French-style factor regression).
  • independent_column: a PER-ENTITY regressor – each entity’s own value of a different historical data column (e.g. does "Volume" explain "Return", across the panel).

Fixed Effects removes any purely entity-specific, time-invariant characteristic (e.g. a stock’s typical risk premium) before estimating the regressor’s coefficient(s), by demeaning every variable by its entity’s mean. See panel_data_model.get_fixed_effects for the full formula and references.

Fixed Effects in Python

Install the Finance Toolkit with:

pip install financetoolkit -U

Then call get_fixed_effects as shown below.

from financetoolkit import Toolkit

toolkit = Toolkit(["AAPL", "MSFT"], api_key="FINANCIAL_MODELING_PREP_KEY")

toolkit.econometrics.get_fixed_effects(
    independent_tickers="Benchmark", period="weekly"
)

Which returns:

  Coefficient Std. Error t-Statistic P-Value
Benchmark 1.0772 0.0331 32.5314 0.0000
Entity Effect: AAPL 0.0022 nan nan nan
Entity Effect: MSFT 0.0017 nan nan nan

Parameters

The function accepts the following parameters:

  • independent_tickers (str | list[str] | None, optional): The factor ticker(s), whose column values are broadcast identically to every entity at each date. Mutually exclusive with independent_column.
  • independent_column (str | None, optional): A different historical data column, taken per-entity from each of dependent_tickers’ own data, to use as the regressor. Mutually exclusive with independent_tickers.
  • dependent_tickers (str | list[str] | None, optional): The panel of entity tickers to explain. Defaults to None, meaning every ticker in the Toolkit instance (other than independent_tickers, if given).
  • period (str, optional): The data frequency (daily, weekly, monthly, quarterly, or yearly). Defaults to “daily”.
  • column (str, optional): The dependent variable’s historical data column. Defaults to “Return”.
  • entity_effects (bool, optional): Whether to control for time-invariant entity-specific characteristics. Defaults to True.
  • time_effects (bool, optional): Whether to control for entity-invariant, time-specific shocks. Defaults to False.
  • rounding (int | None, optional): The number of decimals to round the results to. Defaults to None.
Share