Present Value of Growth Opportunities (PVGO)
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.
| Parameter | Type | Description | Example |
|---|---|---|---|
calculate_daily | bool | Whether to calculate the PVGO using daily historical data. Defaults to False. | True |
diluted | bool | Whether to use diluted shares in the calculation. Defaults to True. | False |
include_dividends | bool | Whether 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 |
trailing | int | None | The trailing period to use for the calculation. Defaults to None. | 4 |
market_risk_premium | float | None | The 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 |
rounding | int | None | The number of decimals to round the results to. Defaults to None, which uses the rounding of the Toolkit (4 unless set otherwise). | 2 |
growth | bool | Whether to calculate the growth of the values. Defaults to False. | True |
lag | int | list[int] | The lag to use for the growth calculation. Defaults to 1. | 4 |
standardize | bool | Whether to standardize (Z-Score) the result. When combined with growth=True, standardizes the growth values instead of the raw values. Defaults to False. | True |