fin_stock_justifiedPE: Justified P/E Ratio

View source: R/financial_functions.R

fin_stock_justifiedPER Documentation

Justified P/E Ratio

Description

Compute the Justified Price-to-Earnings (P/E) ratio for a stock using a single-stage or two-stage (high-growth + ROIC) Gordon Growth Model.

Usage

fin_stock_justifiedPE(
  dividend = 0.8,
  EPS = 2,
  growthRate = 0.06,
  discountRate = 0.1,
  buybackYield = 0,
  ROIC = NULL,
  yearsHighGrowth = 0,
  terminalGrowth = 0.03,
  type = c("trailing", "leading")
)

Arguments

dividend

Dividend per share (D_0 for trailing, D_1 for leading). Default = 0.80. Ignored if ROIC is specified.

EPS

Earnings per share (E_0 for trailing, E_1 for leading). Default = 2.00.

growthRate

Sustainable growth rate (g), as a decimal (e.g. 0.20 for 20%). Default = 0.06.

discountRate

Required rate of return / cost of equity (r), as a decimal (e.g. 0.10 for 10%). Default = 0.10.

buybackYield

Net share repurchase yield added to payout ratio, as a decimal (e.g. 0.015 for 1.5%). Default = 0.

ROIC

Return on Invested Capital, as a decimal (e.g. 0.30 for 30%). If specified, payout ratio during high growth is derived as 1 - g/\text{ROIC}.

yearsHighGrowth

Duration of high-growth phase in years (default = 0 for single-stage model). If g \ge r and yearsHighGrowth == 0, defaults to 5 years.

terminalGrowth

Long-term terminal growth rate after high-growth phase, as a decimal (e.g. 0.03 for 3%). Default = 0.03.

type

Character string indicating "trailing" (default) or "leading" P/E.

Details

Justified P/E represents the fundamental value multiple that a stock should trade at based on its payout ratio (or ROIC reinvestment), expected growth rate (g), and required rate of return / discount rate (r).

Single-Stage Model (when yearsHighGrowth = 0): For stable-growth companies where r > g:

\text{Justified Trailing P/E} = \frac{\text{Payout Ratio} \times (1 + g)}{r - g}

\text{Justified Leading P/E} = \frac{\text{Payout Ratio}}{r - g}

Two-Stage Model (when yearsHighGrowth > 0): For growth companies where high-growth rate g_{\text{high}} may exceed the cost of capital (r), payout ratio during high growth is derived from Return on Invested Capital (\text{ROIC}):

\text{Payout Ratio} = 1 - \frac{g}{\text{ROIC}} + \text{buybackYield}

Cash flows during the yearsHighGrowth period are discounted at rate r. After yearsHighGrowth, growth transitions to terminalGrowth (g_{\text{term}} < r), and the terminal value is discounted back to present value.

Typical Values & Interpretation: Typical justified P/E ratios for mature, stable-growth companies generally fall between 12 and 25. High-growth companies with high ROIC (e.g. 30%+ ROIC and 20% growth) justify 20x-30x+ P/E multiples.

Worked Example ($NVDA): Suppose Nvidia ($NVDA) has high growth of 20% (g = 0.20) for 5 years, high ROIC of 30% (\text{ROIC} = 0.30), cost of equity of 10% (r = 0.10), and long-term terminal growth of 3% (g_{\text{term}} = 0.03). The justified P/E is calculated as: fin_stock_justifiedPE(EPS = 2.70, growthRate = 0.20, discountRate = 0.10, ROIC = 0.30, yearsHighGrowth = 5, terminalGrowth = 0.03)

Value

Numeric justified P/E ratio.

References

  • Gordon, M. J. (1962). The Investment, Financing, and Valuation of the Corporation. R. D. Irwin.

  • Pinto, J. E., Henry, C., Robinson, T. R., & Stowe, J. D. (2020). Equity Asset Valuation (4th ed.). Wiley.

  • Mauboussin, M. J., & Rappaport, A. (2021). Expectations Investing: Reading Stock Prices for Better Returns. Columbia University Press.

See Also

  • fin_value_interest(), fin_value_percent(), fin_tax_NI()

Other financial functions: fin_options_Greeks(), fin_options_LeapSimulate(), fin_options_plotGreeks(), fin_options_teach(), fin_stock_CAGR(), fin_stock_target(), fin_stock_ticker(), fin_stock_valuation(), fin_tax_FIF(), fin_tax_NI(), fin_value_CAGR(), fin_value_CarryCost(), fin_value_NPV(), fin_value_interest(), fin_value_percent()

Examples

# Example 1: Standard trailing Justified P/E
fin_stock_justifiedPE(dividend = 0.8, EPS = 2.0, growthRate = 0.06, discountRate = 0.10)

# Example 2: Two-Stage growth model for 20% growth company with 30% ROIC for 5 years
fin_stock_justifiedPE(EPS = 2.70, growthRate = 0.20, discountRate = 0.10, 
                       ROIC = 0.30, yearsHighGrowth = 5, terminalGrowth = 0.03)


umx documentation built on Oct. 11, 2026, 5:07 p.m.