Markdown Editor

Performance Attribution Report Template (Brinson)

Returns vs benchmark, Brinson-Fachler and BHB effects, Carino linking, currency and fixed income attribution, Sharpe, IR, tracking error, factors

Finanzen, Anlage & RechnungswesenVollständigBrinson-Fachler (1985) and Brinson-Hood-Beebower (1986) attribution; Carino linkingperformanceattributionreportmath

Anleitung: Use it when the performance team explains a portfolio's monthly or quarterly result against its benchmark for the investment committee or a client. Fill the methodology (model, segmentation, linking) and the reconciliation to official returns first. The main pitfall is unlinked monthly effects that do not add up, or a segmentation the team does not manage to.

Vorschau

Performance Attribution Report: [Portfolio or composite name], [period]

Periodic report that explains why a portfolio's return differed from its benchmark: returns and excess return, Brinson-Fachler and Brinson-Hood-Beebower equity attribution (allocation, selection, interaction), multi-period linking, currency and fixed income attribution, risk-adjusted measures (Sharpe ratio, information ratio, tracking error), contributors and detractors, factor exposure, commentary and methodology. Based on published academic methods (Brinson and Fachler 1985; Brinson, Hood and Beebower 1986; Carino linking), which are cited by name and expressed in original formulas. The worked example is a fictional strategy of the fictional adviser Kestrel Bay Capital. Replace every [bracketed] value and every row marked Example. This is a document format, not investment, legal or accounting advice.

Document control

FieldValue
Document ID[ATR-KBC-GQE-2026Q3]
Version[1.0]
Status[Draft / Reviewed / Approved / Superseded]
Owner[@performance-analyst]
Approvers/reviewers[@head-of-performance], [@portfolio-manager], [@chief-investment-officer]
Last updatedYYYY-MM-DD
Classification[Internal / Client confidential]
Portfolio or composite[Name and code]
Benchmark[Index name, variant, currency]
Period[YYYY-MM-DD] to [YYYY-MM-DD]
Base currency[USD / EUR / other]
Attribution model[Brinson-Fachler, arithmetic, monthly, Carino-linked]
Data sources[Holdings, prices, benchmark constituents, classifications, risk model]

Approvals

RoleNameDecisionDate
Performance analyst (preparer)[@name][Submitted]YYYY-MM-DD
Head of performance (reviewer)[@name][Approve / Return]YYYY-MM-DD
Portfolio manager (commentary)[@name][Approve]YYYY-MM-DD
Compliance (if client-facing)[@name][Approve / Not required]YYYY-MM-DD

Revision history

VersionDateAuthorChange summary
0.1YYYY-MM-DD[@name]First draft for [period]
1.0YYYY-MM-DD[@name]Example: Approved after PM commentary and reconciliation
1.1YYYY-MM-DD[@name]Example: Rerun after a corrected benchmark sector classification for one constituent

Contents

1. Summary

ItemValue
Portfolio return (gross, base currency)[x.xx%]
Benchmark return[x.xx%]
Excess return (arithmetic)[x.xx percentage points]
Excess return (geometric)[x.xx%]
Largest positive effect[Effect, segment, basis points]
Largest negative effect[Effect, segment, basis points]
Key message[One sentence]

Example: in the third quarter of 2026 the Global Quality Equity representative portfolio returned 3.26% gross in USD against 2.65% for the benchmark, an arithmetic excess of 60 basis points (geometric 0.59%). Stock selection added 31.5 basis points, led by industrials (22.0 basis points). Sector allocation added 15.6 basis points, mainly from the overweight in information technology and the underweight in consumer staples. Interaction added 13.3 basis points; the three effects sum to the 60.4 basis point excess (section 3.4). The only negative segment was financials (minus 6.8 basis points), where the portfolio's banks lagged. The team keeps the sector positioning and has started a review of the two weakest bank holdings (see section 9).

2. Returns versus benchmark

2.1 Period returns

MonthPortfolio (%)Benchmark (%)Excess, arithmetic (pp)
2026-07 (Example)2.4221.9850.437
2026-08 (Example)-0.712-0.7740.062
2026-09 (Example)1.5381.4400.098
Q3 2026 linked3.2572.6530.604

Quarterly returns link the monthly returns geometrically: 1.02422 x 0.99288 x 1.01538 = 1.03257 for the portfolio and 1.01985 x 0.99226 x 1.01440 = 1.02653 for the benchmark.

