The Analyst's Path

Phase 12Finance Plus, AI and the quant-code trackFinance trackAA1.0416,833 words1 h 34 min of readingabout 16 hours of study5 concept pagesfree

Capital Market Expectations: Building the Inputs Everything Else Consumes

An 80 basis point cut to one number on one line of a spreadsheet turned a 44.71% long into a 27.32% short. Every other input was left exactly where it stood.

Advertisement

Branch AA (Asset Allocation & Performance) · Node AA1.04 · ~16 focused hours · Mastery gate ≥ 85%

An 80 basis point cut to one number on one line of a spreadsheet turned a 44.71% long into a 27.32% short. Every other input was left exactly where it stood. The volatilities held and so did the correlations, the solver was the same solver, and the analyst who made the revision would have defended it in any committee room: a bond return assumption came down from 4.8% to 4.0%, which is narrower than any honest confidence interval anybody could put around it.

That arithmetic is the reason for the sixteen hours ahead. A mean-variance optimiser leans hardest into whatever its return assumptions say is marginally best, so an error of a few tenths of a point in a mean becomes a swing of tens of points in a weight. Chopra and Ziemba measured the ratio in 1993 and found errors in expected returns moving optimal weights roughly an order of magnitude more than equivalently sized errors in volatilities or correlations. Michaud had already named the machine four years earlier: an estimation-error maximizer.

Advertisement

Most desks respond by spending their effort on the optimiser. Better constraints, resampling, a shrinkage estimator, an equilibrium prior. All of that helps. None of it repairs the fact that the numbers going in were assembled in an afternoon from a ten-year average, a rounded guess and a figure somebody remembered from a conference.

The alternative is to treat the assumption set as the deliverable. Not the frontier, not the policy portfolio, not the memo: the table of expected returns, volatilities and correlations that every one of those objects consumes. A capital-market-expectations table is the one artefact in institutional investing that is simultaneously an input to everything and audited by almost nobody.

What makes it auditable is that most of it decomposes. A bond's expected return is a sum of premiums you can name and check against a quoted yield. An equity return is an income yield plus a growth rate plus a repricing view, and each of those three is a separate falsifiable claim. A real-estate return is a cap rate plus net-operating-income growth minus whatever the cap rate does next. Build the number that way and a reader can disagree with one line rather than with the whole figure, which is the only kind of disagreement that improves a forecast.

The covariance matrix is harder, and honesty about that gap matters. A four-asset table needs four expected returns and six correlations, and the six are estimated from the same short, non-stationary history that produced the four. By ten asset classes there are forty-five correlations and no sample long enough to pin them down.

One convention before the work starts. Every figure below that moves with time carries a source and a date, written as an inline verify flag, because a policy rate, an index dividend yield, a cap rate and a sovereign spread are all perishable. The illustrative values used throughout sit at September 2026 levels and are labelled as such. The method survives the refresh. The numbers do not.

This Ring is additive institutional and CFA breadth, presented alongside rather than in place of the program's process-over-P&L, concentration-over-diversification philosophy.


Learning objectives

You can:

  1. State the seven-step capital-market-expectations process, and explain why a forecast is a distribution with a stated horizon rather than a point prediction.
  2. Name the seven defects of a historical estimate: non-stationarity, regime shift, ex-post risk read as ex-ante risk, data mining, time-period bias, survivorship, asynchronous pricing, and say which a longer sample makes worse.
  3. Build a bond's expected return from blocks, reconcile the sum to a quoted yield, and subtract expected credit loss to convert a promised yield into an expected return.
  4. Compute rolldown return on a stated curve, cross-check it against the modified-duration shortcut, and quantify a short-rate path from a Taylor-type rule with the error band its own inputs imply.
  5. Compute a Grinold-Kroner equity return decomposed into income yield, net share change, inflation, real earnings growth and repricing, including the case where buybacks make the share-change term negative.
  6. Reconcile a decomposed equity return against a risk-premium-based required return for the same index, attributing the gap to specific components rather than splitting the difference.
  7. Apply the Singer-Terhaar adjustment, state and defend an integration weight, and quantify how far an emerging-market assumption moves across the full range of that weight.
  8. Build a real-asset expected return from cap rate, net-operating-income growth and cap-rate change, and correct an appraisal-based volatility and correlation for smoothing before either reaches a covariance matrix.
  9. Forecast a currency from relative purchasing power parity, relative economic strength, capital flows and savings-investment balances, and say which dominates at which horizon.
  10. Assemble, shrink and stress-test a full assumption table: the positive-semi-definite check, a shrinkage estimator, the sanity ranges, a component-level comparison against two published sets, and a written falsification test.

The duality, stated once. The gated skill is the by-hand build: a bond return decomposed and reconciled, a Grinold-Kroner sum, a Singer-Terhaar blend, a de-smoothed volatility. The productivity payoff is running the whole table in fifty lines of Python and re-running it monthly. The risk in between is worth naming now. An assistant asked for "long-term capital market assumptions for Indian equities" returns a fluent, plausible, correctly formatted number with no decomposition behind it, and a number with no decomposition cannot be argued with, corrected or falsified. The verification is the reconciliation: does the sum of the blocks tie to a quoted yield, does the table survive its own sanity ranges, and is the correlation matrix's smallest eigenvalue non-negative.


Prerequisites & connections

Builds on. AA1.04 opens the Asset Allocation & Performance branch, and it unlocks once you pass M3.03. M3.02 supplies the equity risk premium three ways, historical, implied and country-adjusted; the implied-ERP number used as a cross-check below is that module's output, pulled from its ERP card, not rebuilt. M3.03 supplies the clean risk-free construction, including the subtraction of a sovereign default spread from an Indian G-sec yield, and the currency rule deciding which risk-free rate belongs in which forecast. M7.03 owns inflation measurement, the curve's shape and the term premium; the maturity-premium block below is that term premium, cited rather than re-derived. M7.02 owns the policy rate and the transmission mechanism, and the Taylor rule appearing here as a forecasting device is that module's diagnostic tool put to a different use. M7.05 owns cycle dating and the growth-inflation regime grid. M7.06 owns exchange-rate determination, covered interest parity and the balance of payments. QM1.01 supplies sampling distributions and standard errors, QM1.04 the multiple-testing discipline that decides how much of a backtested premium to believe, and M6.04 the behavioural catalogue the forecasting errors below are mapped to.

Feeds forward. AA1.01 is the direct consumer: it takes this table, runs the frontier, the global minimum-variance portfolio and the tangency portfolio, and owns that machinery including the constraint arithmetic and the input-sensitivity demonstration. AA1.02 blends these return assumptions with market-equilibrium returns under Black-Litterman and budgets risk when a return forecast is too fragile to size a position at all. AA1.05 derives a policy portfolio from the table and an institution's constraints. AA1.03 measures what that portfolio delivered, and a sloppy assumption set here becomes a sloppy benchmark there. AL1.02 and PW1.03 consume the real-asset lines, and the quant-code region turns the pipeline into production software.

Deliberate non-overlaps. Mean-variance optimisation, the efficient frontier, the tangency portfolio and the strategic-versus-tactical split belong to AA1.01; the optimiser is used below as a stated formula and its derivation, its constraint ladder and its sensitivity demonstration stay there. The equity risk premium's three routes and the country-risk premium belong to M3.02 and are cited, never rebuilt. The term premium and curve dynamics belong to M7.03. Appraisal-smoothing mechanics, the access spectrum for real assets and the commodity roll belong to AL1.02; the closed-form de-smoothing correction is used here because a covariance matrix needs it, and the mechanism sits there. The parity conditions and the exchange-rate models behind the currency section belong to M7.06 and EC1.04, which carry the derivations the four forecasting inputs below are used without. Institutional objectives, constraints and the investment policy statement belong to AA1.05. Black-Litterman belongs to AA1.02.


Core teaching content

1. Why the inputs deserve more work than the optimiser

Take four Indian asset classes with a set of assumptions somebody built carefully: equity at 12.0% with a 19% standard deviation, debt at 7.0% with 6%, gold at 7.5% with 15%, listed real estate at 9.0% with 17%, against a clean rupee risk-free rate of 4.50%. Solve for the tangency portfolio, the mix with the highest Sharpe ratio, using the standard result that its weights are proportional to Σ⁻¹(μ − Rf·1) renormalised to sum to one. The answer is equity 24.51%, debt 70.60%, gold 12.26% and real estate at minus 7.37%, giving an expected return of 8.14%, a volatility of 6.30% and a Sharpe ratio of 0.5780.

Every one of those weights is a statement about the four expected returns. Change gold's assumption by three points and the optimiser restructures the book; change equity's by three points and it restructures it differently. Neither revision requires a new model, a new constraint or a new solver, and neither would look unreasonable written down on its own.

The sensitivity is not a defect of the software. An optimiser exists to exploit differences between assets, so it must be maximally sensitive to the numbers describing those differences, and expected returns are the numbers it is most sensitive to because they enter linearly while risk enters through a quadratic form. Constraints blunt the effect and cannot remove it.

