10

Cariño smoothing: how and why

Attribution is usually run daily or monthly and then reported for a quarter or a year. Here's the catch: the effects are arithmetic, but returns compound. Add up four quarters of effects and they won't match the year's active return.

Why the numbers don't add up

Take two months where the portfolio returns 10% and the benchmark 5% each month. The active return is 5% a month, so you'd expect 10% in total. But the linked portfolio return is 1.10 × 1.10 − 1 = 21.00% and the linked benchmark is 1.05 × 1.05 − 1 = 10.25%. The real active return is 10.75%.

The missing 0.75% comes from compounding. Over two months the portfolio picks up a cross-term of 10% × 10% = 1.00% (month 2's return earned on month 1's gain), while the benchmark picks up only 5% × 5% = 0.25%. The difference, 0.75%, doesn't belong to either month, so no single month's attribution captured it.

You could show the 0.75% as a "residual" line, but clients rightly ask what it means. You could scale every effect up by the same ratio (10.75 ÷ 10), but that treats every period alike and has no real justification. Cariño's idea (1999) is to move to logarithms, where compounding turns into addition.

How it works, step by step

  1. Logs add up. Over several periods, ln(1 + R) = Σ ln(1 + Rt), and the same for the benchmark. So the log active return, ln(1 + R) − ln(1 + B), is exactly the sum of each period's log active return. No residual in log space.
  2. Build a conversion rate for each period. kt is the period's log active return divided by its simple active return. It converts simple returns into log returns, and it's close to 1 ÷ (1 + the period's average return).
  3. Build the same rate for the whole period. k uses the linked returns R and B. Because linked returns are larger, k is usually smaller than each kt when returns are positive.
  4. Put it together. Step 1 says k × (R − B) = Σ kt × (Rt − Bt). Divide both sides by k: R − B = Σ (kt ÷ k) × (Rt − Bt).
  5. Scale every effect. Each period's active return is the sum of its allocation, selection and interaction effects. Multiply every effect by kt ÷ k and they add up exactly to the linked active return.
k = ln(1 + R) − ln(1 + B)R − Bwhole period, using linked R and B
kt = ln(1 + Rt) − ln(1 + Bt)Rt − Bteach sub-period t
Smoothed effectt = effectt × ktk

In the two-month example, each month's kt = (ln 1.10 − ln 1.05) ÷ 0.05 = 0.9304 and k = (ln 1.21 − ln 1.1025) ÷ 0.1075 = 0.8655. Each month's 5% is scaled by 0.9304 ÷ 0.8655 = 1.075, giving 5.375% per month and exactly 10.75% in total.

What the scaling does

When returns are positive, kt ÷ k is above 1, so each period's effects are scaled up to include their share of compounding. Periods where returns were lower have a slightly larger kt and get a slightly larger scale-up. When returns are negative overall, the factor can fall below 1. The factor is always positive, so smoothing never flips the sign of an effect: a positive allocation effect stays positive.

In plain termsFour quarters of pocket money don't add up neatly when the jar earns interest in between. Cariño shares out that extra interest across the quarters in a consistent way, so the quarterly pieces add up to the annual total.

Four quarters, one year

Enter each quarter's returns and allocation effect (in %). Selection is whatever's left of the active return.

QuarterPortfolio
return
Benchmark
return
Allocation
effect
Selection
(computed)
Linked active return for the year
Quarterly effects added up

Unexplained residual:

QuarterActiveAllocationSelectionkt ÷ k

The calculation, step by step

    For practitionersCariño is one of several linking algorithms. Menchero (2000) uses one optimized scaling factor plus a small per-period correction, keeping the scaling closer to 1. GRAP and Frongello link recursively, compounding earlier effects by later returns; they're exact but order-dependent, and some find them more intuitive because they allocate compounding to when it happened. Geometric attribution avoids linking altogether by working in growth ratios. Cariño coefficients depend only on each period's own returns plus the totals, so reordering periods doesn't change the result. Two edge cases: when Rt = Bt the coefficient is the limit 1 ÷ (1 + Rt), and when the overall R = B the same limit applies to k. Run attribution daily and link with Cariño to reduce the gap between buy-and-hold effects and the official TWR.

    All numbers are illustrative. The models are simplified for teaching: annual coupons, Black-Scholes options, simplified fee mechanics and no intra-period trading. Real systems add transaction-based returns, daily valuation, tax and corporate action processing, and reconciliation to the official TWR.