R=∏t=1T(1+Rt)−1,arithmetic excess=RP−RB,geometric excess=1+RP1+RB−1R = \prod_{t=1}^{T} (1 + R_t) - 1, \qquad \text{arithmetic excess} = R_P - R_B, \qquad \text{geometric excess} = \frac{1 + R_P}{1 + R_B} - 1

Example: geometric excess = 1.03257 / 1.02653 minus 1 = 0.588%.

2.2 Reconciliation to official performance

CheckAttribution systemOfficial performanceResidual (bp)Tolerance (bp)Status
REC-001 (Example): Q3 portfolio return3.257%3.262%-0.55Pass
REC-002 (Example): Q3 benchmark return2.653%2.653%0.01Pass
[REC-NNN][Value][Value][bp][bp][Status]

A residual appears when a holdings-based calculation misses intraday trades, fees or cash flows. Report it rather than spreading it across the effects, and investigate when it exceeds the tolerance.

3. Equity attribution: allocation, selection and interaction

3.1 Model

For each segment ii, with portfolio weight wiPw^P_i, benchmark weight wiBw^B_i, portfolio segment return riPr^P_i, benchmark segment return riBr^B_i and total benchmark return RBR_B:

AiBF=(wiP−wiB)(riB−RB),AiBHB=(wiP−wiB)riBA_i^{BF} = \left( w^P_i - w^B_i \right) \left( r^B_i - R_B \right), \qquad A_i^{BHB} = \left( w^P_i - w^B_i \right) r^B_i
Si=wiB(riP−riB),Ii=(wiP−wiB)(riP−riB)S_i = w^B_i \left( r^P_i - r^B_i \right), \qquad I_i = \left( w^P_i - w^B_i \right) \left( r^P_i - r^B_i \right)
∑i(Ai+Si+Ii)=RP−RB\sum_i \left( A_i + S_i + I_i \right) = R_P - R_B

The Brinson-Fachler allocation effect (ABFA^{BF}) rewards overweighting segments that beat the whole benchmark, which matches how most managers think. The Brinson-Hood-Beebower version (ABHBA^{BHB}) rewards overweighting any segment with a positive return. Because active weights sum to zero, both versions give the same total allocation effect; they differ by segment. This report uses Brinson-Fachler.

3.2 Single-period detail, July 2026

Weights are the average of daily weights for the month. In this Example they are held constant across the quarter to keep the arithmetic visible. Effects are in basis points (bp).

SectorwPw^P (%)wBw^B (%)rPr^P (%)rBr^B (%)Allocation BF (bp)Allocation BHB (bp)Selection (bp)Interaction (bp)
Information technology (Example)30254.23.89.119.010.02.0
Health care (Example)22151.81.2-5.58.49.04.2
Industrials (Example)20182.52.10.24.27.20.8
Financials (Example)18271.21.63.5-14.4-10.83.6
Consumer staples (Example)10150.50.38.4-1.53.0-1.0
Total1001002.4221.98515.715.718.49.6

Check: 15.7 + 18.4 + 9.6 = 43.7 bp, which equals the July excess of 0.437 percentage points. Worked line for health care: allocation BF = (0.22 minus 0.15) x (1.2% minus 1.985%) = 0.07 x (-0.785%) = -5.5 bp; the segment beat zero but lagged the whole benchmark, so the overweight cost return under Brinson-Fachler while BHB shows a gain of 8.4 bp.

3.3 Monthly effects

MonthAllocation (bp)Selection (bp)Interaction (bp)Total (bp)Excess (bp)
2026-07 (Example)15.718.49.643.743.7
2026-08 (Example)-1.43.64.06.26.2
2026-09 (Example)1.29.1-0.59.89.8
Simple sum15.531.113.159.759.7

The simple sum (59.7 bp) does not equal the quarterly arithmetic excess (60.4 bp), because returns compound across months. Section 3.4 links the effects so that they add up exactly.

3.4 Multi-period linking (Carino)

kt=ln⁡(1+RP,t)−ln⁡(1+RB,t)RP,t−RB,t,k=ln⁡(1+RP)−ln⁡(1+RB)RP−RBk_t = \frac{\ln(1 + R_{P,t}) - \ln(1 + R_{B,t})}{R_{P,t} - R_{B,t}}, \qquad k = \frac{\ln(1 + R_P) - \ln(1 + R_B)}{R_P - R_B}
Elinked=∑tktk EtE^{\text{linked}} = \sum_t \frac{k_t}{k} \, E_t