Which leaves one honest conclusion about where effort goes. If a two-tenths-of-a-point error in a mean is worth ten points of weight, an afternoon spent decomposing that mean into checkable components beats a week spent improving the solver. There is a second payoff too. A colleague who disagrees with a single figure can only disagree with the figure, and that conversation ends in a split-the-difference compromise with no defence at all. A colleague looking at an income yield of 0.60%, an inflation assumption of 4.50%, a real growth assumption of 4.20% and a repricing drag of 0.93% can tell you exactly which line they think is wrong.

2. The capital-market-expectations framework, and what a forecast is

Seven steps, in order, and the order matters because each one constrains the next.

  1. Specify the expectations needed, driven by the objectives, the asset classes the mandate allows and the horizon the allocation will be judged over. A ten-year policy allocation needs ten-year assumptions, not one-year ones with a longer label.
  2. Investigate the historical record for what it says about behaviour and the range of outcomes, while treating its mean as the weakest thing in it.
  3. Choose a forecasting method the asset's economics support. Bonds get building blocks because their cash flows are contracted, equities get a decomposition because their return has identifiable sources, and assets with neither get risk-premium pricing.
  4. Gather the data from primary sources, dated, with each series definition recorded. Half the errors in this work are definitional rather than numerical.
  5. Interpret the current environment: where the cycle sits, what policy is doing, what is already in the price.
  6. Formulate the expectations as a set with the interactions checked, not asset by asset in isolation.
  7. Monitor and revise against a pre-committed falsification test rather than against whatever happened.

The most useful thing in the list is the distinction between a forecast and a point prediction. A capital-market expectation states the centre of a distribution over a stated horizon, and it is compatible with almost any single realised outcome. An expected equity return of 8.4% with a 20% standard deviation puts any single year between minus 12% and plus 28% inside one standard deviation, which is most years. A bad year does not falsify it. A decade whose realised income yield, earnings growth or valuation change lands outside the range the components claimed does, and that is a far more specific test.

Horizon decides which method applies. Over one year a bond's return is dominated by rate moves nobody forecasts well; over ten it converges to something close to its starting yield, which is observable. Over one year an equity's return is dominated by repricing; over ten the repricing term shrinks relative to compounded growth. A method that is right at one horizon is wrong at the other, and the commonest way an assumption set goes wrong is that its horizon was never stated.

3. What goes wrong with a historical estimate

The default method for expected returns is a long-run average of realised returns. Seven things are wrong with it, and they do not all pull in the same direction.

  • Non-stationarity. The estimator assumes a constant parameter. Real economies change: India's inflation-targeting framework dates from 2016, its listed real-estate market from 2019, and its capital-account openness has moved repeatedly. A twenty-year average of Indian equity returns spans several economies wearing one label.
  • Regime shift. The dangerous special case, because it produces a sample internally consistent within each half and meaningless as a whole. Equity-bond correlation ran positive through the inflationary 1970s and 1980s, negative through the disinflation that followed, and positive again when inflation returned. An average across the span describes no regime that has ever existed.
  • Ex-post risk read as ex-ante risk. A sample containing no crisis produces a low volatility estimate that is wrong precisely when it matters, and the error runs in reverse when a sample contains a crash: the volatility looks high because the event happened, not because it was likely.
  • Data mining. Search a database hard enough and something shows a pattern. A t-statistic of 2.0 on a variable selected from two hundred candidates is not evidence of anything, and the defence is the multiple-testing discipline the quantitative-methods branch owns. Ask what the search space was before believing a premium found inside it.
  • Time-period bias. A result that holds over one window and not another describes the window. Detecting it costs nothing: split the sample and report both halves rather than the pooled number.
  • Survivorship. Indices drop failures, and emerging-market equity indices have dropped entire markets. An average from an index that only ever contained survivors overstates what an investor could have earned, and the overstatement is largest where estimation is hardest.
  • Asynchronous pricing. With one series priced at 15:30 in Mumbai and another at 16:00 in New York, part of the co-movement lands in different calendar days and the measured correlation is pulled toward zero. The bias is mechanical rather than a judgment call, and it always runs toward zero from whichever side the true number sits on, so a positively correlated pair looks more diversifying than it is and a negatively correlated one looks less.

Notice which of these a longer sample fixes and which it makes worse. It shrinks the standard error of the mean, which helps with none of the seven, and it makes non-stationarity and regime mixing strictly worse by guaranteeing more regimes inside the sample. Thirty years of equity returns at a 20% volatility leave a standard error of 20/√30 = 3.65 percentage points on the mean, wider than the entire equity risk premium being estimated. That arithmetic is why the building-block and decomposition methods exist.

4. Where the forecaster goes wrong, separately from the data

The behavioural catalogue belongs elsewhere in the program. What matters here is which biases attach specifically to forecasting an asset class, and what each one looks like in a table of numbers.

BiasHow it shows up in an assumption setThe check that catches it
AnchoringThis year's number is last year's number plus a small adjustment, whatever the data didRebuild from components without looking at last year's file, then compare
Status quoThe table changes by less than the underlying inputs didCompute the component-implied change and compare it to the change actually made
ConfirmationSources that support the house view get pulled; ones that do not are "not comparable"Record every source consulted, including the ones rejected, and why
OverconfidencePoint estimates carried to two decimals with no stated rangeAttach a range to every line before the table is circulated
PrudenceThe forecast drifts toward the consensus as the publication date approachesDate-stamp the first draft of every number and diff it against the final
AvailabilityThe most recent crisis dominates the risk assumptionsTest the volatility assumption against a sample that excludes the last three years

Two failures are model failures rather than psychological ones, and they cost more.

Model uncertainty is the risk that the framework itself is wrong, as distinct from mis-estimating the parameters inside it. A building-block model assumes returns decompose into additive premiums; a Grinold-Kroner decomposition assumes the price, earnings and multiple identity holds over the horizon. Neither error appears in a confidence interval computed inside the model, so the defence is to run a structurally different second method on the same asset and look at the gap.

The smoothed-return illusion is worse because it is invisible and quantitative. Any asset marked by appraisal rather than by trade produces a return series with positive first-order autocorrelation, which mechanically depresses both its measured volatility and its measured correlation with everything else. It belongs among the forecasting errors rather than with real estate because the analyst who accepts the reported number is not making a real-estate mistake. They are accepting a measurement as a fact.

Covariance matrix estimation

Covariance matrix estimation is the job of building the volatilities and correlations an optimiser needs. It is the harder half of the inputs: the number of correlations grows with the square of the number of assets (six at four assets, 190 at twenty), while the data available to estimate them does not grow at all. Shrinkage and factor models keep a badly estimated correlation from producing an absurd portfolio.

3 min read, on its own page

Bond expected return

A bond's expected return is built up from a real risk-free rate and named premiums, and then reduced by expected credit loss. Expected credit loss, the probability of default multiplied by the loss given default, is the step most often skipped, and skipping it overstates the return. A bond yielding 7.40% with a 0.15% annual default probability and a 55% loss given default has an expected return of 7.3175%.

4 min read, on its own page

Rolldown return

Rolldown is the price gain a bond earns by ageing down a sloped curve while the curve stays put. Over a horizon shorter than the bond's maturity, the yield is not the return, and rolldown is one of the two extra terms that appear. A five-year Indian G-sec issued at par with a 6.30% coupon, on a curve whose four-year point is 6.18%, returns 6.714105% over one year, 41 basis points more than its yield.

4 min read, on its own page

8. Equity by history and by dividend discount

Two older methods deserve a paragraph each, mostly so their failure modes are recognisable.

The historical approach takes a long realised average and calls it the expectation. It requires no judgment, which is its appeal, and it inherits the standard error computed above: thirty years at a 20% volatility puts a ninety-five percent interval of roughly 4.8% to 19.2% around a 12% historical average, a band 14.31 points wide, which is compatible with almost any assumption anybody might propose. It also embeds whatever valuation change happened over the sample, so a period that began cheap and ended expensive has a realised return that cannot repeat from the new starting point.

The dividend discount approach inverts the Gordon growth model to solve for the discount rate, r = D₁/P + g, and the whole of it is an argument about g. On an index whose payout comes substantially through buybacks it understates the income return, sometimes badly, and a single perpetual growth rate forces a decision nobody can defend: above nominal GDP growth it is arithmetically impossible over long enough spans, and below it, it claims the listed sector's share of the economy is shrinking.

Both survive as cross-checks. Neither is a good primary method for a ten-year assumption, which is why the decomposition that follows became standard.

Grinold-Kroner model

The Grinold-Kroner model splits an equity's expected return into income and nominal earnings growth, plus the annualised change in the price-to-earnings multiple, so each piece can be forecast, and challenged, on its own. It also exposes a common error: income is the dividend yield minus net share issuance, so using a gross buyback yield in its place overstates the return. Because the terms are separate, a forecast built this way carries a test that can prove it wrong.

