Risk and Portfolio

Signal research for alpha · Page 6 of 6

Risk and Portfolio

A signal that survived five pages still isn't a portfolio. Markowitz says how to combine forecasts with risk. Estimation error says why the textbook version fails. Costs and capacity decide what you actually keep.

  1. Page 1Factor models
  2. Page 2Idea to signal
  3. Page 3Does it predict?
  4. Page 4Trying to kill it
  5. Page 5Luck or skill
  6. Page 6 · hereRisk and portfolio
Running signal residual momentum Foil short-term reversal Covariance experiments run live. Cost figures are illustrative. Hover the dotted words for definitions.
Keep scrolling

The theory

Return per unit of risk

Markowitz turned portfolio choice into one optimization: the most expected return for each level of variance.

Each asset is a point

Plot every asset by its volatility and expected return. Up and to the left is better.

On its own, no asset here is clearly best. Higher return comes with higher volatility.

Mixing bends the line

Combine two assets and the portfolio traces a curve. Unless they're perfectly correlated, the curve bulges left: the mix is less volatile than its parts.

That bulge is diversification. Drag the correlation and watch it grow.

The efficient frontier

With all six assets, the best achievable mixes form the efficient frontier. Nothing sits above it.

The green point maximizes return per unit of risk: the highest Sharpe ratio on the curve.

The answer is one line

Unconstrained, the optimal weights are w ∝ Σ⁻¹μ: expected returns, adjusted by the inverse of the covariance matrix.

Both inputs are estimates. The inverse of a noisy matrix is very noisy. That's the next chapter.

Interview checkΣ⁻¹ rewards assets that look like hedges for each other. If those hedges are estimation noise, the optimizer piles into them.
Six assets · expected return vs volatility, % a year
Best Sharpe
—
Its volatility
—
Lowest risk mix
—
volatility

The problem

The optimizer maximizes your errors

With many stocks and limited history, the sample covariance matrix is mostly noise in exactly the directions the optimizer likes best.

Too many numbers to estimate

50 stocks need 1,275 covariances. Five years of monthly data gives 60 observations per stock.

The black line shows the true eigenvalues: one market factor, then 49 equal. The orange bars are what the sample estimates. The small ones come out far too small.

More history helps slowly

Drag the history longer. The sample eigenvalues tighten toward the truth, but only as the number of months grows well past the number of stocks.

50 stocks. Each move simulates a fresh return history.

Predicted risk vs real risk

Build the minimum-variance portfolio from the sample matrix. It loads on the directions with the smallest estimated variance, which are the most underestimated.

At 60 months the portfolio's real volatility is far above what the model promised. Risk targets based on it will be badly wrong.

Alpha errors make it worse

Expected returns are estimated even worse than covariances. Small changes in μ swing the weights wildly, because Σ⁻¹ amplifies them.

Say it this way"Unconstrained mean-variance is an error maximizer. I'd fix the covariance with shrinkage or a factor model, and shrink alphas with the IC before they reach the optimizer."
50 stocks · sample eigenvalues, sorted, log scale
Sample estimate Truth
Months ÷ stocks
1.2
Smallest eigenvalue
0%
of true value
Min-var predicted vol
0%
Min-var real vol
0%
0× predicted

The fix

Give the matrix structure

Pull the noisy sample estimate toward a structured one. The structure you already have is page 1's factor model.

Shrinkage

Blend the sample matrix with a structured target: Σ̂ = δ·F + (1 − δ)·S. Ledoit and Wolf showed how to pick δ from the data.

Here the target F is a one-factor model fitted to the same 60 months. Drag δ and watch predicted and real risk close in on each other.

0 is the raw sample matrix. 1 is the pure factor model.

Factor risk models

A factor model writes covariance as B ΣF Bᵀ + D: exposures, a small factor covariance, and a diagonal of specific risk.

For 3,000 stocks that's a few hundred thousand numbers instead of four and a half million, and the ones left are well estimated.

Decompose the book's risk

The same model splits a portfolio's variance into factor risk and specific risk.

A neutralized residual momentum book should be almost all specific risk: bets on stocks, not on the market or sectors. An unneutralized momentum book carries much more factor risk.

