How conflicting return assumptions and risk models create unintended portfolio bets
An investor rarely gets every portfolio input from one coherent source. Long-term return assumptions – often called capital-market assumptions (CMAs) – may come from a research provider, an adviser, or the investor’s own valuation work. Volatility, correlations, and factor exposures may come from another model or portfolio tool. Once combined in an optimizer, they become parts of the same investment model.
A return forecast may reward a modelled risk differently from the baseline factor premia, or include return the declared pricing map cannot represent. Neither difference proves the forecast wrong but if the mismatch is not identified, the optimizer can turn it into an unintentional portfolio. In this post I show two separate sources of disagreement, then test how each affects allocation.
Let’s say your long-term assumptions state that high-yield bonds should earn 4.5% above cash. Your risk model maps the same asset as 0.4 units of equity risk and 1.0 unit of credit risk. Priced at your baseline factor premia those exposures imply only 3.1% return. Then, where did the missing 1.4% come from?
I use a stylized example below to illustrate the diagnostic, with all returns expressed as annual excess returns over a common cash benchmark. The comparison assumes that the factor model is intended to explain expected returns as well as risk. If the model is used only to estimate covariance, a gap between the return forecast and the factor-implied return is not necessarily an inconsistency.
One residual, two diagnoses
Let contain the asset forecasts, the exposures, and the chosen baseline factor premia – here 4% for equity and 1.5% for credit. The first diagnostic is the baseline-premium residual, which tests agreement with those factor prices:
The baseline-implied return is , what each asset earns if the factors are priced at baseline. High yield, for instance, carries 0.4 of equity risk and 1.0 of credit, so it implies – against a 4.5% forecast, a baseline residual of 1.4%. Real estate implies the same 3.1% and leaves 1.3%. Equities map only to the equity factor and imply their 4% exactly.
| Asset | Equity beta | Credit beta | Return assumption | Baseline-implied | Anchor-fit | Baseline residual | Spanned repricing | Anchor-fit residual |
|---|---|---|---|---|---|---|---|---|
| Global equities | 1.0 | 0 | 4% | 4% | 4% | 0% | 0% | 0% |
| High-yield bonds | 0.4 | 1.0 | 4.5% | 3.1% | 4.5% | 1.4% | 1.4% | 0% |
| Listed real estate | 0.7 | 0.2 | 4.4% | 3.1% | 3.38% | 1.3% | 0.28% | 1.02% |
The two baseline residuals are similar by design. Whether they share a single explanation is the question.
Ask whether any pair of factor premia can reproduce all three forecasts. Global equities fixes the equity premium at 4%. High yield then fixes credit premia:
These two assets are the anchors, and by construction they are fit exactly — which is why their anchor-fit returns equal their forecasts and their anchor-fit residuals are zero. Only real estate, left out of the anchoring, can miss. At the anchored prices it earns not its 4.4% forecast, leaving 1.02% unexplained under that pricing map. So under Eq/HY anchoring, high yield’s entire 1.4% is attributed to credit repricing – 2.9% rather than 1.5%. That is a substantial repricing to challenge, but it requires no new factor. Real estate’s 1.3% splits into 0.28% of the same repricing and a 1.02% anchor-fit residual.
Those last three columns are one identity read across the table. The anchored decomposition is
with and : the baseline residual equals spanned repricing plus anchor-fit residual, row by row. For real estate, . The first term is disagreement over the prices of modelled risks; the second is what survives after the anchors are fit. Those two anchors pin the premia exactly because two assets fix two factors – a feature of the choice rather than evidence that equities and high yield are perfectly priced. Anchor on a different pair and the same inconsistency moves elsewhere.
When the residual becomes a bet
A disagreement matters only when it changes what the portfolio owns. Hold the covariance matrix and constraints fixed, and vary only the expected-return vector. Run 1 uses the original return assumptions. Run 2 removes real estate’s 1.02% anchor-fit residual and nothing else – it still accepts the 2.90% credit price the equity and high-yield forecasts imply. Run 3 goes further, replacing that fitted 2.90% credit premium with the baseline 1.50%.
A few extra assumptions I made for the optimizer runs:
- Factor volatilities are 16% for equity factor and 6% for credit factor, with 0.3 correlation.
- Idiosyncratic volatilities are 2%, 4%, and 8% for equities, HY, and RE.
- Each run solves with , long-only and fully invested weights, and a 60% cap per asset.
| Portfolio result | Original (Run 1) | Anchored span fit (Run 2) | Baseline factor-implied (Run 3) |
|---|---|---|---|
| Global equities | 0% | 40% | 60% |
| High-yield bonds | 60% | 60% | 40% |
| Listed real estate | 40% | 0% | 0% |
| Expected excess return | 4.46% | 4.30% | 3.64% |
| Volatility | 11.06% | 12.10% | 13.23% |
| Sharpe ratio | 0.403 | 0.355 | 0.275 |
The first change, Run 1 to Run 2, eliminates real estate. That position depended on a return the anchored pricing map could not express. The second change from Run 2 to Run 3 shifts 20 percentage points from high yield to equity. That position depended on disagreement about the price of credit. These allocation changes are the test itself.
A few features of the table are worth flagging. Volatility climbs from left to right even as expected return falls. It looks backwards until you follow the weights: stripping out the residual return pushes the optimizer into equities, the highest-volatility factor, while the 60% cap forces corner portfolios. Because every figure is measured over cash, the last row is a model-implied ex ante Sharpe ratio.
Risk enters here for the first time, and it is built from the same . The covariance matrix is – the exposures that price each asset in also channel the factor covariance , while carries the asset-specific volatilities. That shared is what makes a return residual consequential. A residual lifts an asset’s expected return but it’s not connected to any factor exposure, so it never enters the systematic block ; its only risk charge is the diagonal in which in principle is diversifiable. The 1.02% anchor-fit residual then looks like return you can get for a small, diversifiable cost, which is why real estate gets 40% allocation in Run 1 and vanishes when the residual is removed from the return vector.
That the optimizer charges the residual only diagonal risk is the exact danger. If real estate’s 1.02% is really compensation for a systematic exposure the pricing map omits then its true risk is correlated, and the model has booked it in the wrong place. The position looked efficient only because and described its source in incompatible terms.
Make the residual intentional
Unexplained does not mean illegitimate, it’s simply undeclared. A residual might reflect a deliberate valuation view, manager skill, liquidity compensation, a missing systematic exposure, structural complexity, or plain optimism. The diagnosis tells you where to look; the response is a choice among four treatments, and the work before that choice is making sure the residual is real.
First, rule out data artifacts. Normalise the inputs before trusting any gap: align total versus excess returns, cash, currency and hedge carry, horizons, leverage, financing, and implementation costs. If a residual survives this, it’s worth explaining.
Then separate the two maps. Decide whether the model is a risk map, a pricing map, or both. A full implementation may use in and a narrower in . Only against a declared pricing map does “off-span” mean anything. For a larger universe, define it through a weighted projection. Assuming has full column rank,
and the baseline-premium residual separates precisely as .
The projection is only as meaningful as its metric . The metric should reflect confidence in the expected-return estimates. If is the covariance of long-term-return forecast errors, confidence weighting sets . Or it can an inverse of idiosyncratic asset volatilities.
With a real residual isolated, every material one admits four defensible treatments:
- Revise the expected return.
- Remodel risk to include the missing exposure.
- Retain it as an explicit view, with a confidence and a residual-risk assumption.
- Constrain its allocation effect when full integration is impractical.
The second treatment is a modelling question: if a genuine exposure is missing, add or remodel it. For listed real estate that means investigating rates and duration, term risk, leverage and credit, property sector and so on.
The third treatment allows you to scale the residual based on your conviction. For the anchored example, letwith a confidence weight; a larger portfolio applies the same logic to .
Which points to a practical rule – you need to record why every retained off-span view exists, assign it explicit confidence, and impose an allocation or active-risk limit whenever it moves any portfolio weight by more than X% or creates active risk exceeding Y% of the volatility target. Confidence-weighted views follow the logic of Black and Litterman. The factor-span geometry and its metric dependence are established in the alignment literature1.
Conclusion
Two assets began with nearly identical baseline-premium residuals. High yield’s 1.40% opened a question whether credit factor should earn 1.5% or 2.9%. Real estate’s residual clearly sat outside the model, and left the reason open: a missing exposure or an investor’s custom view.
Consistency is a portfolio-design property – a perfectly aligned forecast can still be wrong, while a deliberate and controlled inconsistency can be defensible. The aim is not to eliminate everything the risk model cannot explain. It is to ensure the optimizer never acts on an unexplained return by accident.
- Soupé, F., X. Lu and R. Leote de Carvalho (2019), “Factor investing: get your exposures right!”
4. Elkamhi, R., J. Lee and M. Salerno (2022), “Factor Investing Using Capital Market Assumptions.”
5. Ahmed, S., Z. Bu, L. Symeonidis and D. Tsvetanov (2023), “Which factor model? A systematic return covariation perspective.” ↩︎
Leave a comment