3 min read, on its own page

10. Risk premiums for the whole opportunity set

Some assets have no cash flow to decompose and no long clean history to average. Singer and Terhaar's 1997 framework prices them from risk instead, against a global reference portfolio. In a fully integrated world only the part of an asset's risk that co-moves with that portfolio is compensated:

RP_integrated = ρ(i, GIM) × σ_i × Sharpe_GIM

In a fully segmented world, where investors cannot access foreign markets and must hold local risk in full, the entire volatility is compensated:

RP_segmented = σ_i × Sharpe_GIM

Real markets sit between. The blend uses an integration weight φ between zero and one, plus an illiquidity premium where the asset is hard to trade:

RP = φ × RP_integrated + (1 − φ) × RP_segmented + illiquidity premium

With a global investable market expected return of 6.60%, a volatility of 8.50% and a US risk-free rate of 4.20%, the global Sharpe ratio is 2.40/8.50 = 0.282353. On broad emerging-market equity with a 24.0% dollar volatility and a 0.65 correlation to that market, the integrated premium is 4.4047 points and the segmented premium 6.7765.

The whole framework hangs on φ, and φ is not observable. Defending a value means naming the evidence: the share of the local market held by foreign investors, the presence and severity of capital controls, the correlation of the local market with global risk appetite in stress, and whether local investors can freely hold foreign assets. India at a φ of 0.75 is a defensible reading of an economy with a large and growing foreign portfolio investment stock, an open equity market and a still-managed capital account. India at 0.50 is also defensible, and the two answers differ by 0.62 points on the equity assumption.

Worked example 5 runs the full sweep. Across the whole range of φ, the emerging-market equity assumption moves 2.3718 percentage points, or 0.2372 points for every 0.10 of integration weight. On a portfolio holding 12% in that sleeve the range covers 0.28 points of total expected return, which sounds small until it is set against the sensitivity of the weights themselves.

11. Real estate: cap rate, growth, and the correction that comes first

A property's expected return has the same shape as an equity's, with the multiple replaced by its reciprocal:

E(R_property) = cap rate + NOI growth + annualised effect of the cap-rate change

Value equals net operating income divided by the cap rate, so a rising cap rate is a falling value, and the annualised effect of a cap rate moving from c₀ to c₁ over n years is (c₀/c₁)^(1/n) − 1.

The Indian office market supplies an unusually clean growth input, because the standard lease carries a contractual escalation of 15% every three years. That annualises to 1.15^(1/3) − 1 = 4.768955%, and being contracted rather than forecast it is the most defensible growth assumption anywhere in the table. Portfolio NOI grows more slowly, because of vacancy and because expiring leases re-let at market rather than at the escalated rate, so a drag of about 1.00 point is realistic, giving 3.768955%. Worked example 6 completes the build.

One correction comes before any of that arithmetic reaches a table. Any real-asset series marked by appraisal rather than by trade is smoothed, because an appraiser anchors partly on the previous valuation. The standard model, owned in full by the real-assets node, writes the reported return as a weighted average of the true return and last period's reported return with weight α on the lag. Two closed forms follow, both needed before the number enters a covariance matrix:

σ_true = σ_reported × √((1 + α) / (1 − α))
ρ_true = ρ_reported / √(1 − α²)

Estimate α as the first-order autocorrelation of the reported series. At α = 0.60 the multipliers are exactly 2.000 and 1.250, so a fund reporting a 7.50% volatility and a 0.18 correlation with equities has a true volatility near 15.00% and a true correlation near 0.225. The covariance, which is what the optimiser consumes, is understated by a factor of 2.500.

The consequence is not academic. Run the same four-asset US table through a long-only optimiser twice, once with the reported real-estate volatility and once de-smoothed, and the allocation to core real estate falls from 59.77% to 17.74%: a 42.03 point difference produced by a measurement artefact, with not one economic assumption changed between the runs.

Exchange rate forecasting

Exchange rate forecasting projects how one currency will move against another over a stated horizon. Relative purchasing power parity, which says the exchange rate adjusts for the inflation differential, is the best single anchor over ten years and close to useless over one. For a ten-year table, use it as the central case and check it against the gap in real interest rates.

3 min read, on its own page

13. Bringing the cycle in, and writing down what would falsify the forecast

A long-horizon assumption set is not a cycle forecast, and the commonest way it becomes one is by accident. Two things properly move a ten-year table when the cycle moves, and a third feels like it should and must not.

The first is starting valuation, a fact rather than a forecast. If the index P/E is 22.0 rather than 18.0, the repricing term changes, and it changes by an amount arithmetic decides rather than judgment. The same applies to a starting cap rate and a starting credit spread. Where the cycle has moved a price, the table must move.

The second is the policy path, which changes the short-rate anchor under every bond assumption and, through the discount rate, sits underneath the equity assumption too. The cycle branch's regime read supplies the direction and the Taylor-type rule above supplies a magnitude with its error band attached.

The third is the near-term growth outlook, which should mostly not move a ten-year table at all. A recession beginning next quarter changes one year of a ten-year earnings path by a few points, worth about 0.2 to 0.3 points a year annualised, and the temptation is to cut the equity assumption by two points because the news is bad. That is availability bias wearing macroeconomics as a costume.

The falsification test separates a forecast from an opinion and costs one paragraph to write. Before the table is published, write down for each line the observable that would prove the assumption wrong and the date it would be visible. For the Indian equity line: a P/E at 22.0 or higher in five years, which kills the 0.93 point repricing drag. For the debt line: realised inflation averaging above 5.50% over three years, which breaks the 4.50% inflation premium and with it the whole bond block. For the real-estate line: Grade-A office cap rates at or below 7.80% in five years, which reverses the 1.93 point drag. Committing to those in advance turns a revision into an argument about evidence, and it stops the quiet drift by which last year's number becomes this year's.

{
  "skill": "Assembling and stress-testing a capital-market-expectations table",
  "use": "Have an assistant write the table-assembly pipeline: read your building-block and decomposition inputs from a sheet, build the covariance matrix, apply a stated shrinkage intensity, run the positive-semi-definite test, and print the tangency and minimum-variance weights alongside the unshrunk versions so every choice's effect is visible in one diff.",
  "tools": ["Chat assistants with code execution - Claude, ChatGPT, Gemini", "Python: NumPy for eigenvalues and linear solves, pandas for the input sheet", "scikit-learn's LedoitWolf estimator, as a cross-check on your hand-rolled shrinkage", "A spreadsheet, for the by-hand reconciliation of two of the lines"],
  "prompt": "Here is a table of asset classes with expected returns, volatilities and a correlation matrix. Write Python that (a) builds the covariance matrix, (b) asserts positive semi-definiteness by checking the smallest eigenvalue of the correlation matrix and printing all of them, (c) applies constant-correlation shrinkage at an intensity I pass in, printing the matrix, smallest eigenvalue and condition number before and after, (d) computes unconstrained and long-only tangency weights at a risk-free rate I pass in, and (e) re-runs it with one expected return bumped by 80 basis points and prints the weight change per asset. Do not round any intermediate value, and state the shrinkage-target convention you used.",
  "verify": "Recompute two of the expected returns by hand from their building blocks and confirm they match the sheet the code read. Confirm the positive-semi-definite assertion actually fires by feeding it a matrix you know is invalid: set three correlations to 0.90 and one to minus 0.90 and check that a negative eigenvalue appears and the assertion fails. Trace every input to a dated primary source: the yield to the central bank or CCIL or FRED page, the dividend yield and P/E to the index provider's own factsheet, the cap rate to a named brokerage market report with its publication date. Match the period-end and the currency on every series before any correlation is computed. A matrix whose provenance you cannot state is not an input, it is a guess with decimal places.",
  "diy": "You must be able to build a bond return from blocks and reconcile it to a quoted yield, run a Grinold-Kroner sum, and blend a Singer-Terhaar premium at a stated integration weight, all on paper. Worked examples 1, 3, 4 and 5 are the drills. Code can build the matrix; it cannot tell you that a real-estate assumption sitting above your equity assumption is a smoothing artefact rather than a finding.",
  "market": "IN"
}

14. Assembling the table and stress-testing it

Four checks, in order, before an assumption set goes near an optimiser.

Check 1: is the correlation matrix valid. Pairwise correlations assembled from separate judgments are not guaranteed to be internally consistent, and an inconsistent set implies a portfolio with negative variance. Every eigenvalue of the matrix must be non-negative. Take a hand-assembled four-asset matrix whose six correlations are 0.90, 0.90 and 0.85 among the first three assets and minus 0.60, minus 0.55 and minus 0.90 against the fourth, each defensible read on its own. Its eigenvalues are minus 0.012474, 0.098637, 0.549606 and 3.364231, and at the rebuilt Indian table's volatilities of 20.0%, 5.8%, 15.0% and 16.0% the portfolio matching that first eigenvector computes a variance of minus 2.1519 squared percentage points. Nothing built on such a matrix means anything, and the optimiser will not warn you.

