The Present Value of Growth Opportunities (PVGO) is a financial metric that represents the present value of a company’s future growth opportunities. It is calculated as the difference between the share price and the value of the company’s current earnings as a perpetuity without growth, i.e. Earnings per Share divided by the Cost of Equity.

The formula is as follows:

\[\text{PVGO} = \text{Stock Price} - \text{Earnings Per Share} / \text{Cost of Equity}\]

Also known as: PVGO, growth value.

Present Value of Growth Opportunities (PVGO) in Python or via the MCP

Install the Finance Toolkit with:

pip install financetoolkit -U

Then call get_present_value_of_growth_opportunities as shown below.

from financetoolkit import Toolkit

toolkit = Toolkit(
    ["NVDA", "TXN", "ADI"],
    api_key="FINANCIAL_MODELING_PREP_KEY",
    start_date="2022-01-01",
    end_date="2025-12-31",
)

toolkit.models.get_present_value_of_growth_opportunities()

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

How much of the share prices of Nvidia, Texas Instruments and Analog Devices reflected the present value of growth opportunities from 2022 to 2025?

Which returns:

Date ADI NVDA TXN
2022 103.667 13.2452 44.5164
2023 129.843 40.3354 96.3598
2024 183.868 116.003 136.601
2025 230.98 nan 119.94

Parameters

get_present_value_of_growth_opportunities accepts the following parameters.

ParameterTypeDescriptionExample
calculate_dailyboolWhether to calculate the PVGO using daily historical data. Defaults to False.True
dilutedboolWhether to use diluted shares in the calculation. Defaults to True.False
include_dividendsboolWhether to deduct Preferred Dividends Paid from Net Income when calculating the Earnings per Share, so that the earnings figure reflects what is attributable to common shareholders only. Defaults to False.True
trailingint | NoneThe trailing period to use for the calculation. Defaults to None.4
market_risk_premiumfloat | NoneThe annual equity risk premium the Cost of Equity uses. Defaults to None, which takes the equity risk premium of each company’s country (Damodaran’s Total Equity Risk Premium, see get_market_risk_premium) and, where that is not available, the benchmark’s average return above the risk-free rate over the data.None, which takes the equity risk premium of each company's country (Damodaran's Total Equity Risk Premium, see get_market_risk_premium) and, where that is not available, the benchmark's average return above the risk-free rate over the data
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 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