CASSIA TRADING
INVESTING MASTERY COURSE
Using projected earnings growth to calculate more accurate PE ratios for investment decisions
Forward PE adjusts current PE by projected earnings growth. PE of 50 with 100% growth = Forward PE of 25 — a more realistic valuation.
Example: PE 50 with 100% growth becomes Forward PE 25
| Aspect | Traditional PE | Forward PE |
|---|---|---|
| Time Focus | Past | Future |
| Growth Adjustment | No | Yes |
| Best For | Stable companies | Growth stocks |
| Accuracy | Low | High |
| Data Required | Historical | Projected |
| Risk | Low | Projection risk |
Step-by-step process with examples
Get from: Yahoo Finance, Bloomberg, or company investor relations
Sources: Analyst consensus from FactSet, Seeking Alpha, or earnings calls
Growth Rate = (Next Year EPS - Current EPS) / Current EPS
Apply the formula to get growth-adjusted valuation
Much more attractive than traditional PE of 50!
Comparing high-growth tech stocks
| Stock | Traditional PE | Expected Growth | Forward PE | Better Value? |
|---|---|---|---|---|
| Tesla (TSLA) | 72 | 60% | 45 | ✓ Reasonable |
| NVIDIA (NVDA) | 95 | 90% | 50 | ✓ Attractive |
| Meta (META) | 28 | 25% | 22.4 | ✓ Bargain |
| Amazon (AMZN) | 65 | 35% | 48.1 | ⚠ Fair |
| Microsoft (MSFT) | 32 | 15% | 27.8 | ✓ Solid |
NVIDIA's PE of 95 looks expensive, but Forward PE of 50 shows it's reasonably valued given 90% growth
Higher growth justifies higher PE. 90% growth companies can trade at PE 100 and still be good value
Meta at Forward PE of 22.4 was undervalued - stock returned 180% that year
Python and Excel examples
import yfinance as yf
import pandas as pd
def calculate_forward_pe(ticker, growth_rate):
"""
Calculate Forward PE for a given stock.
Args:
ticker: Stock ticker symbol (e.g., 'AAPL')
growth_rate: Expected EPS growth rate (decimal)
Returns:
dict with PE metrics
"""
# Fetch stock data
stock = yf.Ticker(ticker)
info = stock.info
# Get current PE
current_pe = info.get('trailingPE', None)
if current_pe is None:
return {'error': 'PE data not available'}
# Calculate Forward PE
forward_pe = current_pe / (1 + growth_rate)
# Get additional info
price = info.get('currentPrice', 0)
eps = price / current_pe if current_pe > 0 else 0
return {
'ticker': ticker,
'price': price,
'trailing_eps': eps,
'current_pe': current_pe,
'growth_rate': growth_rate * 100,
'forward_pe': forward_pe
}
# Example usage
stocks = {
'NVDA': 0.90, # 90% expected growth
'TSLA': 0.60, # 60% expected growth
'META': 0.25, # 25% expected growth
}
results = []
for ticker, growth in stocks.items():
result = calculate_forward_pe(ticker, growth)
results.append(result)
print(f"\n{ticker}:")
print(f" Traditional PE: {result['current_pe']:.1f}")
print(f" Forward PE: {result['forward_pe']:.1f}")
print(f" Growth Rate: {result['growth_rate']:.0f}%")
# Create DataFrame for analysis
df = pd.DataFrame(results)
print("\n", df)
=B2/(1+C2)
Use analyst consensus instead of single projections.
Companies with 20%+ expected growth, positive earnings, and clear business models
Never rely solely on Forward PE. Always combine with cash flow analysis, balance sheet strength, and business quality assessment
Growth > 15%
Positive earnings
Predictable business
5-15% growth
Volatile sectors
Uncertain outlook
Negative earnings
Cyclical industries
Turnaround speculation
You now understand how to use Forward PE to find undervalued growth stocks in the S&P 500. Apply this metric to screen high-growth companies with reasonable valuations.