Check 2: does every line survive a sanity range. The ranges are not arbitrary and each one has a reason.

LineRangeWhat a breach usually means
Bond expected returnWithin 25 bp of index yield to maturity minus expected credit lossYield used without the loss haircut, or the wrong index
Equity risk premium, developed market2.0 to 6.0 pointsA repricing view doing too much work
Equity risk premium, emerging market3.0 to 8.0 pointsAn integration weight nobody defended
Nominal earnings growthWithin 2 points of nominal GDP growthA perpetual growth rate above the economy's
Real return on cashMinus 1.0 to plus 2.0 pointsAn inflation assumption inconsistent with the bond block
Sharpe ratio, any risky asset0.05 to 0.40 over cashA smoothed volatility, or a return assumption with no decomposition
Real-asset return versus equity returnReal assets below equity, or a stated reasonAn un-de-smoothed volatility, or a forgotten cap-rate term

Run the Indian table against them. Nominal earnings growth of 8.70% sits 2.00 points below the 10.70% nominal GDP assumption, which passes and has the right sign, since dilution and the unlisted sector's share are what make listed earnings grow slower than the economy. The Sharpe ratios over the 5.70% expected cash rate, which is the 1.20% real short rate plus the 4.50% inflation premium, come to 0.134 for equity, 0.182 for debt, 0.152 for real estate and minus 0.080 for gold. All four sit inside the range or, for gold, outside it for a stated reason: gold has no cash flow, and a negative Sharpe ratio is the honest way to say it is held for its correlation rather than its return.

Check 3: compare against two published assumption sets, and attribute every difference. The published long-horizon sets disclose their components, which is what makes them usable here, and a difference must be traced to a specific input before it is accepted or rejected. Worked example 2 runs the comparison and produces the finding that matters: across three sets whose headline US equity numbers span 1.80 percentage points, 1.35 points of that spread, 75.0% of it, comes from the valuation-change line nobody argues about in public.

Check 4: run the 80 basis point test. Bump each expected return in turn by 80 basis points, re-solve, and record the weight movement. On the rebuilt Indian table: 7.25 points of total absolute movement from an equity bump, 13.63 from a debt bump, 10.78 from a gold bump and 12.40 from a real-estate bump, with the largest single-asset move 6.71 points. Those are far smaller than the sign-flipping example these pages opened with, and the reason is instructive: shrinkage cut the condition number from 4.3814 to 3.1628, and a better-conditioned matrix produces a less violent inverse.

The output is a ranking rather than a pass or a fail, and the ranking is what goes in the memo: the input this portfolio is most sensitive to, quantified, with that input's falsification test attached.

{
  "skill": "Extracting and comparing published capital-market assumption sets",
  "use": "Use a document assistant to pull the component tables out of two or three published long-horizon assumption documents into one sheet with a common set of column names, then have it build the component-by-component difference table against your own numbers so each gap is attributed to a named input rather than to house judgment.",
  "tools": ["A document or PDF assistant grounded on the assumption documents you have downloaded yourself", "Chat assistants with code execution, for the difference arithmetic", "The publishers' own pages as the primary source: J.P. Morgan Long-Term Capital Market Assumptions, BlackRock Capital Market Assumptions, Vanguard's economic and market outlook, Research Affiliates Asset Allocation Interactive"],
  "prompt": "From these published capital-market-assumption documents, extract for each asset class the horizon in years, the expected return, whether it is nominal or real and arithmetic or geometric, the currency, the volatility, and every disclosed return component with its label. Put them in one table with a shared component vocabulary and flag any component I cannot map. Then build a difference table against the assumption set I supply, one row per component, showing that each column's component differences sum exactly to the headline difference.",
  "verify": "Check every extracted number against the source page yourself, because document assistants transpose rows in dense financial tables and a transposed row is invisible downstream. Confirm the arithmetic-versus-geometric convention on both sides first: a 20% volatility asset's arithmetic and geometric means differ by about 2 points, larger than most of the disagreements you are trying to explain. Confirm the horizon, the currency, and whether the number is gross or net of fees. Then check that the component differences sum to the headline difference exactly; if they do not, a component is missing or mislabelled, and the residual is what to investigate rather than plug.",
  "diy": "You must be able to state, without a tool, what each component of a published equity assumption means and which are forecasts rather than measurements. A house publishing a zero valuation-change term has claimed that today's multiple is fair, and recognising that claim is the skill. Worked example 2 is the drill.",
  "market": "US"
}

Common mistakes & how experts think differently

  1. Using a bond index's yield to maturity as its expected return. The yield is a promise and the difference is expected credit loss: 0.0825 points on the Indian AAA line, 9.17% of the whole spread, and 0.33 points on the US BBB line, 30.00% of it. Amateurs report the yield. Experts report the yield, the expected loss and the difference, because the difference is what the credit call is about.
  1. Averaging two methods that disagree. A decomposition at 8.37% and a risk-premium build at 10.10% do not average to a better number, they average to a number with no components. Attribute the 1.73 point gap, find that 0.93 of it is a repricing term one method contains and the other does not, then choose the method whose assumption you are willing to be judged on.
  1. Reading an appraisal-based volatility as a volatility. A private fund reporting 7.50% with a 0.60 first-order autocorrelation has a true standard deviation near 15.00%, and accepting the reported figure produced a 59.77% real-estate allocation where the corrected one produces 17.74%. Experts run the autocorrelation first and treat any series above about 0.30 as smoothed until proven otherwise.
  1. Leaving the integration weight undefended. Singer-Terhaar without a stated φ is an arbitrary number with a citation attached, and the emerging-market assumption moves 2.3718 points across the full range. Write the weight, the evidence behind it, and the value you would move to if one piece of that evidence changed.
  1. Letting the cycle move a ten-year table through the growth term. Starting valuation and the policy path belong in a long-horizon set because they are facts about today. Next year's growth outlook mostly does not, being worth two or three tenths of a point annualised. The tell is a table whose equity assumption falls two points in a bad quarter with no valuation change to justify it.
  1. Estimating means from long samples and volatilities from short ones. It is backwards. The standard error on a mean is σ/√n and no realistic sample makes it small, while the standard error on a volatility falls fast with sampling frequency. Build expected returns from economics, estimate risk from data, and be able to say in one sentence why the asymmetry exists.
  1. Building an assumption set asset by asset with no consistency pass. The inflation number inside the bond block must be the one inside the equity block and the one implied by the currency conversion. Run the consistency pass before the sanity pass, because an inconsistent table can still look reasonable line by line.
  1. Publishing without a falsification test. A forecast with no pre-committed observable that would disprove it cannot be revised on evidence, only on mood, and the resulting drift leaves no trace. Fixing it costs one sentence per line, written before the table is circulated rather than after the first year goes badly.
  1. Treating the covariance matrix as the easy half. Four assets need six correlations and twenty need 190, from the same history. Shrink, state the intensity, and report the smallest eigenvalue and the condition number before and after, because those two numbers are the only evidence the shrinkage did what it was for.

Worked examples

Worked example 1: A four-asset Indian assumption table, built and then run through the optimiser (India, ₹)

Bharat Family Office (synthetic) holds four Indian asset classes: equity, a blended domestic debt sleeve, gold and listed real estate. The assumption set being replaced holds equity at 12.00% with a 19% standard deviation, debt at 7.00% with 6%, gold at 7.50% with 15% and real estate at 9.00% with 17%. Its correlations are 0.10 for equity and debt, minus 0.05 for equity and gold, 0.55 for equity and real estate, 0.15 for debt and gold, 0.35 for debt and real estate and 0.05 for gold and real estate. The clean rupee risk-free rate is 4.50%. Rebuild every expected return from primary sources, shrink the matrix, and report how far the optimal weights move.

Solution. Step 1, the equity line by decomposition. Dividend yield 1.15%, net share issuance 0.55%, expected inflation 4.50%, real earnings growth 4.20%, and a price-to-earnings ratio moving from 22.0 to 21.0 over five years. Repricing is (21.0/22.0)^(1/5) − 1 = −0.926085%. The sum is 1.15 − 0.55 + 4.50 + 4.20 − 0.926085 = 8.373915%.

Step 2, the equity line cross-checked by risk pricing. With a global investable market Sharpe ratio of 0.282353, Indian equity's 22.0% dollar volatility and a 0.60 correlation to that market, the integrated premium is 3.727059 points and the segmented premium is 6.211765. At an integration weight of 0.75, defended on the size of the foreign portfolio investment stock, the openness of the equity market and the still-managed capital account, the blend is 4.348235 points, giving a dollar expected return of 8.548235%. Converting at the 2.150538% parity rate gives 10.882606% in rupees against the decomposition's 8.373915%, a gap of 2.508691 points.

