Historical (last 12–24 mo, 25% weight, score 75): Fed Funds peaked at 5.33% mid-2024 and has been cut to 3.64% by Apr 2026 (169bp of easing). The 10Y-2Y curve has un-inverted from −40bp in early 2024 to +50bp now — a textbook bank-positive normalization. This is the regime that lifted Citi from sub-$70 in mid-2025 to $123 today.
Current (50% weight, score 78): 10Y at 4.47%, 2Y at 4.00%, curve steepening incrementally (+47 → +50 over the week). VIX 17.3 = risk-on. Unemployment stable at 4.3%, no credit cycle stress visible in Citi’s Q1 numbers (NIM expanding, credit costs in line). Net interest income is the primary beneficiary of a steepening curve.
Forward (25% weight, score 70): Fed dot plot and Fed-speaker schedule (Williams, Goolsbee, Kashkari, Logan all speaking next week) suggest continued easing bias. Risks: tariff war drag on growth, Iran-related oil supply shock that could re-ignite inflation, geopolitical tail risk. The forward case is favourable but not unambiguous.
Composite: 75 × 0.25 + 78 × 0.50 + 70 × 0.25 = 75.25 → Tailwind (65–79 band).
| Pillar | Pre-Driver | Driver Adj. | Post-Driver | Effect |
|---|---|---|---|---|
| Business Quality | 51 | +2 | 53 | Marginal — rate tailwind supports NII but doesn’t fix ROE structurally. |
| Valuation | 65 | +1 | 66 | Light — market has partially priced the cycle; reverse DCF still implies room. |
| Timing | 63 | +4 | 67 | Material — sector-rotation winds favor banks while curve steepens. |
| Metric | Citi | Healthy | Strong | Score | Note |
|---|---|---|---|---|---|
| Return on Equity (TTM) | 7.65% | 10–15% | >18% | 35 | Below cost of equity (~9%). Improving but slowest of US bulge-bracket peers. |
| Return on Assets (TTM) | 0.61% | 1.0–1.5% | >1.5% | 30 | Below 0.8% red-flag line. Large balance sheet drags ROA more than industrial peers. |
| Net Interest Margin | ~2.5% | 2.5–3.5% | >3.5% | 50 | Just at lower end; NII grew $13.7B → $15.7B Q4’24 → Q1’26 (+15%) on steepening curve. |
| Efficiency Ratio | ~65% | <60% | <50% | 38 | Worst of bulge-bracket; transformation/expense cuts targeting low-60s by 2027. |
| CET1 Ratio | ~13.4% | >10% | >12% | 80 | Capital strength is a clear positive — supports buybacks + dividend. |
| NPL Ratio | ~0.6% | <2% | <1% | 80 | Credit quality clean — key for the “cycle headwind” story not materializing. |
| Loan-to-Deposit Ratio | ~62% | 80–90% | ~85% sweet spot | 60 | Below sweet spot — ample deposit funding, room to grow loan book. |
| Revenue trajectory (YoY) | +7% | n/a sector | n/a sector | 65 | Q1’26 $44.1B vs Q1’25 $41.3B; NII the main driver. |
| Component | Value | Threshold | Verdict |
|---|---|---|---|
| ROE TTM | 7.65% | Healthy 10–15%, Strong >15% | Below healthy — weak |
| Efficiency Ratio | ~65% | Good <60%, Excellent <50% | Above target — weak |
| Benchmark Score | 40 / 100 (Mediocre — both legs weak relative to peers; recovery path exists in consensus 2027–2028 estimates pointing toward ~12% ROE by 2028) | ||
| Lens | Weight | Score | Detail |
|---|---|---|---|
| ROIC (ROE proxy for banks) | 40% | 30 | ROE 7.65% < ~9% cost of equity — value destruction at headline level. Improving trajectory. |
| Capital Allocation Discipline | 30% | 65 | Buybacks 1.89B → 1.74B shares (−8% over 5Q) at <P/TBV pricing — accretive. Dividend stable at $2.40/yr. |
| Management Skin in Game | 30% | 60 | Jane Fraser ownership meaningful; multi-year transformation plan publicly committed; no SBC dilution issue (banks not tech). |
| Composite | 49 | Capital returns are the bright spot; ROIC the structural drag. |
Quality pillar composite (pre-driver): 51. Sub-signals ~50 × 0.40 + benchmark 40 × 0.15 + moat 61 × 0.25 + ROIC/cap-alloc 49 × 0.20 = 51.25. After +2 driver tailwind, final Quality = 53. Confidence 72% — bank metric stack is data-rich and unambiguous.
| Multiple | Citi | Sector Median | Own 5Y Decile | Score | Read |
|---|---|---|---|---|---|
| P/Tangible Book | 1.13x | ~1.5x (large diversified) | 9th/10th | 55 | Cheap vs peers but expensive vs own history (had been 0.4–0.8x range 2020–2024). |
| Price / Book | 1.02x | ~1.3–1.4x | 9th | 60 | Citi has been the laggard for years — 1.0x is the rerate ceiling without ROE step-change. |
| Forward P/E (FY26 EPS $10.85) | 9.9x | ~12–13x banks | 5th | 72 | Cheapest of bulge-bracket on FY26; consistent with view that ROE recovery isn’t priced in. |
| Trailing P/E (TTM) | 13.4x | ~12x banks | 4th | 55 | Slightly above sector trailing — expected given Q4’25 was depressed by year-end accruals. |
| PEG Ratio (TTM) | 0.49 | ~1.0 | 2nd | 85 | FMP PEG 0.49, Yahoo PEG 0.69 — deep growth-adjusted discount. |
| Dividend Yield | 1.94% | 3–4% bank median | 5th | 40 | Modest income vs JPM/BAC; payout ratio low at 33% leaves room to grow. |
Banks don’t generate FCF in the industrial sense — use dividend yield + tangible book growth as the equivalent total-cash-return anchor. Dividend yield 1.94% + TBV growth ~3–5%/yr (driven by buybacks at sub-P/TBV) = total cash return ~5–7% annually. Acceptable for a mature financial; would be more compelling if buybacks accelerated.
| Assumption | Value |
|---|---|
| Current price | $123.42 |
| FY26 consensus EPS | $10.85 (15 analysts, range $9.59–$11.26) |
| FY27 consensus EPS | $12.52 (+15% YoY) |
| FY28 consensus EPS | $14.59 (+17% YoY) |
| Cost of equity | ~9% |
| Implied growth at current price | ~7–9% annual (5Y terminal-cash-flow basis) |
| Consensus 3Y forward EPS CAGR | ~15% |
| Verdict | Market is pricing in materially LESS growth than analysts expect — ATTRACTIVE setup, score 78 |
If consensus is right and Citi delivers ~15% EPS growth into 2028, $14.59 EPS × 11x P/E = ~$160 fair value — in line with the analyst high of $162.
22 analysts cover Citi (FMP shows 13 active in last quarter, 39 in last year — deep institutional coverage). Last-month average target is $151.33 (3 analysts) vs last-quarter average $146.92 — targets are being revised UP, a bullish signal. Spread $87–$162 is wide (1.86x) which trims confidence by 5%. Median $144.50 close to consensus $140.50 suggests no single outlier is skewing the average.
Target signal score: 75 (10% weight in valuation pillar) — price 12% below consensus puts it in the 70–84 “meaningful upside” band.
Solid Buy consensus with 33% holds — falls in the “65–84 range” bracket of the framework. Score 62 / 100 (5% weight). Bullish-percentage 63% is healthy but not euphoric — room for upgrades if Q2 prints clean. No strong-buys is notable: even the bulls are measured.
Recent activity: 15 grade actions on April 15 (mostly post-Q1 reiterations), all maintains. No upgrades, no downgrades in the last 30 days — sentiment is stable, not accelerating.
| Component | Score (1–5) | Reading |
|---|---|---|
| Overall Rating | C+ (2) | Fair — consistent with our “Medium Quality” assessment |
| DCF | 1 | Banks structurally score poorly on DCF (no FCF); ignore this signal |
| ROE | 3 | Matches our 7.65% — mid-pack |
| ROA | 3 | 0.61% — bank-typical, mid-pack |
| D/E | 1 | Banks always look levered — structural, ignore |
| P/E | 2 | Trailing 13.4x is fair; forward 9.9x is cheap |
| P/B | 3 | 1.02x is the strongest valuation leg |
FMP rating C+ aligns with our Medium-Quality / Attractive-Valuation read. The DCF (1) and D/E (1) sub-scores are false negatives driven by banks-specific accounting (no FCF, structural leverage) and should be discounted. The ROE/ROA/P/B sub-scores confirm the framework view.
Valuation pillar composite (pre-driver): 65. Sector-median 75 × 0.25 + historical decile 30 × 0.20 + growth-adj 70 × 0.15 + reverse DCF 78 × 0.25 + analyst targets 75 × 0.10 + grades 62 × 0.05 = 65.35. After +1 driver, final Valuation = 66. Confidence 82% — deep analyst coverage, hard consensus data, FMP cross-reference all available.
| Element | Reading | Score |
|---|---|---|
| Volatility-adjusted stop distance | Stop logic: $108.50 (just below SMA200 $108.98). Distance = $14.92 = 4.5 ATR. Wider than ideal — if you size to the stop, position is small. | 45 |
| Proximity to support | $123.42 vs EMA50 $122.37 (0.9% above) vs SMA50 $120.10 (2.7% above). Sitting on a layered support shelf. | 70 (favorable entry zone) |
| Proximity to resistance | SMA20 $127.61 (3.4% above) — first resistance. Then $131–132 swing high cluster. | neutral |
| Time since last major swing | 52w high $135.29 set Apr 21 — 24 days ago. Pullback 8.8% off the high. Mid-cycle pullback, not extended. | 60 |
| Risk-Reward composite | 55 / 100 (favorable on proximity, capped by stop distance) | |
| Benchmark | 3-Month Spread | 1-Month Spread | Read |
|---|---|---|---|
| C vs SPY (S&P 500) | +8.5% vs +8.3% ≈ flat | −6.3% vs +5.6% = −11.9pp | In-line on 3m; underperforming the broad market on the recent pullback. |
| C vs XLF (Financials ETF) | +8.5% vs −2.1% = +10.6pp | −6.3% vs −2.1% = −4.2pp | Strong sector outperformance over 3m — C leading the sector. 1m lag is the pullback from $135. |
Net read: Citi has been a sector leader for 6+ months (price ~$72 in mid-2025 → $135 high in April = +88% run). Current pullback against SPY/XLF is mid-rally consolidation, not relative-strength breakdown. Score: 70 / 100.
| Macro Signal | Reading | Bank Effect | Score |
|---|---|---|---|
| Fed direction | Cutting (5.33% → 3.64%, −169bp over ~9 mo) | Eases funding cost; mildly supports loan demand | 75 |
| Yield curve (10Y−2Y) | +50bp, steepening (from +47bp last week) | Strong NIM tailwind — the textbook bank-positive regime | 85 |
| VIX | 17.3 (risk-on, falling from 17.87) | Trading & capital-markets revenue benefits | 75 |
| Unemployment | 4.3% (stable) | No credit cycle stress visible — supports NPL ratio | 80 |
| Sector rotation | XLF +6.5% YTD, financials in favor as growth-rate fears recede | Rotation flows into banks | 80 |
| Macro composite | ~80 / 100 — Favorable regime | ||
| Signal | Reading |
|---|---|
| Analyst grade actions (last 30d) | 15 actions logged April 15 (post-Q1), all maintains. No upgrades, no downgrades. Neutral momentum. |
| Estimate revisions trend | Last-month avg target $151.33 vs last-quarter $146.92 — targets being revised UP modestly. |
| News tone (Polygon+NewsAPI, 14d) | Polygon news for ticker C is dominated by articles that mention Citi as a downgrader of other names (e.g., WIX) rather than C-specific coverage. NewsAPI returned no negative C-specific stories. Net neutral-to-positive. |
| Options skew | Not pulled — would refine entry timing but not directional view. |
| Sentiment composite | 60 / 100 — constructive but flat (no momentum acceleration) |
Catalyst clustering: 1 clear high-impact event within 14 days (FOMC minutes) plus a heavy Fed-speaker cluster. Score 55 / 100 (focused calendar with elevated noise; no need to cut position size, but tighten stops around 5/20).
Timing pillar composite (pre-driver): 63. MTF 63.25 × 0.30 + risk-reward 55 × 0.20 + macro 80 × 0.20 + sentiment 60 × 0.15 + catalysts 55 × 0.15 = 63.23. After +4 driver tailwind, final Timing = 67. Confidence 65% — high-quality MTF data, but the daily/intraday divergence widens the entry-zone uncertainty.
| Date | Event | Impact | Forecast | Previous | Relevant to C? |
|---|---|---|---|---|---|
| May 18 | NAHB Housing Market Index | Med | 34 | 34 | Mortgage book signal |
| May 19 | Fed Waller speech | Med | — | — | Direct Fed comm |
| May 19 | Pending Home Sales (MoM Apr) | Med | 1.6% | 1.5% | Mortgage demand |
| May 20 | FOMC Minutes | HIGH | — | — | Direct — rate path |
| May 20 | 20-Year Bond Auction | Low | — | 4.883% | Long-end signal |
| May 21 | Housing Starts & Building Permits | HIGH | 1.42M / 1.38M | 1.50M / 1.36M | Mortgage volume signal |
| May 21 | Initial Jobless Claims | Med | 210K | 211K | Credit cycle proxy |
| May 21 | Philly Fed Manufacturing | Med | 15.5 | 26.7 | Cycle indicator |
| Date | Event | Actual | Forecast | Surprise | Bank Read |
|---|---|---|---|---|---|
| May 15 | NY Empire State Manufacturing | 19.6 | 7.5 | +161% | Strong manufacturing — supports loan demand |
| May 15 | Industrial Production MoM (Apr) | 0.7% | 0.3% | +133% | Cycle accelerating — banks-positive |
| May 14 | 15-Year Mortgage Rate | 5.71% | — | ~flat | Mortgage spread stable |
Read for C: Recent macro surprises have been positive on the cycle side (manufacturing, industrial production beats), reinforcing the "no credit-cycle stress" picture. The FOMC minutes on May 20 are the main path-risk — a hawkish surprise (anything that pushes back on additional 2026 cuts) would partially undo the driver tailwind. The framework rule fires here: HIGH-impact event within 3 days + HIGH sector sensitivity = timing confidence already reflects a −10 haircut baked into the 65% timing-pillar confidence.
| Timeframe | Trend | RSI | MACD | Breakout | Key Support | Key Resistance | Vol Ratio |
|---|---|---|---|---|---|---|---|
| Monthly | Uptrend ↑ | 72.99 (overbought) | +15.5, hist +2.7 | Resistance breakout | $55.51 | $105.59 (broken) | 0.46x |
| Weekly | Uptrend ↑ | 58.59 (healthy) | +5.92, hist +0.47 | Resistance breakout | $106.52 | $124.17–$135.29 | 0.67x |
| Daily | Strong uptrend ↑↑ | 45.59 (cooling) | +0.68, hist −1.04 falling | Resistance breakout | $117.00 / $106.83 | $130.48–$135.29 | 0.71x |
| Hourly | Strong downtrend ↓ | 37.08 | −0.45, falling | Support breakdown | $122.73 | $126.61 | n/a |
| 15-min | Strong downtrend ↓ | 38.33 | −0.18, falling | Support breakdown | $122.73 | $125.21 | n/a |
| Confluence: Mostly Bullish · MTF Score 63 · Pattern: Higher-TF Bullish + Lower-TF Pullback — classic buy-the-dip setup | |||||||
| Indicator | Value | Read |
|---|---|---|
| Close | $123.42 | 1.0% above EMA50, 2.8% above SMA50 |
| RSI (14) | 45.6 | Neutral — cooling from 60s, well clear of oversold |
| MACD / Signal / Hist | +0.68 / +1.72 / −1.04 | Histogram negative and falling for 8 sessions — near-term bearish, in uptrend |
| EMA20 / EMA50 | $125.81 / $122.37 | Price below EMA20 (resistance), at EMA50 (support) |
| SMA20 / SMA50 / SMA200 | $127.61 / $120.10 / $108.98 | Classic stack — SMA20 above SMA50 above SMA200 = healthy uptrend structure |
| Bollinger (5,2) | L $122.45 / M $124.93 / U $127.40 | Price between mid and lower band — consolidating |
| ATR (14) | $3.33 (2.7% of price) | Moderate volatility; 1 ATR = $3.33 daily expected move |
| OBV | 332.5M (rising from 316M on May 4) | Accumulation continues despite price pullback — positive divergence |
Interpretation: Monthly RSI 73 is the only overbought flag — expected after a +88% run from the 2025 trough. Weekly and daily are in healthy territory. The intraday roll-over is meaningful at the position-entry level (would prefer to wait for hourly RSI to print <30 or for the daily MACD histogram to flatten before chasing) but does not invalidate the medium-term uptrend. Key entry zone: $120–$122 (SMA50 / EMA50 confluence) — only 0.9–2.7% below current price.
Probability-weighted 12mo target: 0.25 × $165 + 0.55 × $145 + 0.20 × $101.50 = $141.30 (+14% from $123.42) — in line with FMP consensus target of $140.50.
| Type | Level | Source |
|---|---|---|
| Stop-Loss | $108.50 | Just below SMA200 ($108.98) and pre-rally support |
| Major Support | $108.98 | SMA200 — daily uptrend invalidation level |
| Strong Support | $117.00 | Feb breakdown / recovery level |
| Tactical Support | $120.10 | SMA50 — current floor |
| Entry Zone (Rule 1) | $120–$122 | EMA50/SMA50 confluence |
| Current Price | $123.42 | May 15 close |
| First Resistance | $127.60 | SMA20 — Rule 2 trigger |
| Swing Resistance | $130–$132 | Mid-April swing-high cluster |
| 52-Week High | $135.29 | Apr 21 peak |
| Fair Value (base) | $140–$145 | Consensus target $140.50 / median $144.50 |
| Analyst High | $162 | Exit Rule 3b trigger |
| Volatility Metric | Value | Reference |
|---|---|---|
| ATR (14-day, daily) | $3.33 | 2.7% of price — moderate (less volatile than ABCL or SOFI) |
| Beta (vs SPY) | 1.12 | Slightly higher market sensitivity than average; a 5% C position is ~5.6% market-equivalent risk |
| 52-week range | $71.65 — $135.29 | Current price at 81% of 52w range — near top half but not at extreme |
| 1-yr max drawdown | ~13% (current pullback from $135 high) | Mild relative to large-cap banks during stress |
| Stop distance (% of price) | ~12% to $108.50 | Wide for a mature large-cap; ample buffer but caps efficient size-to-stop |
| Catalyst clustering modifier | 1.0x (no reduction) | Clustering score 55 — focused, no chaos discount |
Sizing guidance: Without a stated allocation, the framework declines to suggest a specific position size. Two qualitative observations: (1) at this score profile (Medium Q + Attractive V + Improving T) and HIGH macro sensitivity, this is a satellite-shaped trade with an exposure ceiling somewhere in the 3–6% range for a balanced equity book; (2) given the wide stop distance, sizing should likely be done in 2–3 tranches (current + one near $120 + one near $117 if it gets there) rather than going full-size at the May 15 close. If you’d like a specific portfolio percentage, share your target allocation and the framework will compute it.
calibration-C-20260517-1300.json so the next run computes deltas and the watchlist monitor can drive alerts without parsing HTML.{
"ticker": "C",
"exchange": "NYSE",
"exchange_ticker": "NYSE:C",
"isin": "US1729674242",
"api_ticker": "C",
"company": "Citigroup Inc.",
"date": "2026-05-17",
"timestamp": "20260517-1300",
"version": "v5",
"user_context": {
"horizon": "all_horizons",
"allocation_pct": null,
"portfolio_role": null
},
"sector": "Financial Services / Banks - Diversified",
"lifecycle_stage": "mature",
"price_at_rating": 123.42,
"signal_short": "BUY_ACCUMULATE",
"signal_medium": "BUY",
"signal_long": "HOLD",
"primary_signal": "BUY",
"quality_score": 53,
"quality_pre_driver": 51,
"quality_confidence": 72,
"quality_detail": {
"industry_benchmark_name": "ROE x Efficiency Ratio (Banks)",
"industry_benchmark_value": "ROE 7.65% / Eff 65%",
"industry_benchmark_score": 40,
"moat_score": 61,
"roe_ttm_pct": 7.65,
"roa_ttm_pct": 0.61,
"nim_pct": 2.5,
"efficiency_ratio_pct": 65,
"cet1_pct": 13.4,
"npl_pct": 0.6,
"capital_allocation": 65,
"management_skin_in_game": 60
},
"valuation_score": 66,
"valuation_pre_driver": 65,
"valuation_confidence": 82,
"valuation_detail": {
"p_tbv": 1.13,
"p_b": 1.02,
"forward_pe": 9.88,
"trailing_pe": 13.41,
"peg_ratio": 0.49,
"dividend_yield_pct": 1.94,
"implied_growth_rate_pct": 8,
"consensus_growth_rate_pct": 15,
"historical_valuation_decile": 9,
"analyst_consensus_target": 140.50,
"analyst_target_high": 162,
"analyst_target_low": 87,
"analyst_target_median": 144.50,
"analyst_target_upside_pct": 13.8,
"analyst_grades_consensus": "Buy",
"analyst_bullish_pct": 63,
"analyst_coverage_count": 22,
"recent_upgrades_30d": 0,
"recent_downgrades_30d": 0,
"fmp_rating": "C+",
"fmp_overall_score": 2
},
"timing_score": 67,
"timing_pre_driver": 63,
"timing_confidence": 65,
"timing_detail": {
"mtf_confluence_label": "Mostly Bullish",
"mtf_score": 63,
"risk_reward_score": 55,
"relative_strength_vs_spy_3m_pp": 0.2,
"relative_strength_vs_spy_1m_pp": -11.9,
"relative_strength_vs_sector_3m_pp": 10.6,
"relative_strength_vs_sector_1m_pp": -4.2,
"catalyst_clustering_score": 55,
"dynamic_macro_weight": 0.20,
"sentiment_score": 60,
"catalyst_score": 55,
"rsi_daily_14": 45.6,
"macd_daily_hist": -1.04,
"atr_daily": 3.33,
"sma200_daily": 108.98,
"sma50_daily": 120.10,
"ema50_daily": 122.37
},
"driver_score": 75,
"driver_label": "Tailwind",
"driver_confidence": 65,
"driver_detail": {
"primary_driver": "Interest Rate Regime & Credit Cycle",
"historical_score": 75,
"current_score": 78,
"forward_score": 70,
"fed_funds_rate_pct": 3.64,
"yield_curve_10y2y_bp": 50,
"ten_year_yield_pct": 4.47,
"vix": 17.26,
"thesis_invalidation_floor": "Fed pivots back to hiking AND NPL ratio breaks above 2%"
},
"overall_confidence": 65,
"fair_value_est": 142,
"stop_loss": 108.50,
"target_price_consensus": 140.50,
"target_price_high": 162,
"gates_triggered": [],
"do_not_buy_triggers": [],
"data_status": {
"company_profile": "ok",
"stock_snapshot": "partial",
"income_statement": "ok",
"financial_ratios": "ok",
"multi_timeframe_analysis": "ok",
"stock_prices": "ok",
"technical_indicators": "ok",
"key_economic_indicators": "ok",
"analyst_estimates": "ok",
"earnings_calendar": "fail_fallback_web",
"price_target_consensus": "ok",
"price_target_summary": "ok",
"stock_grades": "ok",
"grades_consensus": "ok",
"ratings_snapshot": "ok",
"polygon_news": "partial_offtopic",
"stock_news_newsapi": "ok",
"economic_calendar": "ok",
"fred_series": "ok",
"yahoo_quote": "ok",
"yahoo_targets": "ok"
},
"next_check_date": "2026-06-17"
}