NYSE:CB Chubb Limited

ISIN: CH0044328745
FinancialsInsurance — P&CLarge Cap
NYSE · Zurich/NJ · P&C + Life Insurance · ~$138bn mkt cap Analysis Status: On-Going
$353.25
+2.9% (post-Q2 print)
23 Jul 2026 · Signal v6
Changes Since Last Report (vs. 16 Jul 2026, $343.70)

Chubb reported Q2'26 on 21 Jul — a beat (core operating EPS $7.26, +18% yoy; combined ratio improved to 83.8%; cat losses down; record investment income), and the stock broke out +2.9% to $353.25. The signals are unchanged (HOLD / BUY / BUY) but the reasons shifted: the earnings-event caution gate has CLEARED (⚠ caution → ✓ clear), and Timing jumped +14 to 66 on the post-earnings breakout (strongly-bullish MTF confluence). Valuation eased −2 to 72 as the price rose into the $356 consensus. Quality 84 and Driver 63 essentially unchanged. The short-term HOLD now reflects an extended entry into $356–365 resistance ahead of the 29–30 Jul Fed/PCE cluster (not an earnings blackout) — buy on a confirmed break of $356 or a pullback into $337.

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.

Chubb Limited

Chubb is the world's largest publicly-traded property-and-casualty (P&C) insurer, underwriting commercial and personal risk in 54 countries, plus a fast-growing Asian life-insurance arm. Its core business is pricing risk it can profit on: collect premiums today, pay claims later, and earn investment income on the float in between. What sets Chubb apart is underwriting discipline — a decades-long record of running a combined ratio in the mid-80s (well under the 100 break-even) across cycles, a scale and product breadth few rivals match, and a $150bn+ investment portfolio that now earns record income as rates stay elevated. Think of it as a diversified, low-loss-ratio risk machine run by a management team famous for walking away from underpriced business.

