NYSE:SCHW The Charles Schwab Corporation

ISIN: US8085131055
FinancialsCapital MarketsBroker / Asset Gatherer
NYSE · Westlake, TX · ~$10.8T client assets · mkt cap ~$159B Analysis Status: Starting
$91.70
-2.97% (last close)
20 Jun 2026 · Signal v6
DISCLAIMER: This is a quantitative framework for educational purposes only. It is not financial advice. Always do your own research and consult a licensed financial advisor before making investment decisions.
HorizonSignalComposite ScoreConfidenceKey Driver
Short-term (1–3 mo)BUY6262%Cheap + sector bid, but lagging XLF/SPY short-term
Medium-term (6–12 mo)STRONG BUY6866%Quality + valuation + NII tailwind (XLF Outperform)
Long-term (3–5 yr)BUY7268%19% ROE franchise at an attractive entry; macro neutral long-run
Next update: 2026-07-06 — default +14d (next earnings ~mid-Jul 2026, beyond 14d window)
Table of Contents
1Five-Pillar Scorecard2Hard Gates & Do-Not-Buy Status3Pillar Detail: Business Quality4Pillar Detail: Valuation Attractiveness5Pillar Detail: Underlying Drivers6Pillar Detail: Economic Alignment7Pillar Detail: Entry/Exit Timing8Economic Event Risk9Multi-Timeframe Technical Analysis10Price Chart (6-Month Daily)11Scenario Summary12Entry / Exit Rules13Position Sizing Context14Calibration Snapshot15Data Sources & Methodology
1

Five-Pillar Scorecard

Five independent scores — each 0–100 with its own confidence. The three fundamental pillars (Quality / Valuation / Timing) set the base BUY/HOLD/SELL via the Decision Matrix; the two context pillars (Underlying Drivers, Economic Alignment) then amplify a BUY to STRONG BUY or a SELL to STRONG SELL when both corroborate.

Business Quality

79
strong
conf 80%

Valuation Attractiveness

70
attractive
conf 80%

Entry/Exit Timing

52
neutral / mixed
conf 70%

Underlying Drivers

68
Tailwind
conf 68%

Economic Alignment

70
Trend-Following
conf 70%
2

Hard Gates & Do-Not-Buy Status

Binary safety checks — any TRIGGERED gate is a hard cap regardless of the scores above; CAUTION gates are sizing notes.
Financial Distress
Well-capitalised; current ratio 12.4x, interest coverage 3.5x, D/E 0.67x. No distress.
Earnings Event Risk
Next earnings ~mid-July 2026 (>14 days) — no imminent binary event.
Valuation Ceiling
Price $91.70 is well below the $137 high target and in the lower third of its own 5y multiple range.
Accounting / Dilution
Earnings CLEAN (no non-operating mark-to-market gains; non-op = 0% of net income); share count FALLING (-4.6% YoY); SBC immaterial.
Regulatory / Binary
No pending antitrust / binary regulatory event.
Severe Driver Collapse
Driver score 68 (Tailwind) — nowhere near the ≤15 collapse threshold.
All gates clear and no Do-Not-Buy trigger fires. Hard-gate state: clear. The earnings-quality decomposition (step 7b) is the notable positive — unlike many mega-caps, Schwab's net income carries no mark-to-market inflation, so the cheap forward multiples are real.
3

Pillar Detail: Business Quality

A deep dive into the Quality score: business economics, moat, ROIC and the industry benchmark.
Business Quality — Pillar Score
High-ROE, low-cost scale franchise with stable share
79
confidence 80%

