Valuation
Forward P/E 17.68
Trailing P/E 28.11
PEG Ratio 2.07
Intrinsic Value $74.32
Valuation Delta -7.0%
Target Price $89.82
Technicals
Trend uptrend
RSI (14) 52
Rel. Strength 67%
vs SMA20 1.07%
vs SMA50 1.24%
Fundamentals
EPS (TTM) 2.84
ROE 24.34%
Profit Margin 19.22%
EPS Growth 31.46%
💎 Value Momentum Valuation Score: 34/90
PEG Ratio
2.07
0/25 pts
Forward P/E
17.7
10/20 pts
EPS Growth (est)
4.52
5/15 pts
ROE
24.34%
10/10 pts
Debt/Equity
0.67
4/10 pts
Target Upside
12%
5/10 pts
Price Chart
SMA 20
SMA 50
SMA 200
Strategy Analysis by Course
Value Momentum
Value Momentum Investing
12 met · 8 failed · 0 missing
vm-asset-class Eligible asset class. assetClass:equity
+4
vm-50-150-uptrend-confirmation Intermediate trend supports VM. priceAbove50Sma:true | sma50Slope:up
+20
vm-liquidity Liquidity clears threshold. avgDollarVolume:1900497600.00
+13
vm-200ma-uptrend-confirmation Price is above the 200 SMA. sma200DistancePct:9.5%
+9
vm-rs-rank Relative strength is weak. rank:67.00
+9
vm-forward-pe Forward valuation is inside the ceiling. forwardPe:17.68
+9
vm-business-quality-gate Quality proxies are acceptable. roe:24.3% | margin:19.2% | revGrowth:9.0%
+5
vm-buy-near-moving-average Price is near a relevant moving average. sma20DistancePct:1.1% | sma50DistancePct:1.2%
+7
vm-earnings-growth Earnings growth is below 10% threshold. earningsGrowthYoY:4.5%
+4
vm-pullback-entry Pullback is outside the preferred entry band. percentFromHigh:88.18
+3
vm-peg-below-1-5 PEG is above 1.5. peg:2.07
+5
vm-peg-below-1-0-best PEG is not in best-value zone. peg:2.07
+4
vm-dcf-supported DCF IV $27.09 < price $79.92 — overvalued by DCF. intrinsicValuePerShare:27.09 | currentPrice:79.92 | marginOfSafety:-195.00
+4
vm-revenue-consistency Revenue grew in 3/4 consecutive periods. growingPeriods:3.00 | totalPeriods:4.00 | latestRevenue:56654000000.00
+2
vm-event-safety No high-impact event blocker. hasHighImpactEvent:false
+2
vm-event-disqualifier No high-impact event blocker. hasHighImpactEvent:false
-30
vm-avoid-buying-extended Price is not excessively extended. sma20DistancePct:1.1%
-30
vm-discount-context-macro No clear macro discount context detected. rsRank:67.00 | salesQQPct:9.7% | epsNext5YPct:8.6%
vm-discount-context-cyclical No cyclical discount pattern detected. salesQQPct:9.7% | epsQQPct:31.5% | epsNext5YPct:8.6%
vm-structural-decline No structural decline signal — long-term growth outlook intact. epsNext5YPct:8.6% | revenueConsistency:75.0% | revPeriodsAvailable:5.00
-20
MA Pullback Entry
Actionable 50/100
Buy at pullback to sloping-up moving average
Near MA +10 pts
Pullback depth not in optimal band yet -5 pts
Monitor for confirmation 10/20 pts
New Uptrend Entry
Actionable 100/100
Buy at start of new uptrend
Uptrend structure confirmed +10 pts
Above both 50 and 200 SMA +10 pts
SMA50 slope rising +10 pts
Ready to trade 30/30 pts
Dividend Value
Actionable 100/100
Dividend payer with uptrend and strong ROE
Dividend: 1.6% +10 pts
Uptrend confirmed +10 pts
ROE: 24.3% +10 pts
Ready to trade 30/30 pts
ETF Diversified
Supporting 100/100
ETF for no company-specific risk
Equity — ETF diversified entry N/A +10 pts
Supporting criteria 10/10 pts
Trend Confirmation
Supporting 50/100
Higher highs/lows uptrend established
Uptrend + above 200 SMA +10 pts
RS rank below 70 or unavailable -5 pts
Supporting criteria 10/20 pts
Exit Signal (Downtrend)
Exit 100/100
Never buy in downtrend - course rule
No downtrend — exit signal N/A +10 pts
Exit signal 10/10 pts
Bounce/Swing
Stock Trading 1 & 2
11 met · 8 failed · 0 missing
bs-asset-class Eligible equity for bounce/swing. assetClass:equity
+5
bounce-trend-context Trend context supports bounce setup. primary:uptrend | sma50Slope:up
+17
bs-setup-present Pullback/consolidation pattern exists. hasConsolidation:true | hasPullback:false
+10
bs-levels-defined Support and resistance are defined. supportDefined:true | resistanceDefined:true
+10
bs-liquidity Liquidity clears swing-trade threshold. avgDollarVolume:1900497600.00
+7
bs-breakout-armed Breakout trigger is not yet armed. breakoutTriggerArmed:false
+7
bs-rsi-band RSI is inside the preferred momentum band. rsi14:52.25
+4
bs-stoch-band Stochastic K(86) is not oversold (need < 30). stochK:86.34 | stochD:71.60
bs-pullback-depth Pullback depth is outside the preferred band. percentFromHigh:88.18
+2
bounce-key-ma-touch Pullback is near relevant moving average. sma20DistancePct:1.1% | sma50DistancePct:1.2% | hasPullback:false
+11
bounce-two-candle-original Two-candle bounce pattern not found. prevBar:[object Object] | lastBar:[object Object]
+11
bounce-inside-bar-variation Inside-bar bounce variation not detected. isInsideBar:false
+7
bounce-through-ma-variation Through-moving-average variation not detected. prevOpen:78.37 | prevClose:80.86 | lastOpen:81.00
+7
bounce-target-rr Stop distance is compatible with 1:2 planning. stopDistancePct:1.07
+2
pam-dr-price-floor Price clears PAM floor. price:79.92
pam-dr-execution-close-location Close did not finish in upper third of range. closeLocationValue:52.5%
pam-dr-swing-range-atr Six-bar swing range does not exceed 4x ATR. sixBarRangeToAtr:2.95
bs-event-disqualifier No high-impact event blocker. hasHighImpactEvent:false
-30
bs-news-disqualifier No material negative news. hasMaterialNegativeNews:false
-20
50 SMA Bounce
Actionable 100/100
Bounce from 50-day MA in uptrend
SMA50 proximity: 1.2% +10 pts
Uptrend + setup present +10 pts
Ready to trade 20/20 pts
20 SMA Bounce
Actionable 100/100
Bounce from 20-day MA (short-term)
Near 20 SMA +10 pts
Check uptrend + pullback depth +10 pts
Monitor for confirmation 20/20 pts
200 SMA Bounce
Actionable 100/100
Bounce from 200-day MA (major support)
Near 200 SMA +10 pts
Watch for bounce confirmation candle +10 pts
Monitor for confirmation 20/20 pts
Breakout System
Actionable 50/100
Buy breakout above resistance with volume confirmation
Near resistance zone +10 pts
Trigger not yet armed -5 pts
Monitor for confirmation 10/20 pts
High Probability Setup
Supporting 100/100
Bounce setup with multiple confirmations
Uptrend +10 pts
MA touch +10 pts
RSI 52 in band +10 pts
Setup present +10 pts
All HiPro criteria met +10 pts
Supporting criteria 50/50 pts
Price Action (PAM)
Price Action Manipulation
6 met · 6 failed · 0 missing
pa-asset-class Eligible asset class for price action. assetClass:equity
+10
pa-market-structure Clear market structure present. trend:uptrend
+20
pa-supply-demand-zone Price at supply/demand zone. atSupplyZone:false | atDemandZone:false | nearKeyLevel:true
+15
pa-liquidity-sweep No liquidity sweep detected. liquiditySweep:false
+15
pa-volume-confirmation Volume not confirming. aboveAverage:false
+10
pa-session-timing Outside high-probability sessions.
+5
pa-close-location Close in middle of range - no clear signal. closeLocationValue:52.5%
+10
pa-atr-range Normal range - no manipulation signal. sixBarRangeToAtr:2.95
+5
pa-price-floor Price above $5 threshold. price:79.92
+5
pa-liquidity Sufficient liquidity for institutional trading. avgDollarVolume:1900497600.00
+10
pa-rsi-divergence No RSI divergence. rsiDivergence:false
+5
pa-event-disqualifier No high-impact event blocker. hasHighImpactEvent:false
-30
Force Strike Continuation
Actionable 50/100
Force strike bar formation for trend continuation entry
Clear trend +10 pts
Volume not confirming yet -5 pts
Monitor for confirmation 10/20 pts
Force Strike Reversal
Actionable 100/100
Force strike bar formation for reversal entry
At key level +10 pts
No RSI divergence yet +10 pts
Monitor for confirmation 20/20 pts
Sweet Spot Entry
Actionable 100/100
Entry in sweet spot zone (halfway to low of signal bar)
At key zone +10 pts
Enter in sweet spot (halfway to signal bar low) +10 pts
CLV: 53% +10 pts
Ready to trade 30/30 pts
Market Structure Shift
Actionable 50/100
Enter on confirmed break of structure (HH/HL or LH/LL change)
Trend present +10 pts
Structure shift not yet confirmed in data -5 pts
Monitor for confirmation 10/20 pts
Bullish EXE Patterns
Actionable 100/100
Markup bar, bullish bean, bullish ice cream, bullish first strike
Uptrend confirmed +10 pts
Partial bullish EXE signals +10 pts
Monitor for confirmation 20/20 pts
Key Zone Identified
Supporting 0/100
Support, resistance, or pivot level clearly defined
Sub-strategy qualifier not implemented -5 pts
Supporting criteria 0/10 pts
Trend Structure Clear
Supporting 0/100
Clear higher highs/lows or lower highs/lows pattern
Sub-strategy qualifier not implemented -5 pts
Supporting criteria 0/10 pts
Options Income
Advanced Options 1
9 met · 1 failed · 10 missing
csp-asset-class Eligible equity underlying. assetClass:equity
+10
csp-options-available No listed options available. available:false
+10
~
csp-open-interest Open interest data unavailable.
+10
~
csp-iv-rank IV rank unavailable.
+15
~
csp-premium-level Net premium data unavailable.
+15
csp-liquidity Underlying/options liquidity is acceptable. avgDollarVolume:1900497600.00
+15
wheel-own-the-stock Underlying is acceptable to own on assignment. wouldOwnUnderlying:true
+10
csp-levels-defined Support/resistance anchors exist for strike selection. supportDefined:true | resistanceDefined:true
+10
csp-cash-budget Cash requirement is set for CSP evaluation. cashRequired:7992.00
+3
csp-trend-context Trend context is acceptable for income strategy. primary:uptrend
+2
~
covered-call-100-shares Share inventory not modeled; assumes external operator position data.
~
covered-call-dte-35-40 Live option-chain inputs unavailable.
+5
~
covered-call-otm-1-2-strikes Live option-chain inputs unavailable.
+8
~
covered-call-three-income-streams Live option-chain inputs unavailable. price:79.92 | hasCoveredCallCandidate:false
+4
~
csp-first-otm-put Live option-chain inputs unavailable.
+8
~
csp-dte-configurable Live option-chain inputs unavailable.
+5
csp-margin-buying-power-20pct Workbook formula mapped: blocked buying power ~= 20% of secured cash. cashRequired:7992.00 | blockedBuyingPower:1598.40
~
csp-margin-target-70pct-annualized Live option-chain inputs unavailable.
+5
csp-event-disqualifier No high-impact event blocker. hasHighImpactEvent:false
-30
csp-news-disqualifier No material negative news. hasMaterialNegativeNews:false
-20
High IV Environment
Supporting 0/100
IV Rank > 50% favorable for selling premium
Sub-strategy qualifier not implemented -5 pts
Supporting criteria 0/10 pts
Options Liquidity
Supporting 0/100
Sufficient open interest and tight spreads
Sub-strategy qualifier not implemented -5 pts
Supporting criteria 0/10 pts
Iron Condor
Advanced Options 2 (IronStriker)
5 met · 2 failed · 5 missing
ic-asset-class Eligible asset class for iron condor. assetClass:equity
+10
ic-options-available Live option-chain inputs unavailable. optionsAvailable:false
+10
ic-range-bound Stock is trending - iron condor less ideal. trend:uptrend
+20
~
ic-iv-elevated IV rank unavailable.
+15
~
ic-open-interest Open interest unavailable.
+10
ic-no-earnings-within-dte No earnings within DTE window. earningsWithinDte:false
+15
ic-support-resistance-defined Support and resistance levels defined for wing placement. supportDefined:true | resistanceDefined:true
+15
~
ic-dte-30-45 DTE unavailable.
+5
~
ic-delta-selection Short strike delta unavailable.
+5
~
ic-premium-collected Net premium percentage unavailable.
+10
ic-liquidity Institutional-grade liquidity. avgDollarVolume:1900497600.00
+10
ic-event-disqualifier No high-impact event within DTE. hasHighImpactEvent:false
-40
Exit Before Earnings
Exit 100/100
Must exit position before earnings announcement
No earnings warning — normal position management +10 pts
Exit signal 10/10 pts

Financial Trends

All numbers are in USD millions, except per-share data, ratios, and percentages.

Revenue & Profitability
Cash Flow
Balance Sheet Strength
Margins