HorizonSignalComposite ScoreConfidenceKey Driver
Short-term (1–3 mo)HOLD5855%Buy on confirmation — extended into $356–365 resistance ahead of Fed/PCE
Medium-term (6–12 mo)BUY6860%Cheap vs warranted book, quality compounder, sector tailwind
Long-term (3–5 yr)BUY7264%Best-in-class underwriter, mid-80s combined ratio, book compounding
Next update: 2026-08-06 — default +14d (next earnings 2026-10-20 beyond 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

84
strong
conf 80%

Valuation Attractiveness

72
attractive
conf 78%

Entry/Exit Timing

66
improving
conf 60%

Underlying Drivers

63
Neutral–Tailwind
conf 65%

Economic Alignment

70
Trend-Following
conf 68%
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
AISC of capital n/a; A-/AA balance sheet, interest coverage 14x, no leverage stress.
Earnings Event Risk
Q2 reported 21 Jul (beat); next earnings 20 Oct — outside the 14-day window. Prior caution gate now CLEARED.
Valuation Ceiling
P/Book 1.84x vs justified 2.57x (0.72x) = Attractive; reported P/TBV 2.55x below the 3.0x insurer rich line.
Accounting / Dilution
Buying back stock (share count 393m vs 404m yoy); no dilution. Q1 MTM bond loss already reversed in book.
Binary / Regulatory
No pending binary event.
3

Pillar Detail: Business Quality

A deep dive into the Quality score: business economics, moat, ROIC and the industry benchmark.
Business Quality — Pillar Score
Best-in-class P&C underwriter; mid-80s combined ratio, record investment income, book compounding low-double-digits.
84
conf 80%

Lifecycle / sector: Mature large-cap P&C insurer (with a growing Asian life arm). Scored on insurance-appropriate metrics — combined ratio, ROE/ROTE, book-value growth and investment income — not FCF/EBITDA, which are structurally misleading for an insurer whose "inventory" is float.

Sub-signalValueBenchmarkScoreRead
Combined ratio (Q2'26)83.8%<95% profitable; <90% excellent92Improved from 85.6% yoy; cat losses fell
Core operating ROE / ROTE~13.7% / ~20.5%>10% healthy, >18% exceptional (ROTE)82Elite tangible returns
Book value / share growth (yoy)+15.8%High-single-digit = strong85Compounding engine intact
Investment incomeRecord85Elevated rates lift float yield
Net margin (TTM)18.0%P&C peer ~12–15%78Above peer
Industry benchmark — Combined Ratio: 83.8% (Q2'26, improved from 85.6% a year ago). Rating: STRONG — comfortably below the 100 break-even and better than most global P&C peers. Benchmark score 90/100. Chubb has run low-to-mid-80s combined ratios across cycles; Q2 cat losses came in below plan.
Pricing power
78
Underwriting discipline; walks away from underpriced risk
Network effects
50
n/a for insurance
Switching costs
62
Broker relationships, multi-year commercial programs
Cost advantage
75
Scale + low expense ratio; global diversification
Intangibles
80
Brand for paying claims; A-rated balance sheet; global licences

Moat average ≈ 69. The durable edge is underwriting culture + scale + float yield, not lock-in.

Competitive Environment. P&C is fragmented and competitive; the direct rivals are other large commercial underwriters. Share trajectory is stable — Chubb is not gaining or losing meaningful share, it is defending margins by shrinking where pricing softens.
RivalThreatShare trajectoryErosion vector
AIG, Travelers, Zurich, AllianzCommercial P&C price competitionChubb stableSoft-market pricing pressure on new business
Berkshire (reinsurance/primary)Capital-rich competitorChubb stableCapacity in cat-exposed lines
Progressive (personal lines)Pricing/tech in auto/homeChubb niche (HNW)Limited overlap — Chubb skews high-net-worth

→ Net effect: Switching Costs held at 62, Cost Advantage 75 — a moderate, well-understood competitive backdrop; commercial pricing is softening but Chubb's response is discipline, not share-chasing. Threat level: moderate.

ROIC / capital allocation: FMP health rating A- (4/5), with 5/5 on ROE and ROA. Consistent buybacks (share count −3% yoy) at a below-book multiple + a growing dividend (~1.1% yield, 13.5% payout) — disciplined capital return.

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
Attractive — P/Book 1.84x vs a rate-and-ROE-justified 2.57x (0.72x); ~13x forward P/E for a low-double-digit compounder.
72
conf 78%

Warranted-multiple anchor (justified P/Book): using justified P/TBV = (ROE − g)/(r − g) with core operating ROE 13.7%, g 6% (defensive cap), r 9.0% (10-Y 4.45% + 4.5% ERP + 0 quality add-on): justified P/Book ≈ 2.57x. Actual P/Book 1.84x → ratio 0.72× = Attractive band. Cross-check on ROTE 20.5% justifies P/TBV ~4.8x vs actual 2.55x — also Attractive. Reported P/TBV 2.55x sits below the insurer 3.0x guardrail rich line, so no goodwill-driven false-rich read.

MetricCBJustified / PeerRead
P/Book (anchor)1.84x2.57x justifiedAttractive (0.72x)
P/TBV2.55x<3.0x rich lineOK
Forward P/E (2026E $27.32)12.9xP&C peer 11–14xFair–cheap
Forward P/E (2027E $29.18)12.1xCheap for 9–10% grower
Dividend yield1.11%Low yield, 13.5% payout — retention funds book growth

Cash-return anchor (banks/insurers use dividend + book growth, not FCF yield): book compounding ~13–16% yoy + ~1.1% dividend + buybacks = a high-teens total shareholder-value creation rate against a 1.84x book multiple.

Reverse-DCF read: at $353 the market implies ~6–7% long-run book growth; Chubb has compounded book low-double-digits — the price embeds less growth than the franchise has delivered, the signature of an under-priced compounder.

Embedded Optionality / Free Upside: (1) the Asian life-insurance platform (Chubb Life, incl. the Huatai China build-out) is a multi-year growth engine the P&C multiple barely credits; (2) float re-investment — as legacy low-coupon bonds roll into higher yields, investment income keeps stepping up for years with no new premium needed; (3) buyback optionality below book. Core P&C justifies most of the $353; the life arm + rising float yield are largely free. Tilt: +4.

Analyst cross-check: consensus target $356.13, median $360, high $387, low $301 — price now ~1% below consensus, ~2% below median (upside compressed after the run). Grades: Buy consensus (1 strong-buy / 22 buy / 18 hold / 2 sell = 53% bullish). FMP rating A- corroborates quality; the P/E (3/5) and P/B (2/5) sub-scores reflect a market that already knows this is a quality name.

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
P&C pricing cycle + investment yields
63
Neutral–Tailwind (no amplification)

Chubb's economics are driven by two external forces: the P&C pricing cycle (are rates hardening or softening across commercial lines) and investment yields on its ~$150bn float. The two currently pull in opposite directions — commercial pricing is softening off a multi-year hard market (a mild headwind to new-business margins), while elevated rates keep lifting investment income (record this quarter) as bonds roll over.

HorizonDriver readScore
Historical (12–24m)Hard market + rising yields drove a multi-year earnings step-up72
CurrentSoftening commercial pricing vs record investment income — net mildly positive62
Forward (6–12m)Fed on hold at 3.75%; yields stay supportive; pricing discipline the swing factor60

Amplification: driver 63 sits in the 36–64 neutral band → no amplification. The base BUY stands but is not lifted to STRONG BUY — soft pricing is enough of an offset to the yield tailwind that a "back-up-the-truck" signal isn't warranted.

Thesis-invalidation floor: a broad, sustained soft market that pushes the combined ratio toward the mid-90s, or a sharp fall in long yields that compresses investment income, would break the compounding case.

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

Latest macro report scores Financials (XLF) Outperform short and medium (Neutral long), with real+fast money flowing in. In a stagflation-lite, higher-for-longer regime, insurers are a preferred financial — they earn more on float while their liabilities lag. Pressure = Tailwind; a long entry is Trend-Following. Tailwind alone (driver only 63, not ≥65) does not trigger STRONG BUY.

Source: sector-map (XLF) · Macro report 2026-07-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
Strongly-bullish MTF confluence; post-earnings breakout on 2.3x volume, but extended into $356–365 resistance right before Fed/PCE.
66
conf 60%

Risk-reward: the Q2 beat (21 Jul) cleared the earnings-blackout gate and the stock broke out +2.9% on 2.3x average volume, reclaiming the $345 area. All five timeframes now read uptrend (strongly-bullish confluence). But price ($353) is into the $356 consensus / $365 July-high resistance shelf, and the daily MACD histogram is still slightly negative (the 21 Jul dip hasn't cleared), so the tape has turned but not fully confirmed. Nearest support $337, then the $331–333 (SMA50) shelf and $321.

Relative strength: CB has outpaced XLF and the S&P over 1m/3m as money rotated into insurers — a leadership name, not a laggard bounce. 52-week position ~top decile (near highs) = momentum but limited margin of safety on entry.

Position-risk: stop below $337 is ~1.9 ATR (daily ATR ~$8.4) — a workable stop, but buying at the top of the range ahead of the 29 Jul Fed + 30 Jul PCE/GDP cluster is poor short-term risk-reward. Sentiment: Buy-consensus grades, constructive Q2 call (Greenberg flagged underwriting, investment income, life growth).

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-07-29Fed Interest Rate DecisionHighHold 3.75%3.75%⚠️ YesInsurers rate-sensitive on float; a hawkish hold supports investment income
2026-07-30Core PCE / Q2 GDPHigh0.1% / ~1.6%0.3% / 2.1%⚠️ YesGrowth + inflation path drives the rate curve CB reinvests at
2026-08-03ISM Manufacturing PMIHigh52.853.3MediumCommercial-lines demand signal

Recent surprises (last 7 days)

DateEventActualForecastSurpriseImpact
2026-07-17Michigan Consumer Sentiment54.451.0+6.7% aboveRisk-on; supportive of financials
2026-07-16Retail Sales MoM0.2%0.2%inlineNeutral

The binding near-term events are the 29 Jul Fed and 30 Jul PCE/GDP. Both feed the rate curve Chubb reinvests float into — a higher-for-longer outcome is a modest positive for investment income, but the cluster is a reason to size a fresh entry smaller or wait until it clears.

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 ↑Bullish67.6+ risingS: 252 R: 346Res breakout0.95x
WeeklyUptrend ↑Bullish62.6+ risingS: 296 R: 365Res breakout1.33x
DailyStrong Up ↑Bullish50.1− (lagging)S: 331 R: 356Res breakout2.29x
HourlyUptrend ↑Bullish61.0+ risingS: 348 R: 355Res breakout
15-minUptrend ↑Neutral68.5flatS: 342 R: 353
Confluence: Strongly Bullish · MTF Score 78

Every higher timeframe is in an uptrend and the daily just broke out on 2.3x volume after the Q2 beat. The only caution is that the daily MACD histogram hasn't turned positive yet and RSI on the weekly/monthly is getting extended (62/68) into resistance — consistent with a strong trend that has run a little hot short-term. Buy-zone to watch: a pullback into $337 or the $331–333 SMA50 shelf.

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.

CB 6-month daily — base at $320–330 through spring, breakout to $361 in early July, pullback and post-Q2 reclaim to $353. SMA50 rising ~$333.

11

Scenario Summary

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

Bull $410 (25%)

Hard market re-firms or cat losses stay benign; investment income keeps stepping up as bonds roll; Asian life scales. Book compounds mid-teens and the multiple nudges toward 2.0x. ~+16%.

Base $375 (55%)

Steady mid-80s combined ratio, record-ish investment income, ~13% book growth. Re-rates modestly toward the $360–375 analyst zone as the Street marks up the compounder. ~+6%.

Bear $300 (20%)

Commercial pricing softens broadly and a heavy cat quarter lifts the combined ratio toward the mid-90s; long yields fall and compress investment income. Multiple slips back to ~1.6x book. ~−15%.

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

Trades below fair value with a positive (if not strong) driver.
✅ Price $353 < fair value ~$367
✅ No earnings within 7 days (next 20 Oct)
✅ Underlying-Driver score ≥ 50 (63)

Technical — not MET

Breakout is real but the daily MACD leg hasn't confirmed; preferred entry is a pullback into support.
✅ Daily close > SMA50 ($333) on >1.5x volume (2.3x)
✅ RSI 35–65 (50)
⛔ MACD histogram positive ≥2 days OR turning up off support

Catalyst — not MET

Q2 beat, but the +2.9% move fell short of the >+5% bar.
⛔ Post-earnings move > +5% (was +2.9%)
✅ Guidance raised or maintained
✅ Volume > 2x the 20-day average (2.3x)

Forecast: Technical group — likely within 1–3 weeks: the daily MACD should cross up as the 21 Jul dip rolls off, especially on any push through $356. Confidence Moderate. A cleaner entry is a pullback into $337 / the $331–333 SMA50 shelf — catalyst-dependent on the 29–30 Jul macro cluster. Fundamental group already met (cheap vs book).

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

Stop-Loss — not LIVE

⛔ Two daily closes below $330 (below the SMA50 shelf)

Thesis Invalidation — not LIVE

⛔ Combined ratio drifts toward the mid-90s (soft market)
⛔ OR a sharp fall in long yields compresses investment income
⛔ OR book-value growth stalls below high-single-digits

Profit-Target — not LIVE

⛔ Price into $385–390 (analyst high) with RSI > 70

Forecast: Stop unlikely in 4–6 weeks — price is ~7% above $330 and the trend is up. The realistic near-term risk is a macro-driven pullback (Fed/PCE), which would test $337 not the stop.

Imagine you act at the current price of $353.25 · as of 23 Jul 2026

What if you bought now?

You're risking ~7% (to the $330 stop) to gain ~6% to the $375 base and ~16% to the $410 bull — plus a high-teens book-compounding + buyback engine you start owning immediately.

Buying at $353 means chasing a name that has run +4.7% in a week into the $356–365 resistance, right before the 29–30 Jul Fed/PCE cluster — the Technical entry leg isn't confirmed and analyst upside to consensus ($356) is now ~1%. What you gain is exposure to a best-in-class compounder at 1.84x book / 12.9x forward earnings with a live sector tailwind. Read: the business is a clear medium/long BUY, but the entry is better on a pullback into $337 or a confirmed break of $356 — hence the short-term HOLD.

What if you sold now?

Selling now protects against a Fed/PCE pullback to $337 (~−4.5%) but gives up ~6% base-case upside plus the compounding.

No exit rule is live — no stop hit, no thesis break, price below the $375 base target and well below fair value. There is no mechanical reason to sell; this is a hold/accumulate name where the only question is entry price, not whether to own it.

13

Position Sizing Context

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

Position sizing not computed — no risk budget/role was specified for this watchlist name. The §12 Conviction Ladder reads Half-Size (1 of 3 entry paths met — Fundamental only): a starter/scale-in is the ladder-consistent stance, adding on a confirmed break of $356 or a pullback into $337. ATR ~$8.4/day (~2.4%); beta ~0.7 (defensive). This is illustrative, not advice.

14

Calibration Snapshot

Machine-readable snapshot of every score, level and signal, saved alongside the HTML so the next run can compute deltas.
{
  "ticker": "CB",
  "date": "2026-07-23",
  "version": "v6",
  "exchange": "NYSE",
  "exchange_ticker": "NYSE:CB",
  "isin": "CH0044328745",
  "api_ticker": "CB",
  "company": "Chubb Limited",
  "currency": "USD",
  "sector": "Financials",
  "sub_industry": "Insurance \u2014 Property & Casualty",
  "lifecycle_stage": "mature",
  "price_at_rating": 353.25,
  "signal_short": "HOLD",
  "signal_medium": "BUY",
  "signal_long": "BUY",
  "primary_signal": "BUY",
  "quality_score": 84,
  "valuation_score": 72,
  "timing_score": 66,
  "driver_score": 63,
  "overall_confidence": 55,
  "economic_alignment_stance": "Trend-Following",
  "economic_alignment_conviction": 70,
  "economic_alignment_pressure": "Tailwind",
  "economic_alignment_source": "sector-map",
  "macro_report_date": "2026-07-20",
  "val_multiple_basis": "P/Book",
  "warranted_multiple": 2.57,
  "actual_multiple": 1.84,
  "warranted_ratio": 0.72,
  "val_band": "attractive",
  "discount_rate_r": 0.09,
  "risk_free_10y": 0.0445,
  "g_near": 0.06,
  "g_term": 0.03,
  "actual_ptbv_reported": 2.55,
  "nonop_pct_of_net_income": 8.0,
  "clean_pe": 12.9,
  "clean_peg": 1.4,
  "combined_ratio": 83.8,
  "core_operating_roe": 13.7,
  "rote": 20.5,
  "bvps": 191.79,
  "tbvps": 138.31,
  "bvps_growth_yoy": 15.8,
  "competitive_share_trajectory": "stable",
  "competitive_threat_level": "moderate",
  "driver_commodity_trend": null,
  "hard_gate_state": "clear",
  "gates_triggered": [],
  "do_not_buy_triggers": [],
  "entry_groups_met": 1,
  "entry_conviction": "Half-Size",
  "exit_groups_live": 0,
  "exit_action": "Hold",
  "short_entry_confirmed": false,
  "short_cap_reason": "Short base BUY (Fundamental path) capped to HOLD \u2014 Technical AND Catalyst groups both unmet (daily MACD unconfirmed; +2.9% post-earnings < +5%). Buy on confirmation: a daily MACD cross-up / break of $356, or a pullback into $337.",
  "fair_value_est": 367.0,
  "stop_loss": 330.0,
  "target_price": 375.0,
  "scenario_base_target": 375,
  "scenario_bull_target": 410,
  "scenario_bear_target": 300,
  "next_update_date": "2026-08-06",
  "next_update_basis": "default +14d (next earnings 2026-10-20 beyond window)",
  "next_check_date": "2026-08-06",
  "analysis_status": "on-going",
  "finder_ticker": "CB",
  "finder_exchange": "\ud83c\uddfa\ud83c\uddf8 NYSE",
  "q2_core_eps": 7.26
}
15

Data Sources & Methodology

Audit trail of every data source: fully available (✓), fallback (⚠), or failed (✗), plus provenance-based confidence haircuts.
Data Source Status
get_stock_snapshot / prices $353.25, 6-mo daily
get_income_statement (6q) Q2'26 filed 21 Jul: core operating EPS $7.26 (GAAP $7.30, +18% yoy), rev $15.8bn
get_financial_ratios P/B 1.84, P/E 12.4, TBVPS 138.31
get_multi_timeframe_analysis strongly-bullish confluence
get_price_target_consensus / grades target $356 / Buy consensus
get_ratings_snapshot A- (4/5)
get_analyst_estimates 2026E $27.32 / 2027E $29.18
get_earnings_calendar next 20 Oct
combined ratio / BVPS combined ratio 83.8% & book growth from Q2 release/news (confirmed against Chubb 21 Jul release)
Impact on scores: High data coverage. The only estimated figures are the exact combined ratio and BVPS (sourced from the Q2 release/news rather than a structured endpoint) — they corroborate rather than drive the scores. Overall confidence held at ~60% by the Timing pillar (extended entry into a macro cluster), not by data gaps.
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.