Step 3, attribute the gap rather than average it. At full integration the rupee number falls to 10.248071%, so 0.634535 points of the gap is the segmentation premium and a further 0.926085 is the repricing term the risk-premium route does not contain. The residual 0.948071 points is a disagreement about the global Sharpe ratio and about growth. Take the decomposition at 8.373915%, record the other as the upside case, and attach the falsification test: a P/E of 22.0 or higher in five years.

Step 4, the debt sleeve. The 10-year G-sec quotes 6.50%, reconciling exactly to blocks of 1.20% real, 4.50% inflation and 0.80% maturity premium. Subtract a sovereign expected credit loss of 0.30% × 40% = 0.12 points for 6.38%. The AAA corporate quotes 7.40%, its 0.90 point spread splitting into 0.0825 of expected loss, 0.42 of liquidity premium and 0.3975 of credit risk premium, giving 7.3175%. A 60/40 blend gives 0.60 × 6.38 + 0.40 × 7.3175 = 6.755%.

Step 5, gold and real estate. Gold earns a zero expected real return in dollars, so 2.30% nominal, converting to exactly 4.50% in rupees and matching the rupee inflation assumption as it must. Listed real estate yields 6.30%, grows net operating income at 1.15^(1/3) − 1 = 4.768955% less a 1.00 point vacancy and re-leasing drag, and carries a cap-rate drag of (7.80/8.60)^(1/5) − 1 = −1.933826%, giving 8.135129%.

AssetOld E(R)New E(R)ChangeOld σNew σ
Equity12.00%8.37%−3.63 pp19.0%20.0%
Debt7.00%6.76%−0.25 pp6.0%5.8%
Gold7.50%4.50%−3.00 pp15.0%15.0%
Real estate9.00%8.14%−0.86 pp17.0%16.0%

Step 6, shrink the correlation matrix. The average off-diagonal sample correlation is 0.191667, and at δ = 0.30 the six correlations move to 0.1275, 0.0225, 0.4425, 0.1625, 0.3025 and 0.0925. The smallest eigenvalue rises from 0.389563 to 0.517410 and the condition number falls from 4.381416 to 3.162806, which is the evidence the shrinkage did what it was for.

Step 7, run three optimisations and separate the causes. Hold the risk-free rate at 4.50% so every weight change traces to the assumption set:

RunEquityDebtGoldReal estateE(R)σSharpe
1. old μ, old Σ24.51%70.60%12.26%−7.37%8.14%6.30%0.5780
2. new μ, old Σ13.20%91.85%−4.65%−0.40%7.07%6.20%0.4139
3. new μ, shrunk Σ8.56%91.54%−6.66%6.56%7.13%6.20%0.4245

Step 8, read the movement. From run 1 to run 3, equity falls 15.95 points, debt rises 20.94, gold falls 18.91 and real estate rises 13.93, for 69.73 points of total absolute movement. Changing only the expected returns, run 1 to run 2, moves 56.45 points, which is 80.96% of the whole reallocation, and changing only the covariance matrix afterwards moves a further 13.92. Those two legs sum to 70.37 rather than to 69.73 because debt overshoots to 91.85% and comes back to 91.54%, and a weight that moves and then partly returns gets counted twice. The investable long-only version of run 3 holds equity 8.35%, debt 85.68%, gold 0.00% and real estate 5.97% at a Sharpe ratio of 0.4192 against the unconstrained 0.4245.

Read it. Run 1 reproduces the original table's published tangency portfolio to the last decimal, which is the independent check that the optimiser is the same one, so every difference that follows is an input difference. The Sharpe ratio falls from 0.5780 to 0.4245, and that fall measures how much optimism came out of the assumptions rather than any deterioration in the portfolio. The old 12.00% equity and 7.50% gold assumptions were paying for that optimism. What the numbers do not say is that the new portfolio is right. A 91.54% debt weight is the optimiser saying that on these assumptions nothing else earns its volatility, and the response is to re-examine the equity repricing term rather than to accept a portfolio no trustee would sign.

Worked example 2: The same table for the United States, compared against two published sets (US, $)

Northfield Endowment (synthetic) needs a four-asset dollar assumption set covering equity, Treasuries, investment-grade credit and core private real estate, and wants each line reconciled against two published assumption sets before it is adopted. Illustrative September 2026 inputs; verify each against its named source.

Solution. Step 1, build the four lines. Equity by decomposition: dividend yield 1.25%, gross buybacks 2.30% against gross issuance 1.60% for a net share change of minus 0.70% and an income return of 1.95%; inflation 2.30%; real earnings growth 2.10%; and a P/E moving from 21.5 to 20.5 over five years for a repricing term of (20.5/21.5)^(1/5) − 1 = −0.948038%. Total 5.401962%. Treasuries reconcile exactly from blocks of 1.60% real, 2.30% inflation and 0.30% maturity premium to the quoted 4.20%, with no credit loss. Investment-grade credit yields 5.30%, its 1.10 point spread containing 0.33 of expected loss, so 4.97%. Core private real estate: a 5.40% cap rate, 2.50% NOI growth and a cap rate moving 5.40% to 6.10% over five years for (5.40/6.10)^(1/5) − 1 = −2.408322%, so 5.491678%. The volatilities are 16.0% for equity, 6.0% for Treasuries and 7.0% for credit, with core real estate at 15.00% once the reported 7.50% is de-smoothed.

Step 2, sanity-check against cash. The expected nominal cash rate is 1.60 + 2.30 = 3.90%, so the Sharpe ratios are 0.0939 for equity, 0.0500 for Treasuries, 0.1529 for credit and 0.1061 for real estate. All four sit inside the 0.05 to 0.40 range and all four sit at the low end, which is itself the finding: the repricing views are doing a lot of work and every line is more attractive without them.

Step 3, compare the equity line against two published sets. House A and House B are illustrative stand-ins in the format the published sets use; the mini-project requires the real documents, pulled and dated.

ComponentOursHouse AHouse B
Income return (D/P − ΔS)1.951.902.05
Inflation2.302.402.20
Real earnings growth2.102.301.90
Valuation change−0.950.00−1.35
Total5.406.604.80

Step 4, attribute every difference. House A sits 1.198038 points above us: minus 0.05 on income, plus 0.10 on inflation, plus 0.20 on growth and plus 0.948038 on valuation. House B sits 0.601962 points below us: plus 0.10 on income, minus 0.10 on inflation, minus 0.20 on growth and minus 0.401962 on valuation. In both cases the components sum exactly to the headline difference, which is the check that the extraction was correct.

Read it. The three headline numbers span 1.80 percentage points and look like three views of the American economy. They are not. Inflation assumptions differ by 0.20 points, growth by 0.40 and income by 0.15, while the valuation-change assumptions differ by 1.35 points, 75.0% of the entire spread. House A's version of that assumption is zero, which quietly asserts that today's multiple is fair: the largest claim any of the three sets makes, and the one appearing in none of their headlines. The comparison does not license picking the number in the middle. It licenses one question to each house: what would have to be true in five years for your valuation term to be right.

Worked example 3: A bond return built from blocks and reconciled to its quoted yield (US, $)

