Measure how closely every fund tracks the Benchmark of the Toolkit, which for an index fund should be the index it follows (set benchmark_ticker to a total return index or to another fund of the same index). Per fund:

  • Tracking Difference: the annualized return of the fund minus that of the Benchmark over the period, as issuers report it. An index fund trails its index by roughly its expense ratio; less points to securities lending income, more to a costly or loose replication.

  • Tracking Error: the annualized volatility of the per-period return difference, how far the fund strays from the index from period to period.

  • Correlation, Beta and R Squared of the fund’s returns with the Benchmark’s.

With yearly=True the tracking difference is given per calendar year instead, the return of the fund minus that of the Benchmark. The daily closes of two funds can differ by the timing of their last trade, which adds noise to a daily tracking error; fund reports usually measure it from monthly returns.

Also known as: tracking difference, tracking error, index tracking.

Tracking in Python or via the MCP

Install the Finance Toolkit with:

pip install financetoolkit -U

Then call get_tracking as shown below.

from financetoolkit import Toolkit

toolkit = Toolkit(
    ["VOO", "IVV", "SPLG"],
    api_key="FINANCIAL_MODELING_PREP_KEY",
    benchmark_ticker="SPY",
    start_date="2021-01-01",
    end_date="2025-12-31",
)

toolkit.etf.get_tracking(period="monthly")

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

How closely did VOO, IVV and SPLG track SPY from 2021 to 2025, measured on monthly returns?

Which returns:

  VOO IVV SPLG
Tracking Difference 0.0008 0.0007 -0
Tracking Error 0.0011 0.0018 0.0021
Correlation 1 0.9999 0.9999
Beta 0.9994 1.0014 0.9986
R Squared 0.9999 0.9999 0.9998

Parameters

get_tracking accepts the following parameters.

ParameterTypeDescriptionExample
periodstrThe return frequency (daily, weekly, monthly, quarterly or yearly). Defaults to “daily”."weekly"
yearlyboolWhether to return the tracking difference per year. Defaults to False.False
roundingint | NoneThe number of decimals to round the results to. Defaults to None, which uses the rounding of the Toolkit.2
Share