Example: kk for the quarter = 0.97130; monthly ktk_t = 0.97844 (July), 1.00749 (August), 0.98533 (September); scaling factors kt/kk_t / k = 1.00735, 1.03725, 1.01444.

SectorAllocation (bp)Selection (bp)Interaction (bp)Total (bp)Q3 rPr^P (%)Q3 rBr^B (%)
Information technology (Example)10.212.42.525.15.174.68
Health care (Example)-6.59.24.37.02.311.71
Industrials (Example)-0.122.02.424.43.822.60
Financials (Example)2.4-13.84.6-6.81.882.39
Consumer staples (Example)9.71.6-0.510.70.790.70
Total Q3 202615.631.513.360.43.262.65

The linked total (60.4 bp) equals the arithmetic excess for the quarter (3.257% minus 2.653%). Segment figures are rounded to 0.1 bp, so rows and columns can differ from their totals by 0.1 bp (for example, industrials shows 24.4 bp against a rounded row sum of 24.3 bp). The August and September segment detail behind the linked figures is in the appendix workbook; the linked totals reproduce from the monthly totals in section 3.3 and the scaling factors above (for allocation, 15.7 x 1.00735 minus 1.4 x 1.03725 plus 1.2 x 1.01444 = 15.6 bp). The Q3 segment returns are linked monthly returns; weighting them by the constant weights does not reproduce the quarterly totals exactly (3.24% and 2.64% against 3.257% and 2.653%), because each month compounds on a different base. Other linking methods (Menchero, GRAP, or a geometric attribution model that explains the geometric excess) give slightly different segment numbers; name the method and keep it stable.

4. Currency attribution

Use this section when currency is managed separately (for example, by an overlay). Otherwise state "Currency is not managed separately; currency returns are included in the selection and allocation effects", which is the case for the main example in section 3.

A simplified currency management effect compares portfolio and benchmark currency exposures, where ece_c is the return of currency cc against the base currency and EBE_B is the benchmark's total currency return:

C=∑c(wcP−wcB)(ec−EB),EB=∑cwcB ecC = \sum_c \left( w^P_c - w^B_c \right) \left( e_c - E_B \right), \qquad E_B = \sum_c w^B_c \, e_c
CurrencyPortfolio exposure (%)Benchmark exposure (%)Return vs USD (%)Effect (bp)
USD (Example)60650.0-0.3
EUR (Example)25201.26.3
JPY (Example)1515-2.00.0
Total100100EBE_B = -0.066.0

Example: EBE_B = 0.65 x 0 + 0.20 x 1.2% + 0.15 x (-2.0%) = -0.06%; EUR effect = 0.05 x (1.2% + 0.06%) = 6.3 bp. A full currency model (for example Karnosky-Singer) also separates the forward premium, the hedging cost and the local-market return; use it when forwards are material.

5. Fixed income attribution

A duration-based decomposition for each portfolio and its benchmark:

r≈y⋅Δt⏟income  −Dmod Δygov⏟curve  −Dspread Δs⏟spread  +  εr \approx \underbrace{y \cdot \Delta t}_{\text{income}} \; \underbrace{- D_{\text{mod}} \, \Delta y_{\text{gov}}}_{\text{curve}} \; \underbrace{- D_{\text{spread}} \, \Delta s}_{\text{spread}} \; + \; \varepsilon

where yy is the yield, Δt\Delta t the period in years, DmodD_{\text{mod}} the modified duration, Δygov\Delta y_{\text{gov}} the change in government yields, DspreadD_{\text{spread}} the spread duration, Δs\Delta s the change in credit spread and ε\varepsilon the residual (convexity, roll-down, security selection and pricing).

Example (Kestrel Bay core bond sleeve, one quarter, parallel fall in government yields of 25 bp, spreads tighter by 10 bp):

ComponentPortfolioBenchmarkDifference (pp)
Yield (% p.a.)4.604.30
Modified duration (years)6.26.0
Spread duration (years)3.02.4
Income (yield x 0.25) (%)1.1501.0750.075
Curve (-D x -0.25%) (%)1.5501.5000.050
Spread (-D spread x -0.10%) (%)0.3000.2400.060
Residual: selection and other (%)0.050-0.0150.065
Total return (%)3.0502.8000.250

