Tobin’s Q Ratio
Calculate Tobin’s Q Ratio, a valuation metric developed by economist James Tobin that compares the market value of a company to the cost of replacing its assets.
The formula is as follows:
\[\text{Market Value of Equity} = \text{Share Price} \cdot \text{Total Shares Outstanding}\] \[\text{Tobin's} Q \text{Ratio} = (\text{Market Value of Equity} + \text{Total Liabilities}) / \text{Total Assets}\]Tobin’s Q Ratio can be interpreted as follows:
- A Q ratio greater than 1 indicates that the market values the company above the cost of replacing its assets, which can reflect growth expectations, unrecognized intangible value, or overvaluation.
- A Q ratio less than 1 indicates that the market values the company below the cost of replacing its assets, which can reflect undervaluation or declining growth prospects.
Also known as: Tobin’s Q, Q ratio.
Tobin’s Q Ratio in Python
get_tobins_q_ratio is part of the Models module of the open-source Finance Toolkit. Install it with:
pip install financetoolkit -U
Then call get_tobins_q_ratio as shown below.
from financetoolkit import Toolkit
toolkit = Toolkit(["AAPL", "MSFT"], api_key="FINANCIAL_MODELING_PREP_KEY")
toolkit.models.get_tobins_q_ratio().loc["AAPL"]
Which returns:
| 2021 | 2022 | |
|---|---|---|
| Market Value of Equity | 2.94327e+12 | 2.09689e+12 |
| Total Liabilities | 2.87912e+11 | 3.02083e+11 |
| Total Assets | 3.51002e+11 | 3.52755e+11 |
| Tobin’s Q Ratio | 9.2056 | 6.8007 |
Parameters
get_tobins_q_ratio accepts the following parameters:
- diluted (bool, optional): Whether to use diluted shares in the calculation. Defaults to True.
- rounding (int, optional): The number of decimals to round the results to. Defaults to None.
- growth (bool, optional): Whether to calculate the growth of the values. Defaults to False.
- lag (int | list[int], 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.
- trailing (int | None, optional): The trailing period to use for the calculation. Defaults to None.
- show_columns (list[str] | None, optional): List of columns to show in the results. If None, all columns will be shown. Defaults to None.