Portfolio Decomposition Calculator

Decomposes the P90−P10 total wealth-return gap into asset-level contributions, and each asset's contribution into composition, within, and interaction components. Companion to Appendix F of Housing Capital Gains across the Income Distribution by Claes Bäckman, Walter D'Lima, and Natalia Khorunzhina.

Ri = ∑a si,a · ri,a

Asset contribution = sP90,a·rP90,asP10,a·rP10,a
   = (sP90sP10rP10 [composition] + sP10·(rP90rP10) [within] + (sP90sP10)·(rP90rP10) [interaction]

Data sources

Each preset combines a source for portfolio shares (P10, P90 of the income distribution) with a source for asset returns by income rank.

Inputs are editable: click a preset to load it, then adjust any cell to explore alternative scenarios.

Presets

*Passive = rfin,i = αi·rstock + (1−αirsafe, with country-specific real stock and bond means over 2014–2022. The Danish risky shares (αP10=0.07, αP90=0.27) are constructed from Danish administrative registers (2014–2019 average). Default values are illustrative; replace with Stata-computed means after re-running 15_PortfolioDecomposition.do.

Portfolio shares

AssetP10P90
Housing
Financial
Pension
Sum 1.00 1.00

Shares should sum to 1 within each decile (turns red otherwise).

Returns (% annual)

AssetP10P90
Housing
Financial
Pension

Housing default from r=0.036+0.0017(i−5.5) at i=1, 10. Pension flat at 4.47%.

Asset contributions to the P90−P10 gap

Total contribution of each asset class to the income gap in wealth returns. Bars in absolute percentage points; share of gap shown in parentheses.

Decomposition (P90−P10 gap, in percentage points)

AssetCompositionWithinInteractionTotalShare of gap
Housing
Financial
Pension
Total100%

Three-way decomposition by asset

Composition Within Interaction ◆ Net total