The longer duration added 5 bp as yields fell and the larger credit exposure added 6 bp as spreads tightened; both are deliberate risk positions to be judged against the IPS risk budget, not as skill on their own. Where key-rate durations are available, split the curve effect into shift, twist and curvature.

6. Risk-adjusted measures

Sharpe=RP−RfσP,TE=σ(RP,t−RB,t)12,IR=RP−RBTE\text{Sharpe} = \frac{R_P - R_f}{\sigma_P}, \qquad TE = \sigma\left( R_{P,t} - R_{B,t} \right) \sqrt{12}, \qquad IR = \frac{R_P - R_B}{TE}
αJ=RP−[Rf+βP(RB−Rf)],Treynor=RP−RfβP\alpha_J = R_P - \left[ R_f + \beta_P \left( R_B - R_f \right) \right], \qquad \text{Treynor} = \frac{R_P - R_f}{\beta_P}

Example: trailing 36 months to 2026-09-30, annualised from monthly data, gross of fees, USD. The risk-free rate is the average 3-month government bill yield over the window.

MeasurePortfolioBenchmarkCalculation
Annualised return (%)9.808.60Input
Risk-free rate (%)3.903.90Input
Annualised volatility (%)14.2014.90Input
Beta0.931.00Input
Tracking error (%)2.40Input
Sharpe ratio0.420.32(9.80 - 3.90) / 14.20; (8.60 - 3.90) / 14.90
Information ratio0.50(9.80 - 8.60) / 2.40
Jensen's alpha (%)1.539.80 - [3.90 + 0.93 x (8.60 - 3.90)]
Treynor ratio (%)6.344.705.90 / 0.93; 4.70 / 1.00

Report the window, the frequency, the annualisation factor and whether returns are gross or net. Ratios from fewer than 36 monthly observations are unstable; label them.

7. Contributors and detractors

Absolute contribution is wjP rjw^P_j \, r_j. Active contribution is (wjP−wjB)(rj−RB)\left( w^P_j - w^B_j \right) \left( r_j - R_B \right), using the quarterly benchmark return of 2.65%. All company names are fictional.

HoldingwPw^P (%)wBw^B (%)Q3 return (%)Absolute contribution (pp)Active contribution (pp)
Northgate Instruments (Example)3.20.814.50.460.28
Larkspur Biologics (Example)2.60.49.80.250.16
Tidewater Rail (Example)2.10.58.20.170.09
Brightmoor Bank (Example)2.41.1-6.3-0.15-0.12
Halden Foods (Example)1.90.6-4.1-0.08-0.09
Orrin Semiconductors, not held (Example)0.01.518.00.00-0.23

Example: Northgate Instruments active contribution = (3.2% minus 0.8%) x (14.5% minus 2.65%) = 0.024 x 11.85% = 0.28 percentage points. Not owning Orrin Semiconductors cost 0.015 x 15.35% = 0.23 percentage points, the largest single detractor.

8. Factor exposure

FactorActive exposure (standardised)Factor return in period (%)Contribution (bp)Intended?
Quality / profitability (Example)0.450.4018.0Yes, core to the strategy
Value (Example)-0.200.30-6.0Accepted by-product
Momentum (Example)0.100.505.0No
Size (Example)-0.15-0.203.0No
Beta / market sensitivity (Example)-0.070.60-4.2Yes, lower-risk profile
Factor total (Example)15.8
Specific (stock-specific) (Example)44.6
Excess explained60.4

Example: contribution = active exposure x factor return (for quality, 0.45 x 0.40% = 18.0 bp). The factor total is 18.0 minus 6.0 plus 5.0 plus 3.0 minus 4.2 = 15.8 bp, and the specific part is 60.4 minus 15.8 = 44.6 bp. Name the risk model, its version and its estimation universe in section 10; risk model factor definitions are usually licensed and should be described, not copied.

9. Commentary and actions

9.1 Portfolio manager commentary

[Three to six short paragraphs: market background in one paragraph, then the main intended bets and how they worked, then the surprises, then the outlook for positioning. Avoid forecasts presented as promises.]

Example: Industrials selection was the largest positive effect, driven by Northgate Instruments after it raised guidance on stronger demand for test equipment. The underweight in financials helped allocation, but the bank holdings we owned lagged their peers when net interest margin expectations fell, so selection in the sector was negative. Not owning the semiconductor name that led the benchmark was the largest single cost; the stock does not meet our return-on-capital threshold and we do not plan to buy it for benchmark reasons.