Lifecycle & sector: Charles Schwab is a mature, established Financials name in Capital Markets (broker / asset-gatherer hybrid) — ~$10.8T client assets, scored on ROE, efficiency ratio, net interest margin (NIM) and net revenue, not on the FMP "revenue" line. Data-basis trap handled: FMP TTM "revenue" of ~$28.3B is gross interest income; Schwab's true TTM net revenue is ~$24.8B (net interest income + asset-management & admin fees + trading), and FCF/EV-EBITDA are not meaningful for a balance-sheet business. Although mature, EPS is in a clear re-acceleration (TTM EPS $5.40; consensus $6.15 in 2026, $7.33 in 2027) as deposit costs fall and NII re-expands.

Sub-signalValuePeer / contextScoreWhy
Profitability — ROE19.1%>18% = exceptional for a capital-markets franchise88Net income $9.4B TTM on $28.2B book; FMP ROE sub-score 5/5.
Net revenue trajectory~$24.8B TTM, +~10% YoYNII +46% from Q2'24 trough ($2.16B→$3.14B/qtr)78Deposit-cost relief + cash-sorting abating drive the re-acceleration.
Efficiency ratio50.8% (Q1'26)<55% excellent for the sector85Scale operating leverage; expenses ex-interest $3.29B / net rev $6.48B.
Balance-sheet healthCurrent 12.4x; D/E 0.67xWell-capitalised; interest coverage 3.5x72Tangible book depressed by AOCI (AFS mark-downs) but normalising as rates ease.
Capital returnShares 1,831M→1,746M (−4.6% YoY); div +; payout 25%Buyback resumed; dividend yield 1.29%76Disciplined — paid down high-cost supplemental funding, resumed repurchases.

Industry Benchmark: ROE vs Efficiency Ratio

ROE 19.1% (healthy >10%, exceptional >18%) · Efficiency ratio 50.8% (good <60%, excellent <50%). Rating: STRONG — highly profitable and operationally efficient at scale. Benchmark score: 88/100. The combination of a near-19% ROE with a sub-51% cost ratio is top-quartile for the brokerage/asset-gatherer group.

Pricing Power

55
Zero-commission trading caps pricing; fee & spread capture offsets.

Network Effects

58
RIA-custody ecosystem & scale create moderate two-sided pull.

Switching Costs

76
ACATS friction, advisor-custody lock-in — trimmed from ~80 for HOOD/IBKR encroachment (step 7c).

Cost Advantage

80
Largest-scale, lowest-cost operator; $10.8T client assets.

Intangibles

70
Strong Schwab brand + banking charter.

Moat score = average(55, 58, 76, 80, 70) = 68 / 100. Switching Costs and Cost Advantage are derived from the Competitive Environment read below, not asserted.

Competitive Environment

The moat above measures the walls today; this is who is attacking them and which way share is trending. Schwab is the scale leader (~$10.8T client assets), but the growth edge is being contested at the margin by faster-growing rivals in active-trader and younger-retail niches.
CompetitorThreat typeShare trajectory (SCHW vs rival)Moat-erosion vector
Fidelity (private)Direct full-service rivalStable — both gaining in direct retailFee/cash-yield competition on idle balances
Morgan Stanley / E*TradeWealth + self-directedStableAdvice bundling, banking cross-sell
Robinhood (HOOD)Low-cost disruptorLosing share of younger retail growthUX / crypto / payment-for-order-flow pricing
Interactive Brokers (IBKR)Active / global tradersLosing share of active-trader growthLower margin rates, global access, platform depth
LPL Financial (LPLA)RIA / advisor platformStable in custodyAdvisor recruiting, payout economics

Net effect on the moat: overall share is stable (Schwab keeps the custody/scale crown) but the incremental growth in fast retail/active niches leaks to HOOD and IBKR → Switching Costs trimmed to 76 (from ~80) and Cost Advantage held at 80. competitive_threat_level: moderate. This propagates to the §11 Bear trigger (share-loss / NIM compression) and the §12 thesis-invalidation rule.

ROIC / capital allocation: ROE 19.1% sits well above cost of capital; management has run a disciplined playbook — replaced high-cost FHLB/CD supplemental funding with lower-cost deposits, restarted buybacks (share count −4.6% YoY) and grown the dividend at a 25% payout. SBC is immaterial and share count is falling, so no dilution drag. Insider ownership is modest (skin-in-game ~55). Quality pillar: 79 / 100 (confidence 80%).

4

Pillar Detail: Valuation Attractiveness

Sector-appropriate multiples, FCF yield, reverse-DCF implied growth, embedded optionality, and the analyst-consensus cross-check.
Valuation Attractiveness — Pillar Score
Cheap on forward earnings; ~33% below consensus
70
confidence 80%
MultipleCurrentSector / historyRead
Forward P/E (2026E $6.15)14.9xCap-markets peers ~15-18x (IBKR ~20, RJF ~13)Attractive vs 20%+ EPS growth
Forward P/E (2027E $7.33)12.5xCheap on the out-year inflection
Trailing P/E ($5.40)16.99xOwn 5y range ~12-22x → decile ~3Lower third of its own range
PEG (fwd)0.94<1 = growth not paid for (TTM PEG 0.34)Attractive
Price / Book3.25xP/TBV 5.4x is optically highDe-emphasised — AOCI distortion (see note)
Dividend yield1.29%Payout 25% — ample room to growSupportive cash anchor

Cash anchor (bank/broker convention)

FCF yield is not the right anchor for a balance-sheet business — use dividend yield + book-value growth. Dividend yield 1.29% on a 25% payout, with book value compounding at a ~19% ROE, is a healthy total cash-return engine. (Reported FCF/EV yield ~6.1% is shown for completeness only.) P/TBV of 5.4x looks expensive but is an artefact of AOCI mark-downs on the AFS securities book that compress tangible equity; it normalises as rates fall — do not read it as a rich valuation.

Reverse DCF / implied growth: at $91.70 (EV ~$147B) the market is implying only ~6-8% long-run earnings growth, versus consensus of ~15% near-term EPS growth (and a 24→27 EPS path of roughly $3.16→$7.33). The market is pricing in less growth than analysts expect → the valuation lens reads attractive.

Embedded Optionality / Free Upside

Core franchise justifies roughly $105-112 of the price; the items above are largely free at $91.70. This is a +5 tilt to Valuation, not a re-rating.

Analyst consensus: median target $125, consensus $121.89 (low $105, high $137) — price is ~33% below consensus (+36% to median). Coverage 7 last quarter / 32 last year (deep). Price >20% below consensus → strong valuation support (target sub-signal 85+).

Grades distribution: 29 Buy / 18 Hold / 3 Sell (0 strong-buy/strong-sell) — bullish ~58%, holds 36%. Solid Buy consensus but with meaningful hesitation (grades sub-signal ~55). All 12 most-recent actions were "maintain" — no momentum either way.

FMP health rating: B+ (3/5). Sub-scores: ROE 5, ROA 4, DCF 4 (strong) vs P/E 2, P/B 1, D/E 2 (the P/B drag is the same AOCI tangible-book artefact). The divergence is informative, not alarming. Valuation pillar: 70 / 100 (confidence 80%).

5

Pillar Detail: Underlying Drivers

The dominant external force the stock is tethered to, scored 0–100. A context pillar: it does not change the base signal — it feeds amplification (tailwind ≥65 can lift BUY→STRONG BUY; headwind ≤35 can push SELL→STRONG SELL).
Primary Driver
Rate regime / deposit-cost relief (NII) + equity-market levels
68
Tailwind — amplification-eligible (≥65)

Primary driver: the interest-rate regime & deposit-cost relief that powers net interest income, paired with equity-market levels that drive asset-based fees and trading. Schwab's P&L is geared to the spread between what it earns on client cash and what it pays — falling funding costs + abating cash-sorting are the live tailwind the Stock-Finder flagged.

HorizonReadScore
Historical (25%)NII troughed mid-2024 and is re-expanding hard (+46% from Q2'24); cash-sorting decelerated. Improving.75
Current (50%)Fed funds 3.63% (eased from cycle peak), deposit costs falling, client cash rebuilding, equities near highs supporting fee income.68
Forward (25%)Higher-for-longer / hawkish-Fed regime caps further cuts; a positive-but-flat curve (+0.27) still supports NIM; elevated equity levels carry some downside risk.62

Driver score = (75×0.25) + (68×0.50) + (62×0.25) = 68 / 100 — Tailwind. At ≥65 this is eligible to amplify a base BUY to STRONG BUY where the economy also corroborates (it does at the Medium horizon). The driver does not change the three fundamental pillar scores. Thesis-invalidation floor: the case breaks if deposit costs stop falling / cash-sorting resumes and NII re-expansion stalls. Driver confidence ~68% (rate path is policy-dependent).

6

Pillar Detail: Economic Alignment

How the current economic climate sits relative to this stock, read from the latest Macro-Economic report. Classifies the macro pressure (Tailwind / Neutral / Headwind) — the second amplification input — and frames a long entry as Trend-Following or Contrarian with a 0–100 conviction.
Stance · Pressure
Trend-Following · Tailwind
70
conviction

Anchored on the Medium horizon, the macro pressure on Financials is a Tailwind (XLF Outperform short & medium) — rate-relief, a positive curve and resilient credit favour the group, so a long entry is Trend-Following. Per-horizon divergence: short-term, SCHW is lagging XLF and SPF (3-mo −1.7% vs +9.1% / +15.1%), so name-level short pressure is Neutral — the sector tailwind is not yet accruing to the stock, which is why the Short signal stays BUY (not amplified to STRONG). Long-run XLF is Neutral, so the Long signal is not amplified either. Only the Medium horizon gets the full Tailwind amplification (BUY → STRONG BUY).

Source: sector-map (GICS Financials → XLF: Short O / Medium O / Long N) · Macro report 2026-06-20

7

Pillar Detail: Entry/Exit Timing

The risk-reward framework, relative strength vs SPY and the sector ETF, the macro overlay, news-derived sentiment, and the catalyst cluster.
Entry/Exit Timing — Pillar Score
Mixed tape: early daily turn vs weak relative strength
52
confidence 70%

Risk-reward: price $91.70 sits in the lower third of its 52-week range ($83.96-$107.50, ~33% of range). Nearest support $87.84 / $85.58 / $83.96 (52w low); resistance $93.43 / $94.16 / $95.44 / $97.97 / $100.76. A logical stop below the $83.96 swing low is ~3.3 ATR away (ATR $2.34, 2.55%) — a relatively wide stop, partly offset by being near support. Reward to base ($118) vs risk to stop (~$83.5) is ~3.0:1.

Sub-signalReadScore
MTF confluenceMonthly uptrend, but weekly downtrend, daily recovering, hourly/15-min soft — tool confluence "bearish". Price below SMA200 ($94.74).51
Relative strengthLagging both benchmarks: 3-mo SCHW −1.7% vs SPY +15.1% / XLF +9.1%; 1-mo flat vs XLF +3.1%.20
Macro overlayFed easing (deposit relief), VIX 18.4 (neutral), curve +0.27, Financials sector in favour (XLF O/O/N). Favourable.60
SentimentAll recent analyst actions "maintain" (0 up / 0 down in 30d); news neutral-positive (SpaceX-IPO brokerage access).50
Catalyst clusterFOMC (6/17) passed; next earnings ~mid-Jul (>30d). Calendar calm.70

Financials is a High macro-sensitivity sector → weights MTF 0.30 / risk-reward 0.20 / macro 0.20 / sentiment 0.15 / catalyst 0.15. Net Timing = 52 / 100 (Neutral, confidence 70%). Constructive sub-thread: the daily has reclaimed its 50-day, RSI 54, MACD turned positive (3 days) off the $83.96 low — an early turn. But the weak relative strength vs SPY/XLF and the bearish higher-timeframe confluence keep timing from confirming, which is exactly why the short-term call is held to BUY (not STRONG BUY) and the entry ladder to Half-Size.

8

Economic Event Risk

High-impact macro releases in the next 14 days that could swing this stock, plus the last 7 days of surprises.

Upcoming events (next 30 days)

DateEventImpactForecastPreviousRelevant?Why
2026-06-23S&P Global Composite PMI (Jun)Medium50.851.5⚠ MediumGrowth read for credit demand / markets activity
2026-06-24New Home Sales (May)Medium2.9%-6.2%NoLow direct relevance to a broker
~2026-07-17 (est.)SCHW Q2-2026 earningsHighEPS ~$1.55$1.37✅ YesNII / client-cash / NIM update — the key catalyst
2026-07-29 (est.)FOMC rate decisionHighHold/CutHold✅ YesRate path drives deposit-cost relief (NII)

Recent surprises (last 7 days)

DateEventActualForecastSurpriseImpact
2026-06-17FOMC decision + projectionsHeldHoldIn-lineNeutral — higher-for-longer tone; SCHW pulled back −3%
2026-06-18Initial jobless claims226K225K+0.4%Neutral — labour still firm, supports lending/credit

Financials is High macro-sensitivity, but there is no high-impact release inside the 3-trading-day WAIT-override window (FOMC already passed 6/17; the next rate decision and Q2 earnings are ~4-6 weeks out). The dominant ticker-specific event is Q2 earnings ~mid-July (estimated — get_earnings_calendar returned no date; treat as unverified), which is what the next-update schedule will front-run once it enters the 14-day window.

9

Multi-Timeframe Technical Analysis

Trend, RSI and breakout status across monthly / weekly / daily / hourly / 15-minute, with a confluence verdict.
TimeframeTrendDirectionRSIMACDKey S/RBreakoutVol
MonthlyUptrend ↑Bullish54.3+, fadingS: 65.4 R: 96.2Resist. breakout0.9x
WeeklyDowntrend ↓Bearish48.2-, softS: 84.0 R: 98.5None1.1x
DailyRecovering →Neutral-Bull54.2+, rising x-overS: 87.8 R: 94.2Reclaim 50d2.1x
HourlyWeakening ↓Bearish35.1-, fallingS: 90.8 R: 93.9Support break
15-minDowntrend ↓Bearish44.4-, basingS: 90.9 R: 94.6None
Confluence: Mixed / bearish-leaning · MTF Score 51

The big-picture monthly trend is still up and the daily has just reclaimed its 50-day with a bullish MACD cross off the $83.96 low — an early turn. But the weekly is in a downtrend, price is below the 200-day ($94.74), and intraday frames are soft, so the tool reads overall confluence as bearish. Textbook read: an attempted bottoming inside a still-unconfirmed higher-timeframe downtrend — favour the Fundamental (value) entry path and let the technical turn prove itself above ~$95 / the 200-day before adding.

10

Price Chart (6-Month Daily)

A 6-month daily close line with SMA50 and key support/resistance — the visual companion to the MTF table.

6-month daily close. Rolled over from the Feb high ($107.5) to the late-May low ($83.96), now attempting a recovery back above the 50-day; the 200-day (~$94.7) is the line that confirms a higher-timeframe turn.

11

Scenario Summary

Bull / Base / Bear 12-month price paths with triggers and probability weights.

Bull · 25% · $137 (+49%)

Deposit-cost relief + cash-sorting reversal drive NII above plan; buybacks accelerate as AOCI heals; equity markets stay buoyant lifting fee income. Re-rates to the Street high ($137).

Base · 50% · $118 (+29%)

NII re-expansion and 2026 EPS ~$6.15 / 2027 ~$7.33 play out; multiple holds ~15-16x. Converges toward consensus (~$122) over 12 months.

Bear · 25% · $80 (-13%)

Equity-market drawdown hits client assets & trading, NIM compresses if the Fed re-tightens, AND incremental share leaks to Robinhood/IBKR in fast-growth retail/active niches (competitive trigger from step 7c). Re-tests the $84 low and below.

Probability-weighted 12-month fair value ≈ (0.25×$137)+(0.50×$118)+(0.25×$80) = ~$113, ~23% above the $91.70 entry — a favourable skew with the bear contained near prior support.

12

Entry / Exit Rules

Three independent entry paths (Fundamental · Technical · Catalyst) and three exit triggers (Stop-Loss · Thesis · Profit-Target). Any one entry path is a valid entry — the more that agree, the larger the position the conviction ladder suggests. Exits are graded by severity, not count.

How to read this — the Conviction Ladder

The three entry groups are alternative paths to a buy, not a checklist. A group counts only when all its sub-conditions hold. How many groups are satisfied sets the suggested size — it does not gate whether you may enter: 1 group = Half-Size (a valid starter/scale-in), 2 = Full-Size, 3 = Over-Size (highest conviction); 0 = Wait (no path open yet). A strong overall signal can still read Wait here when the stock is well above its entry zones — that flags "good business, no entry edge right now," not a contradiction. Exits are graded by severity of what is live, not by a count: a hard stop is an Exit on its own.
Entry conviction: Half-Size1 of 3 groups met — one path open — starter / scale-in

Fundamental — MET

Cheap on forward multiples with a live NII tailwind — the open entry path.
✅ Price $91.70 < fair value ~$112 (fwd-P/E + reverse-DCF)
✅ No earnings within 7 days (next ~mid-Jul)
✅ Underlying-Driver score ≥ 50 (68)

Technical — not MET

Early turn only — daily reclaimed the 50-day but weekly is still down and price is below the 200-day; not yet confirmed.
⛔ Daily close > SMA50 ($90.91) on >1.5x volume in a bullish (up) reclaim
⛔ OR a confirmed close above the 200-day ($94.74) / weekly downtrend broken
✅ RSI 35-65 (54)
✅ MACD histogram positive ≥ 2 days (3)

Catalyst — not MET

No event in the window.
· Post-earnings move > +5% with guidance raised
· Volume > 2x the 20-day average on the move

Forecast: Fundamental path is already MET, so a Half-Size starter is actionable now. The Technical path is the swing factor: a daily close above the 200-day (~$94.74, ~3.3% up) with the weekly turning up would flip it to MET and lift the ladder to Full-Size — FORECAST ~2-4 weeks at the current recovery slope (Moderate confidence; the 6/18 distribution day and weak relative strength can reset the clock). The Catalyst path is event-dependent on Q2 earnings ~mid-July.

Exit action: Holdno exit trigger is live — hold the position

Stop-Loss — not LIVE

⛔ Two daily closes below $83.50 (under the $83.96 swing low)

Thesis Invalidation — not LIVE

⛔ Deposit costs stop falling / cash-sorting resumes → NII re-expansion stalls
⛔ Sustained client-asset outflows OR Robinhood/IBKR take material share of core flows
⛔ Any hard gate triggers (distress / dilution) [catastrophic, fires alone]

Profit-Target — not LIVE

⛔ Price into $125 (median analyst target)
⛔ AND RSI > 70 with no quality re-rating to justify it

Forecast: Stop is ~9% below and beneath the 52-week low — Unlikely in the next 4-6 weeks absent a market-wide selloff or an earnings-driven NII disappointment. Profit-trim at $125 is a 2-4 quarter event on the base path.

Imagine you act at the current price of $91.70 · as of 20 Jun 2026

What if you bought now?

You are risking ~9% to the hard stop ($83.50) to gain ~29% to base ($118) / ~49% to bull ($137) — roughly a 3:1 skew.
  • Risking: the technical turn is unconfirmed (weekly down, below 200-day) and relative strength is weak — you may sit through more chop, and the bear case re-tests $80.
  • Gaining: a ~33%-below-consensus entry on a 19%-ROE franchise, the NII re-expansion tailwind, a 1.29% dividend while you wait, and free optionality on NIM/buyback upside.
  • Read: a Half-Size starter on the Fundamental path is reasonable now; scaling to full is better earned on a close above the 200-day.

What if you sold now?

You are giving up ~29% base-case upside (and a 1.29% yield) to protect against a ~13% bear-case drawdown.
  • Protecting: capital if equities sell off / the Fed re-tightens — but you'd be selling ~20% below probability-weighted fair value (~$113).
  • Giving up: the NII tailwind, the buyback compounding, and the embedded optionality.
  • Read: no exit rule is live (stop clear, no profit-target, thesis intact) — this is an accumulate/hold zone, not a sell.
13

Position Sizing Context

Illustrative portfolio math (not advice) translating conviction into an allocation given risk-per-share and volatility.

Position sizing not computed — specify your portfolio allocation and role for sizing guidance.

14

Calibration Snapshot

Machine-readable snapshot of every score, level and signal, saved alongside the HTML so the next run can compute deltas.
{
  "ticker": "SCHW",
  "date": "2026-06-20",
  "version": "v6",
  "exchange": "NYSE",
  "ticker_bare": "SCHW",
  "exchange_ticker": "NYSE:SCHW",
  "isin": "US8085131055",
  "api_ticker": "SCHW",
  "company": "The Charles Schwab Corporation",
  "sector": "Financials",
  "sub_industry": "Capital Markets - broker / asset gatherer",
  "lifecycle_stage": "mature",
  "user_horizon": null,
  "user_allocation_pct": null,
  "portfolio_role": null,
  "price_at_rating": 91.7,
  "signal_short": "BUY",
  "signal_medium": "STRONG BUY",
  "signal_long": "BUY",
  "primary_signal": "STRONG BUY",
  "quality_score": 79,
  "valuation_score": 70,
  "timing_score": 52,
  "driver_score": 68,
  "overall_confidence": 70,
  "quality_detail": {
    "industry_benchmark_name": "ROE vs Efficiency Ratio (Capital Markets)",
    "industry_benchmark_value": "ROE 19.1% / Eff 50.8%",
    "industry_benchmark_score": 88,
    "moat_score": 68,
    "roic_or_roe_pct": 19.1,
    "efficiency_ratio_pct": 50.8,
    "capital_allocation": 76,
    "management_skin_in_game": 55
  },
  "valuation_detail": {
    "fwd_pe_2026": 14.9,
    "fwd_pe_2027": 12.5,
    "pe_ttm": 16.99,
    "peg_ttm": 0.34,
    "fwd_peg": 0.94,
    "price_to_book": 3.25,
    "price_to_tbv": 5.42,
    "dividend_yield_pct": 1.29,
    "implied_growth_rate": 7.0,
    "consensus_growth_rate": 15.0,
    "historical_valuation_decile": 3,
    "fcf_yield_pct": 6.1
  },
  "timing_detail": {
    "mtf_confluence": 51,
    "mtf_confluence_label": "Mixed / bearish-leaning",
    "risk_reward_score": 50,
    "relative_strength_vs_spy": -16.8,
    "relative_strength_vs_sector": -10.8,
    "catalyst_clustering_score": 70,
    "dynamic_macro_weight": 0.2,
    "rsi_14": 54.2,
    "atr_pct": 2.55
  },
  "moat_score": 68,
  "fcf_yield": 6.1,
  "implied_growth_rate": 7.0,
  "consensus_growth_rate": 15.0,
  "historical_valuation_decile": 3,
  "relative_strength_vs_spy": -16.8,
  "relative_strength_vs_sector": -10.8,
  "catalyst_clustering_score": 70,
  "nonop_pct_of_net_income": 0.0,
  "clean_pe": 16.99,
  "clean_peg": 0.94,
  "competitive_share_trajectory": "stable",
  "competitive_threat_level": "moderate",
  "fair_value_est": 112,
  "stop_loss": 83.5,
  "target_price": 118,
  "scenario_base_target": 118,
  "scenario_bull_target": 137,
  "entry_groups_met": 1,
  "entry_conviction": "Half-Size",
  "exit_groups_live": 0,
  "exit_action": "Hold",
  "hard_gate_state": "clear",
  "gates_triggered": [],
  "gates_caution": [],
  "do_not_buy_triggers": [],
  "economic_alignment_stance": "Trend-Following",
  "economic_alignment_conviction": 70,
  "economic_alignment_pressure": "Tailwind",
  "economic_alignment_source": "sector-map (XLF)",
  "macro_report_date": "2026-06-20",
  "analyst_consensus_target": 121.89,
  "analyst_target_high": 137,
  "analyst_target_low": 105,
  "analyst_target_median": 125,
  "analyst_target_upside_pct": 32.9,
  "analyst_grades_consensus": "Buy",
  "analyst_bullish_pct": 58,
  "analyst_coverage_count": 7,
  "fmp_rating": "B+",
  "fmp_overall_score": 3,
  "recent_upgrades_30d": 0,
  "recent_downgrades_30d": 0,
  "next_update_date": "2026-07-06",
  "next_update_basis": "default +14d (next earnings ~mid-Jul 2026, beyond 14d window)",
  "next_check_date": "2026-07-06",
  "analysis_status": "on-going",
  "finder_ticker": "SCHW",
  "finder_exchange": "NYSE",
  "finder_fit": 77
}

Five-pillar read: Quality 79 / Valuation 70 / Timing 52 / Drivers 68 / Econ-conviction 70. Base matrix (High Quality + Attractive Valuation) = BUY at all three horizons; Medium amplifies to STRONG BUY (driver Tailwind 68 + XLF Medium Outperform); Short stays BUY (name lagging sector → short pressure Neutral); Long stays BUY (XLF Long Neutral). Hard-gate state clear; entry ladder Half-Size (Fundamental path only); no exit live.

15

Data Sources & Methodology

Audit trail of every data source: fully available (✓), fallback (⚠), or failed (✗), plus provenance-based confidence haircuts.
Data Source Status
get_company_profile / get_financial_ratios profile, ROE, multiples, dividend
get_income_statement (8q) net revenue, NII, efficiency, clean-earnings (7b)
get_multi_timeframe_analysis 5-timeframe trend/RSI/MACD/S-R
get_technical_indicators / get_stock_prices 6mo daily chart + indicators
get_price_target_consensus / _summary median $125, consensus $121.89, coverage 7q/32y
get_stock_grades / get_grades_consensus 29B/18H/3S; 12 recent maintains
get_ratings_snapshot FMP B+ cross-reference
get_economic_calendar / get_key_economic_indicators FOMC, PMI, rates, VIX
get_related_tickers / get_stock_news peers (IBKR/HOOD/MS/RJF/LPLA); SpaceX-IPO news
SPY / XLF prices (relative strength) 3mo & 1mo RS computed
get_earnings_calendar returned no date; Q2 earnings estimated ~mid-Jul 2026 (web search unavailable) — flagged unverified
Impact on scores: Comprehensive coverage; only the exact next-earnings date is unconfirmed (estimated mid-July, >14d out so it does not change scheduling). No confidence haircut applied beyond noting the earnings-date flag. Earnings-quality (7b) confirmed CLEAN — totalOtherIncomeExpensesNet = 0, no mark-to-market gains, so clean_pe = reported P/E.
DISCLAIMER: This is a quantitative framework for educational purposes only. It is not financial advice. Always do your own research and consult a licensed financial advisor before making investment decisions.