A US 10-year Treasury quotes 4.20% and a 10-year BBB corporate quotes 5.30% (illustrative levels, not a dated market quote; check the Treasury against FRED series DGS10 and the corporate against a named index provider's option-adjusted spread series). Build both expected returns from blocks, reconcile to the quotes, and compute the one-year return if the curve does not move.

Solution. Step 1, the Treasury blocks. A 1.60% real short rate, 2.30% expected ten-year inflation from the breakeven spread, and a 0.30% maturity premium sum to 1.60 + 2.30 + 0.30 = 4.20%, reconciling to the quote with a residual of 0.00.

Step 2, the credit blocks. Add the 1.10 point spread to the Treasury for a 5.30% quoted yield, then split the spread: a 0.55% default probability with a 60% loss given default gives 0.33 points of expected loss, the liquidity premium is 0.35 points, and the residual 0.42 points is the credit risk premium proper. Expected return is 5.30 − 0.33 = 4.97%.

Step 3, the one-year return with a static curve. The Treasury was issued at par with a 4.20% annual coupon. A year on it is a nine-year bond, and the nine-year point sits at 4.12%. Repricing the remaining cash flows there gives 100.591587, so the one-year total return is 4.20 + 0.591587 = 4.791587%, 59 basis points above the yield purely from rolling down an 8 basis point slope.

Step 4, check the rolldown a second way. Rolldown is approximately modified duration times the slope. On the Indian five-year case in the practice set the exact figure is 0.414105 against the shortcut's 0.413527, a 0.000577 point difference from convexity. Disagreement of more than a basis point or two is an arithmetic error.

Read it. Three numbers describe the same Treasury: a 4.20% yield, a 4.20% ten-year expected return and a 4.79% one-year expected return. All three are correct, they answer different questions, and the one belonging in a ten-year table is the middle one. The credit line is where the discipline bites hardest. Reporting 5.30% as the corporate's expected return overstates it by 33 basis points, 30.00% of the spread the whole credit decision is about, and the error compounds: ten years at 4.97% rather than 5.30% ends 3.09% below the terminal value the quoted yield implied, handed to a default that was always expected.

Worked example 4: A Grinold-Kroner decomposition where buybacks make the dilution term negative (US, $)

A US large-cap index has a dividend yield of 1.25%. Over the trailing year, constituents repurchased shares worth 2.30% of market capitalisation and issued shares worth 1.60%, mostly through stock compensation and acquisition paper. Expected inflation is 2.30%, expected real earnings growth is 2.10%, and the index P/E is expected to move from 21.5 to 20.5 over five years. Compute the expected return, and compute what an analyst gets if they read the buyback yield as the net figure.

Solution. Step 1, the net share change. ΔS = issuance − buybacks = 1.60 − 2.30 = −0.70%. The sign convention is worth stating out loud: a positive ΔS means the share count is growing and each existing share owns less, so it subtracts, and a negative ΔS means the count is shrinking, so −ΔS adds.

Step 2, the income return. D/P − ΔS = 1.25 − (−0.70) = 1.95%. The index returns 1.95% of its value a year to shareholders, 1.25 points as cash and 0.70 points as a larger claim on the same business.

Step 3, the earnings and repricing terms. i + g = 2.30 + 2.10 = 4.40% of nominal earnings growth, and (20.5/21.5)^(1/5) − 1 = −0.948038% of repricing.

Step 4, the total. 1.95 + 4.40 − 0.948038 = 5.401962%, an implied equity risk premium of 1.201962 points over the 4.20% ten-year Treasury.

Step 5, the error. An analyst who reads "2.30% buyback yield" and enters it as the net share-change term gets 1.25 + 2.30 + 2.30 + 2.10 − 0.948038 = 7.001962%, overstating the assumption by exactly 1.60 points, the gross issuance ignored.

Read it. The 1.60 point error is larger than the entire equity risk premium the correct calculation produces, which is why the gross-versus-net distinction is worth a paragraph rather than a footnote. Two cautions travel with it. Buyback yields are pro-cyclical, heaviest when prices are high and absent in a downturn, so a trailing figure forecasts a ten-year average poorly. And a buyback funded by debt changes the capital structure while one funded by free cash flow does not, though the decomposition treats them identically. Sanity-check against the economy: nominal earnings growth of 4.40% against a 4.20% nominal GDP assumption is 0.20 points above, defensible for a listed sector taking a rising share of profits and indefensible if the gap runs to three or four points.

Worked example 5: How far an emerging-market assumption moves across the integration weight (US, $)

A US-based allocator needs an expected return for broad emerging-market equity. The global investable market portfolio is assumed to return 6.60% with an 8.50% standard deviation against a 4.20% risk-free rate. Emerging-market equity has a 24.0% dollar volatility, a 0.65 correlation with the global market and an illiquidity premium of 0.40 points. Show the assumption across the full range of integration weights.

Solution. Step 1, the global Sharpe ratio. (6.60 − 4.20)/8.50 = 0.282353.

Step 2, the two bounds. Fully integrated: 0.65 × 0.24 × 0.282353 = 4.404706 points. Fully segmented: 0.24 × 0.282353 = 6.776471 points. The segmented premium is 1.54 times the integrated one, because segmentation charges for the whole volatility rather than the part that co-moves.

Step 3, the sweep. Add the 0.40 point illiquidity premium and the 4.20% risk-free rate at every weight.

Integration weight φRisk premiumE(R) in USD
0.007.176511.3765%
0.256.583510.7835%
0.505.990610.1906%
0.755.39769.5976%
1.004.80479.0047%

Step 4, quantify the judgment. The full range is 2.371765 points, or 0.237176 points for each 0.10 of integration weight. On a portfolio holding 12% in emerging-market equity, the whole range is worth 0.284612 points of total expected return.

Read it. The 0.28 point effect on the total looks manageable and is the wrong number to watch. The right one is the effect on the weight: an optimiser handed a 2.37 point range on one asset's expected return moves that asset's allocation by tens of points across the range, which is the sensitivity that turned a large long into a short at the start. State φ, state the evidence, and report the assumption at your chosen weight alongside the value at plus and minus 0.25. Two failure modes are worth naming. Assuming full integration for a market with capital controls understates its expected return, the error that makes emerging markets look permanently unattractive on paper. And the illiquidity premium is invented more often than estimated: 0.40 points for a liquid listed index is generous, and anything above about 1.00 point must name the friction it is paying for.

Worked example 6: An Indian REIT return, and what smoothing does to the allocation (India, ₹)

A listed Indian office REIT distributes 6.30% of its market value annually. Its leases carry the standard contractual escalation of 15% every three years, and portfolio net operating income grows about 1.00 point slower than the contracted rate because of vacancy and because expiring leases re-let at market. Grade-A office cap rates are 7.80% and are expected to reach 8.60% over five years. Separately, a private appraisal-valued fund holding similar assets reports a 7.50% annual standard deviation with a first-order autocorrelation of 0.60 and a 0.18 correlation with equities. Build the REIT's expected return and correct the private fund's risk numbers. All levels illustrative at September 2026; verify cap rates against a named brokerage market report and lease terms against the REIT's own annual report.

Solution. Step 1, the growth term. 1.15^(1/3) − 1 = 4.768955% from the contracted escalation, less the 1.00 point drag, gives 3.768955%.

Step 2, the cap-rate term. (7.80/8.60)^(1/5) − 1 = −1.933826%.

Step 3, the total. 6.30 + 3.768955 − 1.933826 = 8.135129%, against the same table's equity assumption of 8.373915%. Forgetting the cap-rate term gives 10.068955%, making real estate the highest-returning asset in the table on an arithmetic omission.

Step 4, de-smooth the private fund. At α = 0.60 the volatility multiplier is √(1.60/0.40) = 2.000 and the correlation multiplier is 1/√(1 − 0.36) = 1.250, so the reported 7.50% volatility becomes 15.00% and the 0.18 correlation becomes 0.225. Against a 16% volatility equity book the covariance rises from 21.6 to 54.0 squared percentage points, a factor of 2.500.

Step 5, price the correction in weights. Run worked example 2's four-asset US table through a long-only optimiser at a 3.90% cash rate, once with the reported real-estate volatility and once de-smoothed. Its correlations, a stated synthetic set, are minus 0.05 between equity and Treasuries, 0.25 between equity and credit, 0.30 between equity and real estate, 0.70 between Treasuries and credit, 0.05 between Treasuries and real estate and 0.20 between credit and real estate. With the reported figure the optimiser holds 59.77% in core real estate at a Sharpe ratio of 0.2405; de-smoothed it holds 17.74% at 0.1755. Both runs hold the correlations at their reported values, so the whole swing traces to the volatility; putting the 1.250 correlation multiplier through as well takes the de-smoothed weight to 15.96%.

Read it. A 42.03 point allocation difference, produced with not one economic assumption changed. Doubling a volatility halves a Sharpe ratio, so the private fund's reported ratio is exactly double its corrected one, and a doubled Sharpe ratio on an illiquid asset is the most attractive thing an optimiser can be shown. The correction is also why the listed and private versions of the same building belong in a table at the same risk. What it does not do is make the appraisal wrong: the appraiser is valuing a building rather than forecasting a return series, and the smoothing is a property of the measurement process rather than anybody's error.

Verify. One computation produced each figure above at full precision, and three of them check themselves against an independent route. Run 1's tangency weights (Equity 0.245088, Debt 0.706038, Gold 0.122598, REIT −0.073723; E(R) 8.139552%, σ 6.296644%, Sharpe 0.578015) reproduce the published solution for that same original table to six decimal places, which is the check that the optimiser is unchanged. The Indian rolldown of 0.414105 points against the modified-duration shortcut's 0.413527 agrees to 0.0577 basis points, the residual being convexity. And the Singer-Terhaar gap decomposition ties exactly: 0.634535 of segmentation plus 0.926085 of repricing plus 0.948071 of residual equals the 2.508691 point gap between 10.882606% and 8.373915%. The remaining headline values, at full precision: India equity 8.373915%, debt 6.755000%, gold 4.500000%, real estate 8.135129%; US equity 5.401962%, Treasuries 4.200000%, credit 4.970000%, core real estate 5.491678%; the shrunk matrix's smallest eigenvalue 0.517410 against the sample's 0.389563; and the de-smoothing multipliers 2.000000 and 1.250000 at α = 0.60.


Practice set

Work each problem fully before reading its solution. A calculator is assumed, and numeric answers within 2% score as correct unless the problem asks for an exact reconciliation, in which case it must tie.

P1 (guided). Build a bond expected return from blocks (US, $). A US-dollar sovereign 10-year bond quotes 5.60%. Its blocks are a real short rate of 1.10%, expected inflation of 3.90% and a maturity premium of 0.60%. The sovereign's annual default probability is 0.25% with a 45% loss given default. Reconcile the blocks to the quote and give the expected return.

Solution. The blocks sum to 1.10 + 3.90 + 0.60 = 5.60%, which reconciles to the quote exactly, so no block is missing. Expected credit loss is 0.25% × 45% = 0.1125 points, so the expected return is 5.60 − 0.1125 = 5.4875%. The quoted yield is the promise and the expected return is the promise net of what defaults are expected to cost, and for a sovereign that gap is small but never zero.

P2 (guided). A Grinold-Kroner sum (India, ₹). An Indian broad-market index has a dividend yield of 2.10%, net share issuance of 0.90%, expected inflation of 2.50%, expected real earnings growth of 1.80% and an annualised repricing term of minus 0.40%. Compute the expected return and its income component.

Solution. Income return is 2.10 − 0.90 = 1.20%. The total is 1.20 + 2.50 + 1.80 − 0.40 = 5.10%. Dilution of 0.90 points has consumed 43% of the dividend yield: a market that issues heavily hands a large part of its income return back to new shareholders, and any decomposition that reports only the dividend yield has overstated the income line by the issuance.

P3 (guided). The repricing term from a multiple path (US, $). A US index trades at 20.0 times earnings and is expected to reach 18.0 times over seven years. Compute the annualised repricing contribution.

Solution. (18.0/20.0)^(1/7) − 1 = −1.493879% a year. Two checks on the arithmetic. The total decline is 10%, and the arithmetic split of 10/7 = 1.43% a year is not the answer: each year's fall applies to a base the year before already shrank, so the annualised figure has to be a little larger in magnitude than the split, 1.49% against 1.43%. And the sign must be negative for a falling multiple.

P4. Singer-Terhaar at two integration weights (US investor, $). A frontier market has a 26.0% dollar volatility, a 0.55 correlation with the global investable market and a 0.50 point illiquidity premium. The global Sharpe ratio is 0.28 and the risk-free rate is 4.00%. Give the expected return at integration weights of 0.60 and 0.90, and say which is the more defensible starting point for a market with active capital controls.

Solution. Integrated premium: 0.55 × 26.0 × 0.28 = 4.004 points. Segmented: 26.0 × 0.28 = 7.280 points. At φ = 0.60: 0.60 × 4.004 + 0.40 × 7.280 + 0.50 = 5.8144 points, giving 4.00 + 5.8144 = 9.8144%. At φ = 0.90: 0.90 × 4.004 + 0.10 × 7.280 + 0.50 = 4.8316, giving 8.8316%. Capital controls are the clearest single piece of evidence for segmentation, so 0.60 is the more defensible starting point, and the 0.98 point difference between the two answers is the cost of getting that judgment wrong.

P5. De-smooth three reported series (India, ₹). For first-order autocorrelations of 0.30, 0.45 and 0.70, give the multipliers that convert a reported volatility and a reported correlation into their de-smoothed versions. Then de-smooth a reported 5.2% volatility at α = 0.45.

Solution. The volatility multiplier is √((1+α)/(1−α)) and the correlation multiplier is 1/√(1−α²). At 0.30: 1.362770 and 1.048285. At 0.45: 1.623688 and 1.119785. At 0.70: 2.380476 and 1.400280. The 5.2% series at α = 0.45 de-smooths to 5.2 × 1.623688 = 8.443179%. The correction accelerates: going from 0.45 to 0.70 lifts the volatility multiplier from 1.623688 to 2.380476, half as much again, which is why a series with high autocorrelation should be treated as unmeasured rather than as measured with a small error.

P6. Rolldown on a seven-year bond (India, ₹). A seven-year G-sec is issued at par with a 5.00% annual coupon. The six-year point on the curve sits at 4.80% and the curve does not move. Compute the one-year total return.

Solution. After one year it is a six-year bond priced at 4.80%: discounting six coupons of 5.00 and the 100 principal at 4.80% gives 101.021664. The one-year total return is 5.00 + 1.021664 = 6.021664%, or 102 basis points above the yield from a 20 basis point roll. The size of the rolldown is roughly duration times slope, so a longer bond on the same slope earns more of it, and an inverted curve makes the term negative.

P7. A currency path from parity (India and US, ₹ per $). On a hypothetical set of inputs, not the levels used earlier: expected inflation is 6.2% in India and 2.1% in the United States, and spot is ₹83.00 to the dollar. Give the annual expected depreciation and the projected spot after four years.

Solution. (1.062/1.021) − 1 = 4.015671% a year. After four years, 83.00 × 1.04015671⁴ = 97.156797. The simple difference of 4.1 points overstates the correct 4.02%, and the error grows with the foreign inflation rate the ratio divides by: at 20% against 2% the difference method gives 18.00% where the ratio gives 17.647059%, an overstatement of 0.35 points a year.

P8. A Taylor prescription with its error band (US, $). Neutral real rate 0.90%, current inflation 3.40%, target 2.00%, output gap minus 0.80 points. The policy rate is 4.25%. Give the prescription, the stance, and the error band implied by a plus or minus 0.60 range on the neutral rate, plus or minus 0.15 on inflation and plus or minus 1.20 on the gap.

Solution. 0.90 + 3.40 + 0.5 × 1.40 + 0.5 × (−0.80) = 4.60%. The policy rate of 4.25% is 0.35 points below the prescription, so policy reads as mildly accommodative. The band is 1.00 × 0.60 + 1.5 × 0.15 + 0.5 × 1.20 = 1.425 points, which is four times the size of the stance being diagnosed. The honest report is that the rule cannot distinguish this policy setting from neutral.

P9. Shrink three correlations (India, ₹). Sample correlations from an Indian three-asset panel are 0.72, 0.08 and minus 0.12. Compute the constant-correlation target and the shrunk values at intensities of 0.20 and 0.40, and say what happens to the smallest sample correlation.

Solution. The target is the mean, (0.72 + 0.08 − 0.12)/3 = 0.226667. At δ = 0.20: 0.6213, 0.1093 and minus 0.0507. At δ = 0.40: 0.5227, 0.1387 and 0.0187. The negative correlation crosses zero somewhere between the two intensities, which is the visible cost of shrinkage: it removes a diversification benefit the sample claimed. Whether that benefit was real or was sampling noise is exactly the question the shrinkage intensity is answering.

P10. A cap rate that falls (US, $). A US property yields a 6.20% cap rate, its net operating income is expected to grow 3.10% a year, and cap rates are expected to compress from 6.20% to 5.60% over six years. Compute the expected return and say what makes the answer fragile.

Solution. The cap-rate effect is (6.20/5.60)^(1/6) − 1 = +1.710848%, positive because a falling cap rate is a rising value. The expected return is 6.20 + 3.10 + 1.710848 = 11.010848%. It is fragile because 1.71 of the 11.01 points, about one point in six, rests on a forecast that cap rates compress by 60 basis points, and cap rates move with real rates. An assumption set that has cap rates compressing while also assuming rates stay high is internally inconsistent, and the compression term is the first place to look when a real-asset line breaks its sanity range.

P11. A high-yield expected return (US, $). A US high-yield bond yields 6.80%, its annual default probability is 1.20% and loss given default is 65%. The spread over the government curve is 210 basis points. Give the expected return and the share of the spread that is expected loss.

Solution. Expected loss is 1.20% × 65% = 0.78 points, so the expected return is 6.80 − 0.78 = 6.02%. Expected loss is 0.78/2.10 = 37.142857% of the spread. As credit quality falls the loss share of the spread rises sharply: it was 9.17% on the Indian AAA and 30.00% on the US BBB. That progression is why using yield as expected return does least damage exactly where it is least needed and most damage on the assets where the credit decision actually matters.

P12. The weight sensitivity of a small assumption change (India, ₹). Two Indian sleeves: a risky one at 9.00% with an 18% standard deviation and a safer one at 6.00% with 7%, correlation 0.20, risk-free rate 4.50%. Compute the tangency weights, then raise the risky asset's expected return by 80 basis points and recompute.

Solution. Solving Σ⁻¹(μ − Rf·1) and renormalising gives 32.90% and 67.10%. After the 80 basis point bump the weights are 38.64% and 61.36%, a move of 5.73 points in the risky asset from a change well inside its estimation error. Two assets with a low correlation are about as gentle a case as exists, and the effect is still seven times the size of the input change. Adding assets, or raising correlations, makes it worse.


Applied mini-project

Build a five-asset assumption table for one market and find the input the portfolio is most sensitive to. Budget about three hours. Everything you compute must reconcile and everything you cite must be traceable to a named, dated primary source.

Step 1: choose and scope (about 15 minutes). Pick one market, India or the United States, and five asset classes a real mandate could hold. Write down the horizon in years, the currency, the investor's tax status, and whether your returns are arithmetic or geometric. Stating those four at the end instead of the start is how assumption sets become internally inconsistent.

Step 2: build the bond legs from blocks (about 30 minutes). For each fixed-income sleeve, build the stack: real risk-free rate, inflation premium, maturity premium, credit premium, liquidity premium, tax effect. Reconcile the sum to the index's quoted yield and record the residual, which must be diagnosed rather than plugged above about 15 basis points. Then subtract expected credit loss, showing the default probability and loss given default you used and where they came from.

Step 3: build the equity leg two ways (about 40 minutes). Run a Grinold-Kroner decomposition with every component sourced: dividend yield and net share change from the index provider's factsheet, inflation from a breakeven or a forecasters' survey, real earnings growth from your own assumption with its reasoning written down, and a repricing term from a stated starting and ending multiple. Then run a structurally different second route, either an implied equity risk premium on a clean risk-free rate or a Singer-Terhaar blend at a stated integration weight. Report the gap and attribute it component by component. Do not average them.

Step 4: build the real-asset and remaining legs (about 25 minutes). Cap rate plus net-operating-income growth plus the annualised cap-rate effect. For any appraisal-valued sleeve, estimate the first-order autocorrelation of its reported series, state it and the sample it came from, and apply both de-smoothing corrections before the volatility or correlation goes near your matrix.

Step 5: assemble and stress-test the matrix (about 30 minutes). Build the correlation matrix from a stated history, recording the sample period, the frequency and the data source. Run the positive-semi-definite test and print every eigenvalue. Apply constant-correlation shrinkage at an intensity you defend, reporting the smallest eigenvalue and the condition number before and after. Then run each line against the sanity ranges and record every breach with a fix or a stated reason.

Step 6: run the optimiser and rank the sensitivities (about 25 minutes). Compute the tangency portfolio, unconstrained and long-only, at a stated risk-free rate. Bump each expected return in turn by 80 basis points, re-solve, and tabulate the total absolute weight movement per bump. The top of that ranking is the single input your portfolio is most sensitive to, quantified.

Step 7: write the memo (about 15 minutes). Two pages. Page one: the table, with every line's source and pull date. Page two: which input the portfolio is most sensitive to and by how much, why you believe your value for it, and the falsification test you will run in six months, naming the observable and the threshold that would make you revise.

Rubric, 20 points. Pass at 16, with no zero on any row.

#Criterion0123
1Scope stated first (horizon, currency, tax, arithmetic or geometric)absentpartialall four, before the buildall four, and one is shown constraining a later choice
2Bond legs reconciled to quoted yields (Step 2)not attemptedbuilt, no reconciliationreconciles, residual reportedreconciles under 15 bp, expected loss subtracted with sources
3Equity leg, two independent routes (Step 3)one routetwo routes, gap not attributedgap attributed component by componentattributed, one route chosen, choice defended
4De-smoothing applied where it belongs (Step 4)not appliedapplied with an assumed alphaalpha estimated from the series, both corrections appliedplus the weight effect of the correction quantified
5Matrix validity and shrinkage (Step 5)no eigenvalue testtest runshrinkage applied, intensity defendedplus smallest eigenvalue and condition number, before and after
6Sanity ranges (Step 5)not runrun, breaches ignoredevery breach fixed or explainedplus one breach traced to its cause in the build
7Sensitivity ranking (Step 6)not runrun for one inputall five bumped and rankedranked, with the top input's economics explained
8Sourcing and datingundated or secondarymostly primary, some undatedevery input primary and datedplus each perishable figure carries its refresh trigger
9Falsification test (Step 7)absentvaguenamed observable and thresholdplus the date it becomes visible and what you would change
10Honesty of the memofalse precisionsome caveatsassumptions named, limits statedplus the one number you would not defend, and why

Any row whose underlying artefact does not reconcile scores zero regardless of how well the memo reads. A table that does not tie is a different table from the one you are describing, rather than the same table carrying a small error.


Reading & resources

Core (do these).

  • Grinold, R. and Kroner, K. (2002), "The Equity Risk Premium," Investment Insights, Barclays Global Investors: the primary source for the decomposition, short and clearer than every textbook summary of it. [Free] [Intermediate]
  • Singer, B. and Terhaar, K. (1997), Economic Foundations of Capital Market Returns, Research Foundation of the Institute of Chartered Financial Analysts: the primary source for the integration framework, worth reading for how carefully it states what the integration weight is and is not. [Free] [Intermediate]
  • Ledoit, O. and Wolf, M. (2003), "Improved Estimation of the Covariance Matrix of Stock Returns," Journal of Empirical Finance, and their 2004 Journal of Portfolio Management paper: the shrinkage estimator, with the derivation of the optimal intensity. [Paid] [Advanced]
  • Ilmanen, A., Expected Returns (Wiley, 2011): the best single book on this subject. Read the chapters on the equity premium, the bond term premium and the illiquidity premium first. [Paid] [Intermediate to Advanced]
  • CFA Institute Level III readings on capital market expectations: the framework, the historical-estimate defects and the forecasting-bias catalogue follow the exam's own structure, and the curriculum is the reference to check yourself against. [Paid] [Intermediate]

Going deeper.

  • Chopra, V. and Ziemba, W. (1993), "The Effect of Errors in Means, Variances and Covariances on Optimal Portfolio Choice," Journal of Portfolio Management, and Michaud, R. (1989), "The Markowitz Optimization Enigma," Financial Analysts Journal: the two papers behind the opening argument above. [Paid] [Intermediate]
  • Geltner, D. (1991 and 1993) on unsmoothing appraisal-based real-estate returns: the source of the de-smoothing correction used above, and the place to go before applying it to any series with an unusual autocorrelation structure. [Paid] [Advanced]
  • Taylor, J. (1993), "Discretion versus Policy Rules in Practice," Carnegie-Rochester Conference Series on Public Policy, 39, 195-214: twenty pages, and the rule as its author actually framed it, which is more modest than its later use. [Free] [Intermediate]
  • Damodaran, A., "Equity Risk Premiums: Determinants, Estimation and Implications," updated annually: the implied-premium route used as the cross-check above, with the spreadsheets. [Free] [Intermediate]

Data and assumption sets (free).

  • J.P. Morgan Long-Term Capital Market Assumptions, BlackRock Capital Market Assumptions, Vanguard's annual economic and market outlook, and Research Affiliates Asset Allocation Interactive: four published sets, free, disclosing components in varying detail, and the ones the mini-project needs. Pull two, date them, and run the component comparison. [Free] [Intermediate]
  • Reserve Bank of India Database on the Indian Economy and CCIL (ccilindia.com) for G-sec yields, policy rates and the reference exchange rate; niftyindices.com and bseindia.com for index dividend yields, price-to-earnings ratios and total-return variants. [Free]
  • FRED (fred.stlouisfed.org): DGS10 for the US ten-year, DFII10 for the real rate, T10YIE for breakeven inflation, and the Survey of Professional Forecasters for long-horizon inflation expectations. [Free]
  • NCREIF and MSCI real-estate indices, and the Indian REITs' own annual reports and investor presentations, for cap rates, net operating income and lease escalation terms from the source. [Free]

Do this, not just read. Download one published assumption set and one index factsheet for the same market, and try to rebuild the publisher's equity number from the factsheet's dividend yield and price-to-earnings ratio. You will not succeed, and the amount by which you miss is the publisher's undisclosed growth and repricing view.


Teach it back & journal

Feynman prompt. Explain to a trustee who has just been handed two conflicting equity forecasts, 6.6% from one adviser and 4.8% from another, why both numbers are honest and why the difference is almost entirely one line neither adviser mentioned. Walk through the decomposition out loud: the income return including buybacks, the inflation assumption, the real growth assumption, and the valuation-change term. Then show that the first three differ by 0.15, 0.20 and 0.40 points while the fourth differs by 1.35, and say what the adviser who published a zero valuation term has actually claimed. Finish by explaining why you would not recommend splitting the difference at 5.7%, and what you would ask each adviser instead. You have taught it if the trustee, unprompted, asks which of the two starting price-to-earnings ratios is the one on today's screen.

Journal prompt. Take one number you currently rely on, an expected return, a hurdle rate, a long-run growth assumption, anything sitting inside a decision you have made or will make, and try to decompose it. Write down each component, where it came from, and the date you last checked it. Then run two tests. Does the sum reconcile to something observable, a quoted yield or an index factsheet figure or a published cap rate? Does every component sit inside a range you would defend in front of somebody who disagreed? Note honestly which components you could not source at all, because those came from a conference, a memory or a colleague's spreadsheet, and they are where the error is. Then write the falsification test you should have written when you first adopted the number: the observable, the threshold, and the date by which you will know. Close with one sentence on what you will do differently the next time somebody hands you a single figure with no components behind it.


This module's flashcards and mastery quiz are wired into the app: see the node's Quiz and Reviews.

Advertisement

The gate

The module's flashcards and its quiz are in the app. The quiz is the gate: you need 85% to pass it, and the next module opens when you do.

Terms this module defines