Investment Portfolio Reviewer
Basic portfolio health check with asset allocation review, diversification score, and rebalancing suggestions
Investment Portfolio Reviewer
Basic portfolio health check with asset allocation review, diversification score, and rebalancing suggestions. Accepts holdings from brokerage exports or manual entry, analyzes against target allocations, and identifies concentration risks. This is an educational analysis tool — not financial advice. It helps you prepare informed questions for your financial advisor or validate your own research.
Supported Platforms & Integrations
| Platform | Integration Type | Features |
|---|---|---|
| Vanguard | CSV export import | Fund overlap detection, expense ratio analysis |
| Fidelity | CSV export import | Position analysis, sector concentration review |
| Charles Schwab | CSV export import | Holdings breakdown, tax lot awareness |
| Interactive Brokers | CSV/Flex export import | Multi-currency support, international diversification |
| Robinhood | CSV export import | Individual stock concentration warnings |
| Google Sheets / Excel | Manual entry template | Custom portfolio input with flexible formatting |
When to Use
- Annual portfolio review: Run once a year to check if your allocation has drifted from targets due to market movements
- After major market moves: Check concentration after significant sector rallies or crashes that may have skewed your allocation
- Before rebalancing: Get specific buy/sell amounts needed to return to your target allocation
- New investment evaluation: See how adding a new position would affect your overall diversification score
- Retirement milestone check: Validate that your allocation matches your age-appropriate risk level
- Tax-loss harvesting review: Identify positions with losses that could offset gains while maintaining allocation
Alternatives to Consider
- Morningstar Portfolio X-Ray: If you want professional-grade overlap analysis with Morningstar's proprietary data
- Personal Capital (Empower): If you want continuous automated portfolio tracking with retirement planning
- Fee-only financial advisor: If your portfolio exceeds $250K or involves complex tax situations
Quick Start
skill: investment-portfolio-reviewer config: target_allocation: us_stocks: 0.50 international_stocks: 0.20 bonds: 0.25 cash: 0.05 risk_profile: moderate # conservative | moderate | aggressive age: 35 retirement_age: 65 input: source: csv file: fidelity_positions.csv
Example Input:
Symbol, Shares, Current Price, Value
VTI, 150, 265.00, 39750.00
VXUS, 80, 58.50, 4680.00
BND, 100, 72.00, 7200.00
AAPL, 50, 195.00, 9750.00
GOOGL, 20, 175.00, 3500.00
Cash, -, -, 2120.00
Example Output:
PORTFOLIO HEALTH CHECK
================================
Total Value: $67,000.00
Asset Allocation (Current vs Target):
US Stocks: 79.1% vs 50.0% [+29.1% OVER] ▓▓▓▓▓▓▓▓░░
Intl Stocks: 7.0% vs 20.0% [-13.0% UNDER] ▓▓░░░░░░░░
Bonds: 10.7% vs 25.0% [-14.3% UNDER] ▓▓▓░░░░░░░
Cash: 3.2% vs 5.0% [- 1.8% UNDER] ▓░░░░░░░░░
Diversification Score: 52/100 (Needs Improvement)
TOP CONCERNS:
1. Individual stock concentration: AAPL + GOOGL = 19.8%
of portfolio (recommend <5% per individual stock)
2. US equity overweight by 29.1% — heavy domestic bias
3. Bond allocation critically low for moderate risk profile
REBALANCING ACTIONS:
Sell: ~$12,400 of VTI or individual stocks
Buy: ~$8,720 of VXUS (international exposure)
Buy: ~$9,575 of BND (bond allocation)
Add: ~$1,230 to cash reserves
Expense Ratio Weighted Avg: 0.04% (Excellent)
Estimated Annual Fees: $26.80
Advanced Configuration
Risk Profile Templates
# Conservative (near retirement / low risk) conservative: us_stocks: 0.30 international_stocks: 0.10 bonds: 0.45 reits: 0.05 cash: 0.10 # Aggressive (young / high risk tolerance) aggressive: us_stocks: 0.55 international_stocks: 0.30 bonds: 0.05 growth_stocks: 0.05 cash: 0.05
Parameters Reference
| Parameter | Type | Default | Description |
|---|---|---|---|
| target_allocation | object | required | Target allocation percentages (must sum to 1.0) |
| risk_profile | string | moderate | conservative, moderate, aggressive |
| age | number | null | Your age for age-based allocation suggestions |
| retirement_age | number | 65 | Target retirement age for glide path analysis |
| rebalance_threshold | number | 0.05 | Minimum drift percentage before flagging (5%) |
| single_stock_max | number | 0.05 | Maximum weight for any individual stock |
| sector_max | number | 0.25 | Maximum weight for any single sector |
| expense_ratio_flag | number | 0.50 | Flag funds with expense ratio above this |
| tax_aware | bool | false | Consider tax implications in rebalance suggestions |
| include_overlap | bool | true | Analyze holdings overlap between funds |
| benchmark | string | SPY | Benchmark for comparison metrics |
| currency | string | USD | Portfolio currency |
Core Concepts
| Concept | Description |
|---|---|
| Asset Allocation | The split between stocks, bonds, cash, and alternatives — the primary driver of portfolio risk/return |
| Diversification Score | 0-100 rating based on asset class spread, geographic diversity, sector balance, and single-position concentration |
| Drift | How far your current allocation has moved from your target due to market performance |
| Fund Overlap | When multiple ETFs/funds hold the same underlying stocks (e.g., VTI and VOO overlap significantly) |
| Rebalance Threshold | The drift percentage that triggers a rebalancing recommendation (typically 5%) |
Analysis Pipeline:
Portfolio CSV ──> Holdings ──> Classification ──> Scoring
Parser Engine Matrix
| | |
v v v
┌─────────────────────────────────────────┐
│ Asset Class │ Geography │ Sector │
│ Breakdown │ Mapping │ Exposure │
└────────────────────┬────────────────────┘
|
┌──────────┼──────────┐
v v v
Allocation Overlap Concentration
Drift Analysis Risk Flags
Report Report Report
Workflow Examples
Scenario 1: Annual Review for Moderate Investor
Input: Vanguard 3-fund portfolio (VTI/VXUS/BND) + individual stocks, target 60/20/20 Process: Parse positions, classify by asset class, calculate drift, identify single-stock risk Output: 8% US equity drift, 2 stocks above 5% threshold, specific dollar amounts to rebalance
Scenario 2: Pre-Retirement Allocation Check
Input: Fidelity 401k holdings, age 58, target retirement 62, moderate-conservative profile Process: Map target-date equivalent allocation, compare current holdings, assess bond ladder readiness Output: Recommend shift from 70/30 stock/bond to 45/45/10 stock/bond/cash over next 2 years
Scenario 3: New Investor Portfolio Setup Validation
Input: Proposed portfolio of 5 ETFs, $50,000, age 28, aggressive profile Process: Check overlap between proposed ETFs, validate sector exposure, compare expense ratios Output: Found 65% overlap between VTI and VOO (remove one), suggest adding VXUS for international, expense ratio optimal
Best Practices
- Export complete holdings: Include cash, money market, and pending transactions for accurate total allocation calculations
- Set realistic targets first: Use age-based rules (110 minus age = stock %) as a starting point, then adjust for your risk tolerance
- Check fund overlap before buying: Two index funds tracking similar indexes create hidden concentration — always run overlap analysis
- Rebalance with new contributions: Instead of selling (triggering taxes), direct new money to underweight asset classes
- Review expense ratios annually: Even small differences compound — a 0.5% fee difference on $100K costs $50K+ over 30 years
Common Issues
Issue: CSV format not recognized from brokerage Cause: Each brokerage exports in slightly different formats with varying column headers Fix: Use the column mapping config to specify which columns contain symbol, shares, and value data. Alternatively, use the Google Sheets manual template for standardized input.
Issue: Diversification score seems too low despite many holdings Cause: Many holdings can still concentrate in one sector or geography — 10 US tech stocks is not diversified Fix: The score weights asset class diversity (40%), geographic spread (30%), and sector balance (30%). Review the detailed breakdown to identify where concentration exists.
Issue: Rebalance amounts don't account for taxes
Cause: By default the tool suggests optimal allocation without tax impact
Fix: Enable tax_aware: true to flag positions with large unrealized gains and suggest tax-efficient alternatives like rebalancing through new contributions or using tax-advantaged accounts.
Privacy & Data Handling
All portfolio analysis runs entirely on your local machine. No holdings data, account values, position sizes, or brokerage information is ever transmitted to external services. The tool does not connect to any brokerage API or require account credentials. Fund classification data is based on publicly available ETF/mutual fund prospectus information. Your portfolio composition is never stored between sessions — every analysis is stateless and ephemeral. This tool provides educational analysis only and does not constitute financial advice.
Reviews
No reviews yet. Be the first to review this template!
Similar Templates
Full-Stack Code Reviewer
Comprehensive code review skill that checks for security vulnerabilities, performance issues, accessibility, and best practices across frontend and backend code.
Test Suite Generator
Generates comprehensive test suites with unit tests, integration tests, and edge cases. Supports Jest, Vitest, Pytest, and Go testing.
Pro Architecture Workspace
Battle-tested skill for architectural, decision, making, framework. Includes structured workflows, validation checks, and reusable patterns for development.