Page 1, one last time

B and F from page 1 now do three jobs: define residual returns, neutralize scores, and build the risk model.

Rule of thumbUse the same factor model to neutralize the signal and to measure the book's risk. If they disagree, the optimizer will quietly trade the difference.
60 months · 50 stocks · minimum-variance portfolio
δ
0.00
Predicted vol
0%
Real vol
0%
Real ÷ predicted
0
1.0 is honest
Two wins at once. As δ rises, real risk falls from about 5.7× the forecast to about 1.3×, and real risk itself drops toward the best achievable.
Numbers to estimate · 3,000 stocks

Sample covariance

Every pair: N(N+1)/2

4,501,500

40-factor model

Exposures N×K + factor covariance K(K+1)/2 + specific risk N

123,820
Σ = B ΣF Bᵀ + D
And exposures are mostly observed. In a Barra-style model, B comes from characteristics, so it isn't estimated from returns at all. Page 1.
Share of portfolio variance · illustrative
Residual momentum, neutralized
9%specific 91%
Plain momentum, unneutralized
factor 58%specific 42%
Factor risk Specific risk
Why it matters. Factor risk is the part you could have hedged with futures or ETFs. A book that's mostly factor risk is mostly a factor bet, which page 1 said is cheap to buy.

The implementation

What you actually keep

Scores become alpha forecasts, forecasts become trades, and trades cost money. The net number is the only one that counts.

Score to alpha

The optimizer needs expected returns, not z-scores. Grinold's rule converts one to the other: α = IC × σ × z.

The IC shrinks the forecast toward zero, which fixes most of the alpha-error problem from chapter 2. Volatility scales it, so a jumpy stock gets a bigger expected move for the same score.

Turnover times cost

Annual cost is roughly turnover times the cost of each trade. Residual momentum turns over about 3 times a year. Short-term reversal turns over about 18 times.

Reversal has the bigger gross alpha and the smaller net. Drag the cost per trade.

Plus 10 bps of market impact at $100M.

Capacity

Market impact grows with trade size, roughly with the square root of what you trade relative to volume. More capital means more impact per trade.

Each line is net alpha as assets grow. Reversal hits zero within the first billion or so. Residual momentum lasts into the tens of billions.

Constraints cost signal

Every constraint, from sector limits to long-only, stops the portfolio from following the signal exactly. The transfer coefficient measures how much survives.

Realized IR ≈ TC × IC × √breadth. A long-only version of the same signal can lose more than half its IR before a single cost.

The whole gauntlet

Residual momentum's run through all six pages, in one tree.

Say it this way"It has a behavioral story, an IC of 0.03 with t of 6.7, alpha that survives FF3 plus momentum, it holds out of sample and across slices, has p ≈ 0.002 against a 1,000-run null, and keeps most of its alpha net of costs at reasonable size."
Grinold's alpha scaling · IC fixed at 0.03
+1.8%α = 0.03 × 30% × 2.0
Forecast alpha per year, by score
Notice the scale. Even an extreme score maps to a forecast of a few percent a year. That modesty is what keeps the optimizer from betting the book on one name.
At $100M · % a year, illustrative
Residual momentum · turnover 3× a year
Short-term reversal · turnover 18× a year
Net alpha vs assets · % a year, illustrative
Residual momentum Short-term reversal
Residual momentum net
0
Reversal net
0
Impact per trade
0
Transfer coefficient by constraint · illustrative
IRrealized ≈ TC × IC × √breadth
Long-only hurts most because half the signal is negative scores, and you can only act on them by not owning stocks you'd hold at zero weight anyway.
Residual momentum · six gates
Is residual momentum worth trading?
1 · Factor lens
Built from page 1's residualsPass
2 · Idea to signal
Behavioral story, winsorized, neutralizedPass
3 · Predicts
IC 0.03, t 6.7, monotonic, slow decayPass
4 · Survives attack
Increment over momentum fails 300-variant correctionMixed
5 · Not luck
p ≈ 0.002 single test; pipeline calibratedPass
6 · Tradable
Low turnover, large capacity, specific riskPass
Next · drill The Research Desk →