Calculate the price to book ratio, a valuation ratio that compares a company’s market price to its book value per share.

The price to book ratio is a key valuation metric that helps investors assess whether a company’s stock is overvalued or undervalued relative to its underlying net asset value.

The formula is as follows:

\[\text{Price to Book Ratio} = \text{Share Price} / \text{Book Value per Share}\]

The price to book ratio matters most for banks and insurers, whose balance sheets consist mostly of financial assets and liabilities, so that book value is a fair measure of what shareholders own. It is read together with return on equity: a bank that earns more than its cost of equity can justify trading above book value, one that earns less trades below it. For companies whose value lies in brands, software or people, book value says little, and buybacks can shrink it until the ratio becomes extreme.

Also known as: P/B ratio.

Price to Book Ratio (PB) in Python or via the MCP

Install the Finance Toolkit with:

pip install financetoolkit -U

Then call get_price_to_book_ratio as shown below.

from financetoolkit import Toolkit

toolkit = Toolkit(
    ["JPM", "BAC", "C", "WFC"],
    api_key="FINANCIAL_MODELING_PREP_KEY",
    start_date="2021-01-01",
    end_date="2025-12-31",
)

toolkit.ratios.get_price_to_book_ratio()

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

At what price-to-book ratios did JPMorgan Chase, Bank of America, Citigroup and Wells Fargo trade from 2021 to 2025?

Which returns:

  2021 2022 2023 2024 2025
BAC 1.5519 1.105 1.0335 1.2655 1.4971
C 0.6764 0.4876 0.5356 0.7017 1.1306
JPM 1.8484 1.5033 1.6661 2.1254 2.6176
WFC 1.173 0.9854 1.1012 1.5174 1.8228

Parameters

get_price_to_book_ratio accepts the following parameters.

ParameterTypeDescriptionExample
show_dailyboolWhether to show daily values: the close of each trading day against the statement figures of the latest period that has ended on or before that day (also when it ended before the start date), so no figures are used before their period closes. Defaults to False.True
dilutedboolWhether to use diluted shares in the calculation. Defaults to True.False
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 ratios. Defaults to False.True
lagint | list[int]The lag to use for the growth calculation. Defaults to 1.4
compoundboolWhether the growth is the compound annual growth rate over the lag (e.g. lag=5 for the five-year CAGR) instead of the total change. Defaults to False.False
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
trailingintThe number of periods to sum flows (income and cash flow statement items) over, with balance sheet items averaged over the same number of period ends. E.g. 4 with quarterly data gives the trailing twelve months (TTM) and 3 with annual data a three-year cumulative figure. Defaults to None, which uses single-period flows (per quarter and not annualized with quarterly data).4
Share