portfolio-review · diff
git:20260518.000b56c to git:20260619.944b979
285 added, 4 removed. Audit B to B.
---
description: Review and analyze investment portfolio performance and allocation
---
# Portfolio Review
Comprehensive portfolio analysis and optimization recommendations.
## Phase 1 — Portfolio Snapshot
Start with a high-level summary before diving into details:
- Total portfolio value and cash position
- Number of holdings and average position size
- Date range of analysis
- Investor profile: risk tolerance (conservative / moderate / aggressive), time horizon, income vs. growth objective
## Phase 2 — Performance Analysis
1. **Absolute Returns**
- YTD, 1Y, 3Y, 5Y total return
- Compare against relevant benchmarks (S&P 500, Russell 2000, custom blended benchmark)
- Annualized return vs. benchmark — outperformance or underperformance in basis points
2. **Risk-Adjusted Returns**
- Sharpe ratio (excess return per unit of total risk)
- Sortino ratio (penalizes only downside volatility)
- Calmar ratio (annualized return / max drawdown)
- Information ratio vs. benchmark
3. **Drawdown Analysis**
- Maximum drawdown: peak-to-trough magnitude and duration
- Recovery period after each significant drawdown
- Drawdown frequency over the analysis window
- Compare portfolio drawdown vs. benchmark during market stress periods
4. **Volatility Metrics**
- Annualized standard deviation of returns
- Beta vs. S&P 500 (market sensitivity)
- Tracking error vs. benchmark
- Upside capture / downside capture ratios
## Phase 3 — Asset Allocation Review
1. **Current Allocation Breakdown**
- Asset class weights: equities, fixed income, cash, REITs, commodities, alternatives
- Equity sub-breakdown: US large cap, US small/mid cap, international developed, emerging markets
- Compare current weights to target/policy weights — flag deviations > 5%
2. **Geographic Diversification**
- US vs. international exposure (%)
- Country concentration risk — any single country > 20%?
- Currency exposure and hedging status
3. **Sector and Industry Weights**
- GICS sector breakdown vs. S&P 500 sector weights
- Overweight / underweight sectors and the investment thesis behind each
- Cyclical vs. defensive balance relative to current macro environment
4. **Market Cap Distribution**
- Large cap / mid cap / small cap split
- Growth vs. value tilt (P/E, P/B relative to benchmark)
- Quality factor exposure (ROE, balance sheet strength)
## Phase 4 — Holdings Review
1. **Individual Position Analysis**
- Position size as % of portfolio — flag any > 10% single-stock concentration
- Contribution to total return (winners vs. laggards)
- Unrealized gain/loss and holding period (tax impact)
2. **Position Sizing Discipline**
- Largest 5 positions — are sizes justified by conviction and risk/reward?
- Smallest positions — are they too small to be meaningful?
- Kelly criterion or volatility-scaled sizing check
3. **Overlap and Redundancy**
- Identify pairs of holdings with > 0.7 correlation
- ETF overlap analysis — holdings duplicated across ETFs
- Factor overlap: are multiple positions expressing the same single bet?
4. **Cost Efficiency**
- Weighted average expense ratio for ETF/fund holdings
- Estimated annual trading cost drag
- Tax lot optimization — identify specific lots to sell for tax efficiency
- ## Phase 5 — Optimization Recommendations
+ ## Phase 5 — Concentration Risk Scoring
+ Score each concentration dimension independently, then aggregate:
+
+ **Single-Stock Concentration**
+
+ | Position Weight | Score | Status |
+ |----------------|-------|--------|
+ | < 5% | 0 | OK |
+ | 5%–10% | 1 | Monitor |
+ | 10%–15% | 2 | Warning |
+ | 15%–20% | 3 | High Risk |
+ | > 20% | 5 | Red Flag — immediate review required |
+
+ **Sector Concentration**
+
+ | Largest Sector Weight | Score | Status |
+ |-----------------------|-------|--------|
+ | < 20% | 0 | Diversified |
+ | 20%–25% | 1 | Slight tilt |
+ | 25%–30% | 2 | Elevated |
+ | 30%–40% | 3 | Warning |
+ | > 40% | 5 | Concentration risk — rebalance urged |
+
+ **Factor Concentration**
+
+ | Factor Tilt Condition | Score | Note |
+ |-----------------------|-------|------|
+ | Mixed factors | 0 | Balanced |
+ | Mild single-factor tilt | 1 | Acceptable with thesis |
+ | Strong single-factor tilt (>70% one factor) | 3 | Vulnerable to factor drawdown |
+ | Pure single-factor portfolio (>90%) | 5 | Maximum factor risk |
+
+ Common factor concentration traps: all high-growth names (P/E > 40), all micro/small-cap, all rate-sensitive (long-duration bonds + REITs + utilities together).
+
+ **Aggregate Concentration Score**
+ - 0–2: Well-diversified
+ - 3–5: Moderate concentration — monitor
+ - 6–9: High concentration — rebalance
+ - 10+: Critical — urgent review
+
+ ## Phase 6 — Correlation & Diversification Analysis
+
+ **Measuring Diversification Benefit**
+
+ Portfolio volatility reduction vs. average asset volatility signals diversification quality. If portfolio vol ≈ average position vol, diversification benefit is near zero.
+
+ Diversification Ratio = (Weighted average individual vol) / (Portfolio vol)
+ - Ratio > 1.5: Good diversification
+ - Ratio 1.2–1.5: Moderate
+ - Ratio < 1.2: Poor — holdings move together
+
+ **Pairwise Correlation Heatmap Template**
+
+ For each pair of top-10 holdings, estimate 1-year rolling correlation:
+
+ ```
+ AAPL MSFT GOOGL AMZN NVDA JPM XOM GLD
+ AAPL 1.00 0.85 0.82 0.79 0.76 0.42 0.15 -0.10
+ MSFT 0.85 1.00 0.84 0.80 0.78 0.41 0.14 -0.12
+ GOOGL 0.82 0.84 1.00 0.81 0.73 0.39 0.12 -0.09
+ AMZN 0.79 0.80 0.81 1.00 0.70 0.37 0.10 -0.08
+ NVDA 0.76 0.78 0.73 0.70 1.00 0.35 0.11 -0.07
+ JPM 0.42 0.41 0.39 0.37 0.35 1.00 0.48 0.05
+ XOM 0.15 0.14 0.12 0.10 0.11 0.48 1.00 0.30
+ GLD -0.10 -0.12 -0.09 -0.08 -0.07 0.05 0.30 1.00
+ ```
+
+ Color code: > 0.75 = HIGH (red), 0.50–0.75 = MODERATE (yellow), < 0.50 = LOW (green)
+
+ **Effective Number of Positions (ENP)**
+
+ ENP = 1 / sum(wi²) where wi = weight of position i
+
+ Interpretation:
+ - ENP ≈ actual N: equal-weight, low correlation — true diversification
+ - ENP << actual N: dominated by a few large/correlated positions
+ - Target ENP: at least 0.6 × actual number of holdings
+
+ **Correlated Cluster Identification**
+
+ Group holdings with pairwise correlation > 0.75 into clusters. Each cluster behaves as a single economic bet. Example clusters: Big Tech, Energy Majors, Regional Banks, Long-Duration Fixed Income.
+
+ Actionable rule: no single cluster should exceed 35% of portfolio weight.
+
+ ## Phase 7 — Tax-Loss Harvesting Opportunities
+
+ **Identification Criteria**
+
+ Screen all positions for:
+ 1. Unrealized loss > 10% of cost basis
+ 2. Position held > 30 days (avoid wash-sale complications)
+ 3. Realized gains available to offset in the current tax year
+
+ **Wash-Sale Rule (30-Day Rule)**
+
+ Do not repurchase the same or substantially identical security within 30 days before or after the sale. Alternatives to maintain exposure during the 30-day window: sell XOM, buy CVX; sell QQQ, buy VGT; sell one S&P 500 ETF for another.
+
+ **Net Tax Benefit Calculation**
+
+ ```
+ Gross Tax Saving = Realized Loss × Marginal Tax Rate
+ Transaction Cost = (Bid-Ask Spread + Commission) × 2
+ Net Benefit = Gross Tax Saving − Transaction Cost
+ Harvest if: Net Benefit > 0 AND loss > $500 minimum threshold
+ ```
+
+ **Tax-Loss Harvest Decision Table**
+
+ | Condition | Action |
+ |-----------|--------|
+ | Unrealized loss > 10%, gains to offset, loss > $500 | Harvest — sell and replace with correlated substitute |
+ | Unrealized loss 5–10%, gains to offset | Evaluate: transaction cost vs. tax saving |
+ | Unrealized loss > 10%, no offsetting gains | Hold or carry forward — harvest at year-end if gains materialize |
+ | Position held < 30 days | Wait for 30-day window to avoid wash-sale |
+ | Loss < $500 | Skip — transaction costs exceed benefit |
+ | Short-term gain offset | Priority harvest — short-term rates are higher |
+
+ **Annual Harvest Tracking**
+
+ Maintain a log: position, cost basis, current value, loss amount, harvest date, replacement security, re-entry date. Review in October before year-end to maximize benefit.
+
+ ## Phase 8 — Factor Exposure Analysis
+
+ **Six-Factor Portfolio Map**
+
+ For each holding, estimate factor scores (1–5 scale, 3 = neutral):
+
+ | Factor | Measurement Proxy | Low (1–2) | Neutral (3) | High (4–5) |
+ |--------|------------------|-----------|-------------|------------|
+ | Value | P/E, P/B vs. sector | Expensive | Fair | Cheap |
+ | Growth | Revenue/EPS CAGR 3Y | < 5% | 5–15% | > 15% |
+ | Momentum | 12-1 month return | Bottom quartile | Middle | Top quartile |
+ | Quality | ROE, Debt/EBITDA | Low ROE, high debt | Average | High ROE, low debt |
+ | Low-Vol | 1Y realized vol | High vol | Average | Low vol |
+ | Size | Market cap | Mega-cap | Mid-cap | Small-cap |
+
+ **Portfolio-Level Factor Score**
+
+ Weight each holding's factor score by portfolio weight. Compare to S&P 500 baseline (all factors = 3.0):
+
+ ```
+ Factor Portfolio Score Benchmark Active Tilt
+ Value 2.1 3.0 -0.9 (Growth tilt)
+ Growth 4.2 3.0 +1.2 (Strong growth)
+ Momentum 3.8 3.0 +0.8 (Slight momentum)
+ Quality 3.5 3.0 +0.5 (Slight quality)
+ Low-Vol 2.3 3.0 -0.7 (Higher volatility)
+ Size 2.4 3.0 -0.6 (Large-cap tilt)
+ ```
+
+ **Unintended Factor Tilt Detection**
+
+ Flag when any active tilt exceeds ±1.0: this signals an unintended concentration that may not be in the investment thesis. Common unintended tilts: growth investors inadvertently loading up on momentum; dividend investors loading up on low-vol (rate sensitive); index investors with large-cap tilt through tech sector overweight.
+
+ **Benchmark Factor Comparison**
+
+ Use the factor tilts to explain return difference from benchmark. Growth tilt +1.2 in a value-outperforming market explains underperformance. Momentum tilt in a mean-reverting market increases drawdown risk.
+
+ ## Phase 9 — Rebalancing Decision Framework
+
+ **When to Rebalance**
+
+ Three trigger systems — use the one matching the investor's approach:
+
+ 1. **Threshold-Based (Recommended for most investors)**
+ - Rebalance when any asset class drifts > 5% from target weight
+ - Individual stock position drifts > 3% from target
+ - No action if drift is within tolerance band
+
+ 2. **Calendar-Based**
+ - Review quarterly; rebalance only if drift > 3%
+ - Annual full rebalance regardless of drift
+ - Simpler but may miss significant mid-quarter moves
+
+ 3. **Factor-Based**
+ - Rebalance when portfolio factor score diverges > 1.5 from target
+ - Triggered by momentum factor decay (top-quartile stocks reversing)
+ - Suitable for factor-aware investors
+
+ **Cost-Benefit Analysis**
+
+ Before executing any rebalance, verify it clears the cost hurdle:
+
+ ```
+ Expected Drift Cost (annual) = Excess vol from drift × Sharpe ratio penalty
+ Transaction Cost = Commission + (Bid-Ask Spread × Trade Size) + Tax Impact
+ Rebalance if: Drift Cost > Transaction Cost × 2 (safety margin)
+ ```
+
+ Rule of thumb: do not rebalance positions with < $2,000 drift — transaction costs exceed benefit.
+
+ **Rebalancing Decision Flowchart**
+
+ ```
+ START
+ |
+ v
+ Is drift > threshold?
+ NO --> Monitor next period
+ YES --> Is account taxable?
+ YES --> Are there harvesting opportunities?
+ YES --> Combine harvest + rebalance
+ NO --> Evaluate tax cost of rebalance
+ Tax cost > drift benefit? --> Delay
+ Tax cost < drift benefit? --> Rebalance
+ NO --> Rebalance immediately (no tax friction)
+ ```
+
+ **Tax-Smart Rebalancing Order**
+
+ 1. Use new cash contributions to buy underweight assets first
+ 2. Reinvest dividends into underweight positions
+ 3. Harvest losses in overweight positions to fund purchases
+ 4. If still needed, sell overweight positions (minimize short-term gains)
+
+ ## Phase 10 — Drawdown & Risk Budget Analysis
+
+ **Per-Position Maximum Drawdown**
+
+ For each holding, calculate the worst peak-to-trough decline over the analysis window:
+
+ | Position | Max Drawdown | Recovery Time | Current From Peak | Risk Level |
+ |----------|-------------|---------------|-------------------|-----------|
+ | Example | -35% | 14 months | -8% | Medium |
+
+ Flag positions with max drawdown > 50%: high-volatility securities require smaller position sizes to avoid outsized portfolio impact.
+
+ **Portfolio-Level Value at Risk (VaR)**
+
+ 95% VaR (1-day): the loss not exceeded on 95% of trading days.
+
+ Parametric VaR (simplified) = Portfolio Value × Portfolio Daily Vol × 1.645
+
+ Example: $500,000 portfolio, daily vol 0.9% → 95% VaR = $500,000 × 0.009 × 1.645 = $7,403/day
+
+ Report also: 99% VaR (multiply by 2.326 / 1.645) and 10-day VaR (multiply by √10).
+
+ **Contribution to Portfolio Volatility**
+
+ Each position's marginal contribution to total portfolio volatility:
+
+ ```
+ Marginal Vol Contribution (i) = weight(i) × Cov(i, portfolio) / Portfolio Vol
+ % Vol Contribution = Marginal Vol Contribution / Portfolio Vol × 100
+ ```
+
+ Target: no single position contributes > 20% of total portfolio volatility unless it is a deliberate high-conviction overweight.
+
+ **Risk Budget Allocation Table**
+
+ | Position | Weight % | Vol Contribution % | Risk Budget Used | Status |
+ |----------|----------|--------------------|-----------------|--------|
+ | Ideal | ≤ 10% | ≤ 15% | ≤ budget | OK |
+ | Flag | > 10% | > 20% | Over budget | Trim |
+
+ **Stress Test Scenarios**
+
+ Apply historical shock scenarios to estimate portfolio impact:
+ - 2022 Rate Shock: tech -35%, bonds -15%, energy +50%
+ - 2020 COVID Crash: market -34% in 33 days, recovery 5 months
+ - 2008 GFC: market -57%, credit spreads +500bps
+ - 2000 Dot-com: tech -78% over 2.5 years
+
+ For each scenario: estimate portfolio decline, identify worst-hit positions, confirm portfolio can withstand the scenario without forcing a distressed sale.
+
+ ## Phase 11 — Optimization Recommendations
+
1. **Rebalancing Actions**
- List all positions with > 2% drift from target weight
- Priority order: largest drift first
- Tax-aware rebalancing: prioritize tax-loss harvesting in taxable accounts
- Proposed trades: ticker, action (buy/sell/trim), target weight, estimated proceeds
2. **Diversification Improvements**
- Specific gaps to fill (e.g., no international exposure, no inflation hedge)
- Correlation-reduction swaps: replace redundant holdings with uncorrelated alternatives
- Alternative asset candidates if appropriate (gold, TIPS, REITs, private credit proxies)
3. **Underperformer Review**
- For each position underperforming benchmark by > 10% over 1Y:
- Is the original thesis intact?
- Has fundamentals deteriorated or is this a temporary setback?
- Hold / average down / exit decision with rationale
4. **Upgrade Candidates**
- Positions to add based on current conviction and valuation
- New opportunities that fit the portfolio's existing factor tilts
- Cost reduction opportunities (replace active fund with cheaper ETF equivalent)
## Output Format
Deliver the review as a structured report with these sections:
1. Executive Summary (3–5 bullet points: biggest strengths and risks)
2. Performance Scorecard (table: metric | portfolio | benchmark | delta)
3. Allocation Heat Map (sector/geography breakdown in table form)
- 4. Holdings Table (position | weight | 1Y return | status: hold/trim/exit)
- 5. Action List (prioritized, with expected portfolio impact)
- 6. Implementation Roadmap (immediate / 30-day / 90-day actions)
+ 4. Concentration Risk Score (aggregate score with dimension breakdown)
+ 5. Factor Exposure Summary (six-factor table vs. benchmark)
+ 6. Holdings Table (position | weight | 1Y return | vol contribution % | status: hold/trim/exit)
+ 7. Tax-Loss Harvest Candidates (position | unrealized loss | estimated tax saving)
+ 8. Risk Budget Table (position | weight | vol contribution | status)
+ 9. Action List (prioritized, with expected portfolio impact)
+ 10. Implementation Roadmap (immediate / 30-day / 90-day actions)
Focus on actionable insights aligned with the investor's stated objectives and risk tolerance. Flag any positions or allocations that conflict with the investor profile.
+
+ ## Data Verification
+
+ Before finalizing the analysis, verify:
+ - [ ] Position weights sum to 100% (or account for cash)
+ - [ ] Return figures use total return (dividends reinvested)
+ - [ ] Benchmark used matches portfolio's investment universe
+ - [ ] Correlation estimates based on at least 1 year of data
+ - [ ] Tax calculations use correct marginal rate for the investor
+ - [ ] Factor scores sourced from consistent data provider
+ - [ ] VaR calculation uses current portfolio weights, not stale data
## Standard Signal Output
All analysis concludes with this standardized block:
```
╔══════════════════════════════════════════════╗
║ INVESTMENT SIGNAL ║
╠══════════════════════════════════════════════╣
║ Signal: BULLISH / NEUTRAL / BEARISH ║
║ Confidence: HIGH / MEDIUM / LOW ║
║ Horizon: SHORT / MEDIUM / LONG-TERM ║
║ Score: X.X / 10 ║
╠══════════════════════════════════════════════╣
║ Action: BUY / HOLD / SELL ║
║ Conviction: STRONG / MODERATE / WEAK ║
╚══════════════════════════════════════════════╝
```
**Score Guide**: 8.0–10.0 Strongly Bullish | 6.0–7.9 Moderately Bullish | 4.0–5.9 Neutral | 2.0–3.9 Moderately Bearish | 0.0–1.9 Strongly Bearish
**Confidence**: HIGH (strong data, clear signals) | MEDIUM (mixed signals) | LOW (limited data, conflicting signals)
**Horizon**: SHORT-TERM (1 week–3 months) | MEDIUM-TERM (3 months–1 year) | LONG-TERM (1+ years)