Forward Price to Earnings Ratio (Forward PE)
Calculate the forward price earnings ratio (forward P/E), a valuation ratio that compares the current stock price to the analyst consensus (average) EPS estimate for a future period, instead of the trailing EPS used by the regular P/E ratio.
The formula is as follows:
\[\text{Forward}\; P / E = \text{Latest Stock Price} / \text{Estimated EPS Average}\]Where the latest stock price is the most recent traded close, used for every estimate period. On quarterly data the estimated EPS of a period is the sum of the estimates of that quarter and the next three, so the ratio compares the price with a year of estimated earnings, as it does with yearly data.
The forward P/E is the standard valuation multiple in equity research because prices look ahead, but it rests on consensus estimates, which tend to be revised as results come in. Consensus EPS is usually on the adjusted basis companies guide on, while the trailing P/E (get_price_to_earnings_ratio) uses reported diluted EPS, so for companies with large amortization or restructuring charges the forward P/E looks much lower than the trailing one without any change in earnings power.
Note that this requires an api_key to be set on the Toolkit and a Premium FMP subscription. Analyst estimates are fetched once per Toolkit instance and cached across calls to this (or the other forward-looking ratio) method - never on initialization or on any other ratio.
Also known as: forward P/E, projected P/E.
Forward Price to Earnings Ratio (Forward PE) in Python or via the MCP
Install the Finance Toolkit with:
pip install financetoolkit -U
Then call get_forward_price_earnings_ratio as shown below.
from financetoolkit import Toolkit
toolkit = Toolkit(
["NVDA", "AMD", "AVGO"],
api_key="FINANCIAL_MODELING_PREP_KEY",
start_date="2021-01-01",
end_date="2025-12-31",
)
toolkit.ratios.get_forward_price_earnings_ratio(min_analysts=5).loc[:, "2026":"2030"]
Or, after setting up the Finance Toolkit MCP, ask:
At their share prices at the end of 2025, what forward P/E ratios do the analyst EPS estimates for 2026 to 2030 imply for Nvidia, AMD and Broadcom, counting only years with at least five analysts?
Which returns:
| 2026 | 2027 | 2028 | 2029 | 2030 | |
|---|---|---|---|---|---|
| AMD | 26.8499 | 12.2758 | 8.3568 | 6.2147 | 4.824 |
| AVGO | 29.6209 | 17.9157 | 11.2984 | nan | nan |
| NVDA | 20.0741 | 11.798 | 8.7249 | 7.2852 | 5.6192 |
Parameters
get_forward_price_earnings_ratio accepts the following parameters.
| Parameter | Type | Description | Example |
|---|---|---|---|
min_analysts | int | None | The minimum number of analysts behind the EPS consensus of a period; periods covered by fewer are NaN. The number per period is the “Number of Analysts EPS” of Toolkit.get_analyst_estimates. Defaults to None, which keeps every period. | None, which keeps every period |
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 ratios. Defaults to False. | True |
lag | int | list[int] | The lag to use for the growth calculation. Defaults to 1. | 4 |
compound | bool | Whether 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 |
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 |