What is Fixed Income Portfolio Analysis?
A fixed income portfolio is a collection of bonds managed together to achieve investment objectives — income generation, capital preservation, liability matching, or total return. Unlike analyzing a single bond, portfolio analysis requires computing aggregate metrics (weighted average yield, duration, credit quality), understanding composition (sector, rating, maturity, and currency breakdowns), projecting cash flows (when income and principal payments arrive), and stress testing (how the portfolio responds to interest rate changes). The dominant risk factor in fixed income portfolios is duration — the portfolio’s sensitivity to interest rate changes. A portfolio with a duration of 5 years will lose approximately 5% of its value if rates rise by 1%. This makes duration management the most important decision in fixed income portfolio construction. Credit quality is the second major risk factor. Higher-yielding bonds (corporate bonds, high-yield bonds) offer more income but carry greater default risk. The portfolio’s average credit rating, sector concentration, and individual issuer exposures must be monitored.Why It Matters
Fixed income portfolios are at the core of institutional investing. Pension funds, insurance companies, endowments, and sovereign wealth funds hold trillions of dollars in bonds. Each of these institutions needs to understand the risk profile of their portfolio, project future cash flows (especially for liability matching), and stress-test against adverse scenarios. For portfolio managers, the analysis provides the foundation for active management decisions: which sectors to overweight or underweight, how to position duration relative to a benchmark, and where to take or reduce credit risk.Key Concepts
| Term | Definition |
|---|---|
| Duration | The portfolio’s sensitivity to interest rate changes, expressed in years. Modified duration estimates the percentage price change for a 1% rate move |
| DV01 | Dollar Value of 01 — the dollar P&L from a 1 basis point change in interest rates |
| Convexity | The curvature of the price/yield relationship. Positive convexity means the portfolio gains more from rate declines than it loses from rate increases |
| Yield to Worst (YTW) | The lowest potential yield across all call dates and maturity — the most conservative yield measure for callable bonds |
| Key Rate Duration | Duration decomposed by maturity bucket, showing sensitivity to specific parts of the yield curve |
| Cashflow Waterfall | A timeline of all future coupon and principal payments, showing when cash arrives and where concentration risks exist |
| Scenario Analysis | Estimating portfolio P&L under hypothetical interest rate movements (e.g., parallel shift of +100bp) |
| Spread Duration | The sensitivity of the portfolio’s price to changes in credit spreads — distinct from interest rate duration |
| Tracking Error | The standard deviation of the portfolio’s return minus the benchmark’s return — measures active risk |
How It Works
Price All Bonds
Call
bond_price for all holdings. Extract yield, duration, DV01, convexity, spread per bond. Compute portfolio-level weighted averages.Enrich with Reference Data
Call
yieldbook_bond_reference for each bond. Build sector, rating, maturity, and currency breakdowns.Project Cashflows
Call
yieldbook_cashflow for the portfolio. Aggregate into quarterly waterfall. Flag periods with concentrated maturities.Run Scenarios
Call
yieldbook_scenario with standard shocks (-200bp to +200bp). Identify top risk contributors.Worked Example: Institutional Bond Portfolio Review
Portfolio Overview
A $500M investment-grade corporate bond portfolio managed for a pension fund. Benchmark: Bloomberg US Corporate Investment Grade Index.Portfolio Summary Metrics
| Metric | Portfolio | Benchmark | Active |
|---|---|---|---|
| Market Value | $500,000,000 | — | — |
| # Holdings | 85 | ~8,000 | — |
| Weighted Avg Yield (YTW) | 5.12% | 4.98% | +14bp |
| Modified Duration | 6.25 years | 6.80 years | -0.55 years |
| DV01 ($) | $312,500 | — | — |
| Avg Rating | A- | A- | Match |
| Avg Spread (OAS) | 92bp | 85bp | +7bp |
| Convexity | 0.42 | 0.38 | +0.04 |
Composition Breakdown
By Sector:| Sector | Portfolio % | Benchmark % | Active Weight |
|---|---|---|---|
| Financials | 32% | 28% | +4% overweight |
| Industrials | 28% | 32% | -4% underweight |
| Utilities | 15% | 12% | +3% overweight |
| Technology | 12% | 15% | -3% underweight |
| Healthcare | 8% | 8% | Match |
| Other | 5% | 5% | Match |
| Rating | Portfolio % | Benchmark % | Active Weight |
|---|---|---|---|
| AAA/AA | 8% | 10% | -2% |
| A | 35% | 38% | -3% |
| BBB | 52% | 48% | +4% |
| BB (out of benchmark) | 5% | 0% | +5% |
| Maturity | Portfolio % | Benchmark % | Active Weight |
|---|---|---|---|
| 0-3 years | 18% | 12% | +6% overweight |
| 3-5 years | 22% | 20% | +2% |
| 5-7 years | 25% | 25% | Match |
| 7-10 years | 20% | 23% | -3% underweight |
| 10+ years | 15% | 20% | -5% underweight |
Cashflow Waterfall
| Quarter | Coupon Income | Principal Maturities | Total Cash |
|---|---|---|---|
| Q1 2026 | $6,250,000 | $15,000,000 | $21,250,000 |
| Q2 2026 | $6,250,000 | $8,000,000 | $14,250,000 |
| Q3 2026 | $6,100,000 | $22,000,000 | $28,100,000 |
| Q4 2026 | $5,900,000 | $12,000,000 | $17,900,000 |
| Q1 2027 | $5,750,000 | $18,000,000 | $23,750,000 |
| Q2 2027 | $5,600,000 | $5,000,000 | $10,600,000 |
| Q3 2027 | $5,500,000 | $35,000,000 | $40,500,000 |
| Q4 2027 | $5,200,000 | $10,000,000 | $15,200,000 |
Scenario Analysis
| Scenario | Portfolio P&L ($M) | Portfolio P&L (%) | Benchmark P&L (%) | Active P&L |
|---|---|---|---|---|
| -200bp parallel | +$58.5M | +11.7% | +12.8% | -1.1% (shorter duration hurts in rally) |
| -100bp parallel | +$29.8M | +6.0% | +6.5% | -0.5% |
| -50bp parallel | +$15.1M | +3.0% | +3.3% | -0.3% |
| Base (no change) | $0 | 0.0% | 0.0% | 0.0% |
| +50bp parallel | -$14.5M | -2.9% | -3.2% | +0.3% (shorter duration helps) |
| +100bp parallel | -$28.4M | -5.7% | -6.3% | +0.6% |
| +200bp parallel | -$54.8M | -11.0% | -12.4% | +1.4% |
| Bear flattener (+100bp short, +25bp long) | -$15.2M | -3.0% | -3.8% | +0.8% |
| Bull steepener (-100bp short, -25bp long) | +$16.8M | +3.4% | +4.2% | -0.8% |
Daily Workflow for FI Portfolio Analysis
Daily: Price all holdings. Compute portfolio duration, yield, and DV01. Compare to benchmark. Flag any significant changes from prior day. Weekly: Run the full composition breakdown (sector, rating, maturity). Identify any drift from target exposures. Run scenario analysis to assess risk under current positioning. Monthly: Generate the full portfolio review report. Analyze cashflow waterfall. Review individual issuer exposures for concentration risk. Compare performance attribution vs. benchmark. Quarterly: Present to the investment committee or client. Include performance attribution, risk analysis, and forward positioning recommendations.Practice Exercise
You manage a $200M corporate bond portfolio with the following characteristics:- 40 holdings across 30 issuers
- Weighted average yield: 5.45%
- Modified duration: 5.8 years
- Average rating: BBB+
- Benchmark: Bloomberg US IG Corporate, duration 6.5 years
- Calculate the portfolio’s DV01 in dollar terms.
- If rates rise 75bp, estimate the portfolio’s price change in dollars and percentage.
- The portfolio has 18% in the financial sector vs. 28% benchmark. Is this an overweight or underweight? What view does this express?
- If $25M of bonds mature next quarter, and you reinvest at current market yields (5.0%), how does this affect the portfolio’s weighted average yield?
- Design a scenario analysis with 5 rate scenarios (including at least one non-parallel shift) and estimate the portfolio P&L for each.
Common Mistakes
- Not computing portfolio metrics as market-value weighted averages. A 1M position in a 2-year bond. Always weight by market value.
- Ignoring cashflow concentration risk. A portfolio with 15% maturing in a single quarter has significant reinvestment risk. Spread maturities across the curve.
- Using modified duration for callable bonds. Callable bonds have negative convexity near the call price. Use effective duration and OAS for portfolios with callable bonds.
- Running only parallel shift scenarios. Real yield curve moves are rarely parallel. Include steepener, flattener, and butterfly scenarios to understand the portfolio’s exposure to curve shape changes.
- Not benchmarking. A portfolio review without benchmark comparison is incomplete. Active positioning (vs. benchmark) is what drives investment decisions.
- Ignoring issuer concentration. A portfolio with 8% in a single issuer has significant idiosyncratic risk. Most institutional guidelines limit single-issuer exposure to 2-5%.
- Confusing yield with return. Yield is the income component of return. Total return includes price changes from rate movements and spread changes. A high-yield portfolio can have negative total return if rates rise enough.
- Not monitoring out-of-benchmark exposures. BB-rated bonds in an IG benchmark portfolio are an active risk decision that should be explicitly sized and monitored.
How to Add to Your Local Context
Best Practices
- Always compute portfolio metrics as market-value weighted averages
- Frame analysis relative to a benchmark when available — active duration, active credit exposure
- Cashflow concentration is an underappreciated risk — flag any quarter with >15% of portfolio maturing
- For portfolios with callable bonds, use OAS and effective duration rather than modified duration
- Scenario analysis should include both parallel shifts and non-parallel scenarios (bull steepener, bear flattener)
- Monitor issuer concentration — no single issuer should exceed 5% of the portfolio in most institutional guidelines
- Track key rate duration to understand exposure to specific parts of the yield curve
- Include a forward-looking view: what changes would you make to the portfolio given your macro and rates outlook?