Jensen’s Alpha
Calculate Jensen’s Alpha, a measure of an asset’s performance relative to its expected return based on the Capital Asset Pricing Model (CAPM).
Jensen’s Alpha is used to assess whether an investment has outperformed or underperformed its expected return given its systematic risk, as represented by the asset’s Beta.
The formula is as follows:
\[\text{Jensen's Alpha} = \text{Asset's Actual Return} - \left[\text{Risk-Free Rate} + \text{Beta} \cdot (\text{Benchmark Return} - \text{Risk-Free Rate})\right]\]See definition: https://en.wikipedia.org/wiki/Jensen%27s_alpha
Also known as: Jensen alpha, risk-adjusted excess return.
No programming experience? With the Finance Toolkit MCP server, AI assistants such as Claude and ChatGPT can calculate the Jensen’s Alpha for you. Just ask in plain English.
Calculate the Jensen’s Alpha in Python
The Jensen’s Alpha is available in the Performance module of the open-source Finance Toolkit. Install it with:
pip install financetoolkit -U
Then call get_jensens_alpha as shown below.
from financetoolkit import Toolkit
toolkit = Toolkit(["AAPL", "TSLA"], api_key="FINANCIAL_MODELING_PREP_KEY")
toolkit.performance.get_jensens_alpha()
Which returns:
| Date | AAPL | TSLA |
|---|---|---|
| 2021 | -0.0112 | 0.0062 |
| 2022 | -0.0037 | -0.2837 |
| 2023 | 0.2185 | 0.5267 |
| 2024 | 0.0741 | 0.1328 |
| 2025 | -0.1082 | -0.1999 |
| 2026 | 0.0531 | -0.2615 |
Parameters
get_jensens_alpha accepts the following parameters:
- period (str, optional): The period to use for the calculation. Defaults to “quarterly” if the Toolkit is initialised with quarterly=True, otherwise “yearly”.
- rolling (int, optional): The rolling window size to use for the Beta component of the
calculation. If set, Beta is estimated over a rolling window of this many periods across
the full return history instead of per
period. Defaults to None. - rounding (int, optional): The number of decimals to round the results to. Defaults to 4.
- growth (bool, optional): Whether to calculate the growth of the ratios. Defaults to False.
- lag (int | str, optional): The lag to use for the growth calculation. Defaults to 1.
- standardize (bool, optional): Whether to standardize (Z-Score) the result. When combined with growth=True, standardizes the growth values instead of the raw values. Defaults to False.
Related Performance Metrics
The Performance module page introduces the module, and the sidebar lists all of its functions.