Calculate the Force Index for a given price series.

The Force Index is an indicator that measures the strength behind price movements.

The formula is as follows:

\[\text{Raw Force Index} = (\text{Close} - \operatorname{Close}(1)) \cdot \text{Volume}\] \[\text{Force Index} = \operatorname{EMA}(\text{Raw Force Index},\; \text{window})\]

Also known as: FI, Elder’s Force Index.

Force Index in Python or via the MCP

Install the Finance Toolkit with:

pip install financetoolkit -U

Then call get_force_index as shown below.

from financetoolkit import Toolkit

toolkit = Toolkit(
    tickers=["TLT"],
    api_key="FINANCIAL_MODELING_PREP_KEY",
    start_date="2021-01-01",
    end_date="2025-12-31",
)

toolkit.technicals.get_force_index().tail(5)

Or, after setting up the Finance Toolkit MCP, ask:

How did the Force Index of the iShares 20+ Year Treasury Bond ETF (TLT), its price change times volume, move from 24 to 31 December 2025?

Which returns:

Date TLT Benchmark
2025-12-24 946514 8.27837e+07
2025-12-26 -287501 7.05413e+07
2025-12-29 1.09756e+06 3.86575e+07
2025-12-30 223430 2.75431e+07
2025-12-31 -3.35421e+06 -2.98818e+07

Parameters

get_force_index accepts the following parameters.

ParameterTypeDescriptionExample
periodstrThe time period to consider for historical data. Can be “intraday”, “daily”, “weekly”, “monthly”, “quarterly” or “yearly”. Defaults to “daily”."weekly"
close_columnstrThe column in the historical data that represents the closing prices. Defaults to “Adj Close”."Close"
windowintThe number of periods of the EMA that smooths the raw Force Index. Defaults to 13, Elder’s setting for the trend (2 is his setting for timing entries).20
roundingint | NoneThe number of decimals to round the results to. Defaults to None, which uses the rounding of the Toolkit (4 unless set otherwise).2
growthboolWhether to calculate the growth of the indicator values. Defaults to False.True
lagint | list[int]The lag to use for the growth calculation. Defaults to 1.4
standardizeboolWhether to standardize (Z-Score) the result. When combined with growth=True, standardizes the growth values instead of the raw values. Defaults to False.True
Share