9.2 Actions and follow-up

Action IDActionOwnerDueStatus
ATR-ACT-001 (Example)Review the investment case for the two weakest bank holdings and report to the investment committee[@portfolio-manager]YYYY-MM-DDOpen
ATR-ACT-002 (Example)Confirm that the momentum exposure is unintended and set a monitoring limit[@risk-manager]YYYY-MM-DDOpen
ATR-ACT-003 (Example)Investigate the 0.5 bp reconciliation residual to the official return[@performance-analyst]YYYY-MM-DDClosed
[ATR-ACT-NNN][Action][@owner]YYYY-MM-DD[Status]

10. Methodology and data

ItemEntry
Attribution modelExample: Brinson-Fachler, arithmetic, three effects shown (allocation, selection, interaction)
SegmentationExample: Sector, from the benchmark provider's classification at period start
Frequency and linkingExample: Monthly, Carino-linked to quarter and year to date
Return basisExample: Gross of management fees, after transaction costs, in USD
Holdings or transactionsExample: Daily holdings-based with transaction adjustment for intraday trades
Cash treatmentExample: Cash is its own segment against a zero benchmark weight
CurrencyExample: Not separated; included in segment returns (section 4 shows the overlay sleeve only)
Fixed income modelExample: Duration and spread duration decomposition (section 5), residual reported
Risk measuresExample: 36 monthly observations, population standard deviation, annualised by the square root of 12
Risk model[Vendor or in-house model, version, estimation universe]
Data sources[Holdings: accounting system; prices: pricing policy; benchmark: provider file dated YYYY-MM-DD]
Known limitations[Residual from intraday trading; classification changes; corporate actions]

Present attribution numbers to clients in a way that is consistent with the official performance figures, show the period and basis, and do not imply that past attribution predicts future results. For a US registered adviser, client-facing attribution of selected holdings may be "extracted performance" under 17 CFR 275.206(4)-1; check the rule and the SEC staff Marketing Compliance FAQ before publication.

11. Glossary and references

11.1 Glossary

TermMeaning in this document
Allocation effectReturn from holding a different weight in a segment than the benchmark
Selection effectReturn from holding different securities within a segment, measured at benchmark weight
Interaction effectThe joint effect of a different weight and different returns in the same segment
Brinson-Fachler (BF)Allocation measured against the segment return minus the total benchmark return
Brinson-Hood-Beebower (BHB)Allocation measured against the segment return itself
LinkingMethod that makes single-period effects add up to a multi-period excess return
Tracking errorAnnualised standard deviation of the difference between portfolio and benchmark returns
Information ratioExcess return per unit of tracking error
Sharpe ratioReturn above the risk-free rate per unit of total volatility
Spread durationSensitivity of price to a change in credit spread
Basis point (bp)One hundredth of a percentage point

11.2 References

ReferenceVersion or dateUse
Brinson, G. and Fachler, N., "Measuring Non-US Equity Portfolio Performance", Journal of Portfolio Management1985Allocation and selection model (cited by name)
Brinson, G., Hood, L. R. and Beebower, G., "Determinants of Portfolio Performance", Financial Analysts Journal1986Three-effect model (cited by name)
Carino, D., "Combining Attribution Effects Over Time", Journal of Performance Measurement1999Logarithmic linking
Karnosky, D. and Singer, B., "Global Asset Management and Performance Attribution"1994Currency attribution (cited by name)
Sharpe, W. F., "Mutual Fund Performance", Journal of Business1966Sharpe ratio
SEC Investment Adviser Marketing Rule, 17 CFR 275.206(4)-1As in force 2026-10Client-facing presentation (US)
SEC Division of Investment Management, Marketing Compliance FAQUpdated 2025-03-19 and 2026-01-15Extracted performance and characteristics

Standard and licence note

Based on published academic attribution and risk measures (Brinson and Fachler 1985; Brinson, Hood and Beebower 1986; Carino linking; Sharpe ratio), which are methods and are expressed here in original formulas, and on the SEC Marketing Rule (a US federal work) cited by section. No textbook, curriculum or vendor material is reproduced. The worked example (Kestrel Bay Capital) and all companies and figures are fictional. The text is original. Check the current official versions of the cited rules before use. This is a document format, not investment, legal or accounting advice. Template licence: MIT.

Ähnliche Vorlagen