import numpy as np
import statsmodels.api as sm #package for the regression
from datetime import datetime
import pandas as pd
A Multi-Risk Factor Model (MRF) of Asset Returns
Instructor: Lorenzo Garlappi © 2025*
* These notes are based on Rob Heinkel and Bill Tilford’s lecture notes. I am grateful to them for generously sharing this material with me.
Outline
1. The CAPM and the Multi-Risk Factor (MRF) Model
2. Risk-enhancing and Insurance Factors
3. The MRF Model: ”High’’ Risk and “Low’’ Risk Assets
4. Estimating Betas and Lambdas in the CAPM and Multi-Risk Factor (MRF) Model
5. Chen, Roll and Ross (CRR) Lambda Estimates
1. The CAPM and the Multi-Risk Factor (MRF) Model
The CAPM Return Generating Function:
\[ r_{s}=E[r_{s}]+\beta_{s}\left(r_{m}-E[r_{m}]\right)+e_{s} \]
In this model, the only relevant risk factor is the unexpected return on the market portfolio (of stocks). But, what about risks like interest rate changes and inflation? The Multi-Risk Factor (MRF) Model allows us to define several sources of risk that we think are relevant.
The MRF Return Generating Function (RGF) for asset \(s\) is assumed to be:
\[ r_{s}=E[r_{s}]+\beta_{1 s} I_{1}+\beta_{2 s} I_{2}+\ldots \ldots+e_{s} \]
where the risk factor shocks, \(I_{n}\), have mean zero: \(E[I_{n}]=0\).
We can interpret this process as: The unexpected return on stock \(\mathrm{s}, r_{s}-E[r_{s}]\), is composed of the systematic unexpected return, \(\beta_{1 s} I_{1}+\beta_{2 s} I_{2}+\ldots \beta_{N s} I_{N}\), plus the unsystematic unexpected return, \(e_{s}\).
What are the betas? The betas for stock \(\mathrm{s}\), reflect the stock return’s sensitivity to the risk factor shocks. If \(\beta_{1 s}=2\), for example, it means that a \(1 \%\) unexpected shock to risk factor \(1\left(I_{1}=.01\right)\) will cause a \(2 \%\) unexpected return to stock \(s\).
What is \(E[r_{s}]\) ? A “no arbitrage” argument (this is the essence of Arbitrage Pricing Theory, or APT) can be used to show that \(E[r_{s}]\) must be linear in the betas:
\[ E[r_{s}]=r_{f}+ \beta_{1 s}\lambda_{1} + \beta_{2 s} \lambda_{2} + \ldots + \beta_{N s} \lambda_{N} \]
where \(\lambda_{1}\) is “the market price of risk” for risk factor 1.
So, the MRF model is very much like the CAPM, except that it allows more than one risk factor to be assumed to influence the returns of any stock. If a particular risk factor, say risk factor 3 , does NOT impact the return on a particular stock, say stock \(s\), that corresponds to assuming \(\beta_{3 s}=0\).
The return generating process and expected return formulae apply to portfolios of assets ( \(p\) ) as well as individual assets:
\[\begin{align} r_{p}&=E[r_{p}]+\beta_{1 p} I_{1}+\beta_{2 p} I_{2}+\ldots .+e_{p} \\ E[r_{p}]&=r_{f}+\beta_{1 p}\lambda_{1} + \beta_{2 p} \lambda_{2} + \ldots + \beta_{N p} \lambda_{N} \end{align}\]
where, using \(x_{j}\) as the market-value weighting of asset \(\mathrm{j}\) in portfolio \(\mathrm{p}\) :
\[\begin{align} \beta_{1 p}&=\sum_{j} x_{j} \beta_{1 j} \\ e_{p}&=\sum_{j} x_{j} e_{j} \\ \sigma_{p}^{2}&=\beta_{1 p}^{2} \sigma^{2}\left(I_{1}\right)+\beta_{2 p}^{2} \sigma^{2}\left(I_{2}\right)+\ldots+\sigma^{2}_{e_{p}} \end{align}\]
We will often ignore the \(e_{p}\) and \(\sigma^{2}_{e_{p}}\) terms since we will assume well-diversified portfolios with no unsystematic risk.
What is each lambda \(\left(\lambda_{n}\right)\)? Each risk factor has its own lambda, which represents the market price of risk for that risk factor. The “market price of risk” for a risk factor is what investors think is a “fair” expected return to demand for exposing their financial portfolio to one unit ( \(\beta_{n p}=1\) ) of risk to risk factor \(n\). So, investors determine a stock’s expected return by multiplying the stock’s betas (the stock’s “risks”) times the risk factor lambdas, which are the expected returns demanded by investors per unit of risk taken (beta). In other words, if stock \(j\) changes its risk profile from having \(\beta_{n j}=0\) to \(\beta_{n j}=1\), then the change in the expected return for stock \(j\) will be \(\lambda_{n}\).
An example: Suppose \(r_{f}=0.04\), stock \(Q\) has \(\beta_{1 Q}=2\) and \(\beta_{2 Q}=0\) and the market prices of risk are \(\lambda_{1}=0.08\) and \(\lambda_{2}=0.11\). Then, the “fair” expected return on stock \(Q\) is:
\[E[r_Q]=0.04+ 2\times (0.08) + 0\times (0.11) =0.04+0.16+0 =0.20=20 \%\]
Let’s play a bit with Python.
First, import some packages
Here we define a function that compute expected returns given market data on \(r_f\), \(\beta\)’s and \(\lambda\)’s:
#We define the function to calculate the expected return
def compute_expected_return(rf, betas, lambdas):
"""
Calculate the expected return of a stock given market data, rf, betas, lambdas.
"""
return rf + betas @ lambdas
# Example calculation
= 0.04 # Risk-free rate
rf_example = 2 # Beta1 for stock Q
beta1_Q = 0 # Beta2 for stock Q
beta2_Q = 0.08 # Market price of risk for factor 1
lambda1 = 0.11 # Market price of risk for factor 2
lambda2
= np.array([beta1_Q, beta2_Q])
betas = np.array([lambda1, lambda2])
lambdas
# compute expected return
= compute_expected_return(rf_example, betas, lambdas)
expected_return_example
print("The expected return for stock Q is:", expected_return_example*100,"%")
The expected return for stock Q is: 20.0 %
But, then suppose stock \(Q\) undergoes a transformation in its risk profile, and its exposure to risk factor 2 changes from \(\beta_{2 Q}=0\) to \(\beta_{2 Q}=1\). This one unit increase in exposure to risk factor 2 causes investors to change the stock’s expected return from \(20 \%\) to:
# Example calculation
= 1 # Beta2 for stock Q
new_beta2_Q
= np.array([beta1_Q, new_beta2_Q])
new_betas
= compute_expected_return(rf_example, new_betas, lambdas)
new_expected_return_example
print("The new expected return for Stock Q is:", new_expected_return_example*100,"%" )
The new expected return for Stock Q is: 31.0 %
Obviously, the one-unit increase in risk exposure to risk factor 2 caused stock Q’s expected return to increase by \(\lambda_{2}=0.11\), or \(11\%\).
2. “Risk-enhancing” and “Insurance” Factors
Risk-Enhancing and Insurance Factors: Determining the Sign of the Risk Factor Lambda
The market prices of risk \(\left(\lambda_{n}\right)\) may be positive or negative. “Risk enhancing” risk factors are defined by having a positive lambda, while “insurance” factors are those with negative lambdas.
To explain positive and negative lambdas, we tell a total wealth story for all investors. Recall the only CAPM lambda, associated with the stock market return risk factor, is positive: investors demand higher expected returns on stocks with higher betas. We need to understand why some new risk factors have negative lambdas.
Our total wealth can be separated between our non-financial wealth (mostly your human capital, i.e., the present value of your future wage income), which we denote as \(H_{t}\) at date \(\mathrm{t}\), and our financial portfolio value, labeled \(P_{t}\). Our total wealth is, thus, \(W_{t}=H_{t}+P_{t}\).
If \(\mathrm{t}=0\) is today, then \(W_{0}=H_{0}+P_{0}\) and if \(\mathrm{t}=1\) is a year from now, then \(W_{1}=H_{1}+P_{0} \times \left(1+r_{p}\right)\)
Since \(P_{1}=P_{0} *\left(1+r_{p}\right)\)
where \(r_{p}\) is the return on our financial portfolio. As of today, \((\mathrm{t}=0)\), of course, we don’t know what \(r_{p}\) will be (we’ll find out at year-end!).
Denote the change in our total wealth (over the year) as \(\Delta W=W_{1}-W_{0}=\left(H_{1}+P_{1}\right)-\left(H_{0}+P_{0}\right)=\) \(\left(H_{1}-H_{0}\right)+\left(P_{1}-P_{0}\right)=\Delta H+P_{0} \times r_{p}\).
So, \(\Delta W=\Delta H+P_{0} * r_{p}\).
We assume we cannot control the change in our human capital, \(\Delta H\) (but going to UBC helps raise it over the long-term!). But, we do have some say on the reward and risk characteristics of the return on our financial portfolio, \(r_{p}\).
We define a risk factor as being a “risk-enhancing factor” (defined by the risk factor shock \(I_{e}\) ):
If \(\operatorname{Cov}\left(\Delta H, I_{e}\right)>0\), then we call the risk factor a “risk-enhancing factor.”
That is, risk-enhancing factor shocks move in the same direction as human capital. Recall the equation for the return on our financial portfolio:
\[ r_{p}=E[r_{p}]+\beta_{1 p} I_{1}+\beta_{2 p} I_{2}+\ldots . .+e_{p} \]
So, if our financial portfolio has a positive beta to a risk-enhancing factor \(\left(\beta_{e p}>0\right)\) and for the year
we observe \(I_{e}>0\), then \(\beta_{e p} I_{e}>0\) and so this contributes to a higher return on our financial portfolio, \(r_{p}>0\). But, because a risk-enhancing factor has \(v\left(\Delta H, I_{e}\right)>0\), then, when \(I_{e}>0\), pushing up financial portfolio returns, \(\Delta H\) will also tend to be positive (human capital goes up). So, both our financial wealth and our human capital value go up, meaning out total wealth change
\[ \Delta W=\Delta H+P_{0} * r_{p} \]
must be very large (because both components go up at the same time). Of course, that’s fine when both the risk factor shock and the change in human capital are positive. But, it goes the other way too: If \(I_{e}<\) 0 , then we expect \(\Delta H<0\), and, unfortunately, that means total wealth will DROP by a lot.
Thus, risk-enhancing factors add to the volatility of our total wealth. But, investors don’t like volatility to their total wealth, so to get them to invest in assets that move with risk-enhancing factors, investors want higher expected returns. But, this means \(\lambda_{e}>0\) for a risk-enhancing factor.
Thus: Risk-enhancing factor shocks move with non-financial (human capital) wealth; if our financial portfolio is positively exposed to a risk-enhancing factor, then our financial portfolio return, \(r_{p}\), moves with \(I_{e}\); but, we just said \(I_{e}\) moves with \(\Delta H\). So, our financial \(\left(r_{p}\right)\) and non-financial \((\Delta H)\) portfolios move together, meaning our total wealth (non-financial wealth plus our financial portfolio value) is more volatile. We don’t like this, and demand a bigger risk premium (i.e., we demand \(\lambda_{e}>0\) ) to compensate us for the extra risk.
We define a risk factor as being an insurance factor (call its risk factor shock \(I_{i}\) ) if \(\operatorname{Cov}\left(\Delta H, I_{i}\right)<0\). Insurance factor shocks move opposite to non-financial wealth; if our financial portfolio is positively exposed to an insurance factor, then our financial portfolio return, \(r_{p}\), moves with \(I_{i}\); but, we just said \(I_{i}\) moves opposite to \(\Delta H\). So, our financial \(\left(r_{p}\right)\) and non-financial \((\Delta H)\) portfolios move in opposite directions, meaning our total wealth (non-financial wealth plus our financial portfolio value) is less volatile. Investors like this, and so will accept a lower expected return risk premium (i.e., we accept \(\lambda_{i}<\) 0 ) in order to reduce the volatility of our total wealth.
3. The MRF Model: “High” Risk and “Low” Risk Assets
Recall:
And
\[ \Delta W=\Delta H+P_{0} \times r_{p} \]
\[ r_{p}=E[r_{p}]+\beta_{1 p} I_{1}+\beta_{2 p} I_{2}+\ldots \ldots+e_{p} \]
Investors don’t like volatility of their total wealth, but they do like higher expected returns in their financial portfolio (which makes their total wealth grow faster). This is the “risk-reward trade-off” for investors in this model of financial and human capital wealths. We can see the reward and risk equations:
\[ \begin{gathered} E(\Delta W)=E(\Delta H)+P_{0} \times E[r_{p}] \\ \operatorname{Var}(\Delta W)=\operatorname{Var}(\Delta H)+P_{0}^{2} \times \operatorname{Var}\left(r_{p}\right)+2 \times P_{0} \times \operatorname{Cov}\left(\Delta H, r_{p}\right) \end{gathered} \]
\(\operatorname{Var}(\Delta H)\) is outside of our control; but, we can control both \(\operatorname{Var}\left(r_{p}\right)\) and \(\operatorname{Cov}\left(\Delta H, r_{p}\right)\) by which stock (or stocks) we put in our financial portfolio. Focusing on the covariance term, we can plug in the ex-post return generating function for a stock or portfolio of stocks, \(p\), into that covariance term and see the result. Here, assume there are just two risk factors: \(\mathrm{e}\) (risk-enhancing) and \(\mathrm{i}\) (insurance):
\[ \operatorname{Cov}\left(\Delta H, r_{p}\right)=\beta_{e p} \times \operatorname{Cov}\left(\Delta H, I_{e}\right)+\beta_{i p} \times \operatorname{Cov}\left(\Delta H, I_{i}\right) \]
A negative \(\operatorname{Cov}\left(\Delta H, r_{p}\right)\) would reduce our total risk, \(\operatorname{Var}(\Delta W)\), while a positive \(\operatorname{Cov}\left(\Delta H, r_{p}\right)\) would raise our total risk. What determines the sign of this covariance?
The sign of this covariance term in our total risk equation, \(\operatorname{Cov}\left(\Delta H, r_{p}\right)\), depends upon the betas of the portfolio, \(\beta_{e p}\) and \(\beta_{i p}\).
A Risky Portfolio
Suppose \(\beta_{e p}>0\) and \(\beta_{i p}<0\). This is a high risk portfolio because we multiply a positive \(\beta_{e p}>0\) times a positive \(\operatorname{Cov}\left(\Delta H, I_{e}\right)>0\) and a negative \(\beta_{i p}<0\) times a negative \(\operatorname{Cov}\left(\Delta H, I_{i}\right)\). Since both products are positive, risk is high. This portfolio moves with the risk-enhancing factor and against the insurance factor, making it a doubly risky stock. Remember, this financial portfolio is high risk because it moves with the investor’s human capital, making total wealth highly volatile.
A Low-Risk Portfolio
Suppose \(\beta_{e p}<0\) and \(\beta_{i p}>0\). This is a low risk stock because we multiply a negative \(\beta_{e p}<0\) times a positive \(\operatorname{Cov}\left(\Delta H, I_{e}\right)>0\) and a positive \(\beta_{i p}>0\) times a negative \(\operatorname{Cov}\left(\Delta H, I_{i}\right)\). Since both products are negative, risk is doubly low. This portfolio moves against the risk-enhancing factor and with the insurance factor, making it a doubly low-risk stock. Remember, this financial portfolio is low risk because it moves opposite to the investor’s human capital, making total wealth have low volatility.
Risk and Reward Work Together (As Always!)
So, we have established that:
A risk factor (say risk factor 1 ) that moves with human capital, \(\operatorname{Cov}\left(\Delta H, I_{1}\right)>0\) is called a risk-enhancing factor. If stock \(\mathrm{j}\) moves with this risk-enhancing factor (i.e., \(\beta_{1 j}>0\) ) and stock \(\mathrm{j}\) is held in that investor’s financial portfolio, that investor’s it total wealth volatility is higher. But, since investors don’t like more volatile total wealth, they demand a higher expected return on a stock that moves with a risk-enhancing factor, i.e., \(\lambda_{1}>0\). In the expected return equation for stock \(\mathrm{j}\) (see above), a positive \(\beta_{1 j}>0\) and a positive \(\lambda_{1}>0\), when multiplied together, lead to a higher \(E[r_{j}]\). Expected return and risk go in the same direction!
A risk factor (say risk factor 2) that moves against human capital, \(\operatorname{Cov}\left(\Delta H, I_{2}\right)<0\) is called an insurance factor. If stock \(k\) moves with this insurance factor (i.e., \(\beta_{2 k}>0\) ) and stock \(\mathrm{k}\) is held in that investor’s financial portfolio, that investor’s total wealth volatility is lower. But, since investors like lower volatility of total wealth, they also must accept a lower expected return on a stock that moves with an insurance factor, i.e., a factor with \(\lambda_{2}<0\). In the expected return equation for stock \(\mathrm{k}\) (see above), a positive \(\beta_{2 k}>0\) and a negative \(\lambda_{2}<0\), when multiplied, lead to a lower \(E\left(r_{j}\right)\).
Thus: Expected return and risk (volatility of total wealth) go in the same direction.
A Two Risk-Factor Example
Risk Factor One: The percentage change in GDP over the year: \(=I_{1}\) is risk-enhancing: \(\lambda_{1}=.10>0\)
Risk Factor Two: Unexpected Inflation \(I_{2}\) is an insurance factor: \(\lambda_{2}=-0.04<0\)
Assume \(r_{f}=.05\)
And, as always, \(E[r_{p}]=r_{f}+\lambda_{1} \beta_{1 p}+\lambda_{2} \beta_{2 p}\)
Assume stock \(\mathrm{A}\) is doubly high-risk: \(\beta_{1 A}=0.80>0\) and \(\beta_{2 A}=-0.50<0\). Stock \(\mathrm{A}\) moves with a risk-enhancing factor and against an insurance factor.
Assume stock \(\mathrm{B}\) is doubly low-risk: \(\beta_{1 B}=-0.20<0\) and \(\beta_{2 B}=0.20>0\). Stock \(\mathrm{B}\) moves against a risk-enhancing factor and with an insurance factor.
Thus, the expected return of A is:
\(𝐸(𝑟_𝐴)= 0.05+(0.8)\times(0.10)+(−0.5)\times(−0.04)= .15\)
The expected return of B is:
\(𝐸(𝑟_𝐵) = 0.05 + (. 10)(−.2) + (−.04)(. 2) = .022 < r_f\)
Or, using the new inputs in the Python function defined above
#Expected return of stock A
= 0.05 # Risk-free rate
rf_example = 0.8 # Beta1A
beta1_A = -0.5 # Beta2A
beta2_A
= -0.2 # Beta1B
beta1_B = 0.2 # Beta2B
beta2_B
= 0.1 # Factor 1
lambda1 = -0.04 #Factor 2
lambda2
= np.array([beta1_A, beta2_A])
betas_A = np.array([beta1_B, beta2_B])
betas_B
= np.array([lambda1, lambda2])
lambdas
= compute_expected_return(rf_example, betas_A, lambdas)
ER_A = compute_expected_return(rf_example, betas_B, lambdas)
ER_B
# print ER_A and ER_B rounded to two digits
print("The expected return for stock A is:", np.round(ER_A*100, 2),"%")
print("The expected return for stock B is:", np.round(ER_B*100, 2),"% < rf = ", np.round(rf_example*100, 2),"%")
The expected return for stock A is: 15.0 %
The expected return for stock B is: 2.2 % < rf = 5.0 %
Investors know that stock A moves with a risk-enhancing factor (which moves with their human capital) and against the insurance factor (which moves opposite to human capital), that is \(\beta_{1A}>0\) and \(\beta_{2A}<0\); this is doubly risky and so they demand a high expected return on stock \(A\).
Stock B, on the other hand, moves with the insurance factor (\(\beta_{1B}<0\)) and against the risk-enhancing factor (\(\beta_{2B}>0\))
So, it is doubly low-risk, and, because of that, gets an expected return that is even less than the riskless rate. Investors like stock B because it moves opposite to their human capital, reducing their total wealth volatility, and they sacrifice expected return to hold that stock. In fact, on Stock B, they are happy earning an expected return that is LESS than the riskless rate, because of the wealth volatility reduction they achieve.
4. Estimating Betas and Lambdas in the CAPM and Multi-Risk Factor (MRF) Model
We claim that \(\lambda_i = Cov(\Delta H, I_i)\). But we do not really observe \(\Delta H\)! How can we actually estimate \(\lambda\)??
The answer is: we can use financial market data!! If a model is true, then expected returns should be related to betas, through lambdas! This is the essence of every asset pricing model!
The CAPM
We estimate a stock’s (s) beta from a time-series regression:
\[ r_{s}= \alpha_s+ \beta_{m,s} I_m +e_{s}, \]
where \(I_m = r_{m}\). This regression yields the estimate of \(\beta_{m,s}\) (as well as \(\alpha_{s}\)).
Estimate \(\lambda_m\) (there’s only one) from the time series average of market returns, that is \(\lambda_m=\frac{1}{T} \sum_{t=1}^T(r_{m,t}-r_{f})\)
A Multi-Risk Factor Model (with 2 factors)
To estimate the parameters in the MRF Model, we need a two-step regression procedure: we get betas from the first step, which is a sequence of time series regressions for a number of different portfolios and then, second, we do one cross-sectional regression, using the betas from step 1 , to get the lambda estimates in step 2.
1 We estimate a stock’s \(\beta_{1 s}\) and \(\beta_{2 s}\) from a time-series regression:
\[ r_{s}=\alpha_{s} + \beta_{1 s} I_{1} + \beta_{2 s} I_{2} +e_{s} \]
which yields beta estimates \(\hat{\beta}_{1 s}\) and \(\hat{\beta}_{2 s}\) and where \(\alpha_{s}\) will be the stock’s average return (if the risk factors shocks, \(I_{1}\) and \(I_{2}\), actually have means of zero). This regression can be done for individual stocks or portfolios of stocks.
2 Given the beta estimates for a sample of, say, 20 portfolios, and the average returns on those 20 portfolios, \(\operatorname{Avg}\left(r_{p}\right)\), we can do ONE cross-sectional regression with 20 observations:
\[ \operatorname{Avg}\left(r_{p}\right)=\alpha+\hat{\beta}_{1 p} \lambda_{1} + \hat{\beta}_{2 p}\lambda_{2} +e_{s} \]
Where the estimates of the betas came from step one. Then, this regression should yield \(\mu=r_{f}\) and it will provide the estimates of \(\hat{\lambda}_{1}\) and \(\hat{\lambda}_{2}\).
5. Chen, Roll and Ross (CRR) Multi-Risk Factor model
Empirical Test of a 5-Factor MRF Model
CRR form 20 asset portfolios using all the NYSE stocks, based on size (“cap”)
Portfolio #1 is \(5 \%\) of NYSE that are the smallest stocks
Portfolio \(\# 2\) is \(5 \%\) of NYSE that are the next smallest stocks
Portfolio #20 is \(5 \%\) of NYSE that are the largest stocks
CRR assume 5 relevant Risk Factors, measured at a point in time (e.g., month-end):
1 Industrial Production over month t: IP(t)
2 Expected inflation from the start of the month to month-end: \(E_{t}\left(I_{t+1}\right)\)
3 Unexpected Inflation (expected to be zero, by definition): Actual inflation minus expected inflation
4 Interest Risk Premium: BaaRet(t) - LGBRet(t) is the difference between the return on a long term, low grade (BAA) bond portfolio and a long term, high grade (government) portfolio (this difference is inversely related to the “credit spread”). CRR call this URP.
5 Term Structure Risk Premium: LGBRetd(t) - TBRet(t) is the difference between the return on a long term riskless portfolio and a short-term riskless portfolio (this difference is inversely related to the “term spread”, or slope of the term structure). CRR call this UTS.
CRR then define the shocks to the 5 risk factors defined above as \(I_{j} j=1,5\) as something like the percentage change in the risk factor over a period (e.g., one month):
1 Monthly growth in industrial production: \(I_{M P}=\operatorname{Ln}\left[\frac{\mathrm{IP}(\mathrm{t})}{\mathrm{IP}(\mathrm{t}-1)}\right]\)
2 Change in expected inflation: \(I_{D E I}=E_{t}\left(I_{t+1}\right)-E_{t-1}\left(I_{t}\right)\)
3 Unexpected inflation: \(I_{U I}=I_{t+1}-E_{t}\left(I_{t+1}\right)\)
4 Interest Risk Premium: \(I_{U R P} =BAARet(t)-LTGRet(t)\) is the difference between the monthly returns on a low grade (BAA) bond portfolio and a high grade (long term government) portfolio
5 Term Structure Risk: \(I_{U T S}=LTGRet(t)-TblRet(t)\) is the difference in returns on a long term riskless portfolio and a short term riskless portfolio.
What Causes the Shocks?
\(I_{M P}>0\) occurs when industrial production increases over the previous month
\(I_{D E I}>0\) occurs when inflation expectations for this month are higher than they were for last month
\(I_{U I}>0\) occurs when actual inflation exceeds what we expected it to be at the start of the month
\(I_{U R P}>0\) occurs when the credit spread narrows
\(I_{U T S}>0\) occurs when the yield curve flattens.
The definitions of the first 3 risk factor shocks are quite intuitive, as defined above. The last two definitions are NOT intuitive. However, as stated above, it can be shown that:
\(I_{U R P}>0\) occurs when the credit spread narrows. A narrowing of the credit spread can be thought of as investors accepting a lower risk premium on risky corporate bonds. Perhaps they see the bonds as less risky, or their required risk premium gets smaller (say when their wealth increases).
\(I_{U T S}>0\) occurs when the yield curve flattens. This is difficult to interpret, but the yield curve flattening means investors are happy earning the same yield on a government bond with a long maturity, and so a very high duration (high interest-rate risk) as they earn on a very short maturity (and so short duration) government bond. A flat yield curve means investors are insensitive to interest rate risk.
The CRR Empirical Test Results
CRR’s data includes
\(r_{p t}\), percentage return on portfolio \(\mathrm{p}\) in month \(\mathrm{t}\), for \(\mathrm{p}=1,2, \ldots 20\), where the 20 different portfolios are based on size (cap), from smallest to biggest cap
\(I_{j t}\), the shock, or percentage change, in risk factor \(\mathrm{j}\) over month \(\mathrm{t}\)
The data covers the period from January 1958 to November 1983 (371 months).
CRR obtain estimates of the 5 factor “market prices of risk,” \(\lambda_{j}\), \(j=1,5\), as follows:
Step A. Choose start date: Jan. 1958 (1958 + 5 years)
Step A1. Use previous 60 months to estimate factor sensitivities, \(\beta_{j p}\) :
\[ r_{p}=\alpha_{p}+ \beta_{1 p} I_{1} + \beta_{2 p} I_{2} + \beta_{3 p} I_{3} + \beta_{4 p}I_{4} + \beta_{5 p} I_{5}+ e_{s} \]
By doing 20 regressions (for 20 different portfolios, \(p\) ), each with 60 observations. This gives estimates of \(\hat{\beta}_{j p}\) for \(j=1,5\) and \(p=1,20\) to be used in Step A2
Step A2. For Jan. 1958, using 20 returns, \(r_{p,\text{Jan 1958}}\), do a cross-sectional regression with 20 observations:
\[ r_{p, \text{Jan 1958}}=\alpha_{\text{Feb 1958}}+ \hat{\beta}_{1 p} \lambda_{1, \text{Jan 1958}} + \hat{\beta}_{2 p} \lambda_{2, \text{Jan 1958}} + \hat{\beta}_{3 p}\lambda_{3, \text{Jan 1958}} +\hat{\beta}_{4 p}\lambda_{4, \text{Jan 1958}} +\hat{\beta}_{5 p}\lambda_{5, \text{Jan 1958}} +e_{s} \]
Gives estimates of market prices of risk for Jan 1958: \(\hat{\lambda}_{j, \text{Jan 1958}}, j=1,5\).
Step B. Do, for Feb 1958 through Dec 1958, what was done above for Jan 1958.
Note that the \(\hat{\beta}_{j,p}\) do not change in the 12 regressions estimated in 1958
\[\begin{align*} r_{p, \text{Feb 1958}} &= \alpha_{\text{Feb 1958}}+ \hat{\beta}_{1 p} \lambda_{1, \text{Feb 1958}} + \hat{\beta}_{2 p} \lambda_{2, \text{Feb 1958}} + \hat{\beta}_{3 p}\lambda_{3, \text{Feb 1958}} +\hat{\beta}_{4 p}\lambda_{4, \text{Feb 1958}} +\hat{\beta}_{5 p}\lambda_{5, \text{Feb 1958}} +e_{s}\\ r_{p, \text{Mar 1958}} &= \alpha_{\text{Mar 1958}}+ \hat{\beta}_{1 p} \lambda_{1, \text{Mar 1958}} + \hat{\beta}_{2 p} \lambda_{2, \text{Mar 1958}} + \hat{\beta}_{3 p}\lambda_{3, \text{Mar 1958}} +\hat{\beta}_{4 p}\lambda_{4, \text{Mar 1958}} +\hat{\beta}_{5 p}\lambda_{5, \text{Mar 1958}} +e_{s}\\ \ldots &= \ldots\\ r_{p, \text{Dec 1958}} &= \alpha_{\text{Dec 1958}}+ \hat{\beta}_{1 p} \lambda_{1, \text{Dec 1958}} + \hat{\beta}_{2 p} \lambda_{2, \text{Dec 1958}} + \hat{\beta}_{3 p}\lambda_{3, \text{Dec 1958}} +v_{4 p}\lambda_{4, \text{Dec 1958}} +v_{5 p}\lambda_{5, \text{Dec 1958}} +e_{s} \end{align*}\]
This will give us estimates for market prices of risks \((\hat{\lambda}_{j, \text{Feb 1958}},\ldots,\hat{\lambda}_{j, \text{Dec 1958}})\), \(j=1,5\)
Step C. Reset the date to Jan 1959, and go to Step A1 above. Continue until we reach Nov 1983
The estimate of the price of risk \(\hat{\lambda_t}\) is the time series average of all \(\hat{\lambda}_{j,t}\), \(t = \text{Jan 1958}, \ldots, \text{Nov 1983}\), 311 months.
\[ \hat{\lambda}_j = \frac{1}{311} \sum_{t=1}^{311} \hat{\lambda}_{j,t},~~~j=1,\ldots, 5\]
CRR obtain the following estimates (See CRR, Table 4, Panel B, p. 396):
\[\begin{align*} \lambda_{M P}&=13.589\%^{**}~~\text{[Industrial production]}\\ \lambda_{D E I}&=-0.125\%~~\text{[Inflation Expectations]}\\ \lambda_{U I}&=-0.629\%^{*}~~\text{[Unexpected Inflation]}\\ \lambda_{U R P}&=7.205\%^{**}~~\text{[(inverse of) Credit Spreads]}\\ \lambda_{U T S}&=-5.21\%^{*}~~\text{[(inverse of) Term Spread]} \\ ^{**}&:\text{Significant at 5\% level};~~ ^{*}:\text{Significant at 10\% level} \end{align*}\]
Industrial Production (MP) is obviously a huge risk-enhancing factor: if an investor changes her financial portfolio’s exposure to MP risk from \(\beta_{M P, p}=0\) to \(\beta_{M P, p}=1\), she demands a \(13.589\%\) increase in the portfolio’s expected return! Why? Investors perceive that MP shocks move with human capital: a strong economy (big \(I_{M P}\) ) means higher current and future wages, with a higher present value, which is a big \(\Delta H\).
Credit spread (URP) is also an important risk-enhancing factor: the risk factor shock moves with human capital value changes. A positive URP shock corresponds to the credit spread narrowing. This happens in strong economies, when wages would be rising, thus the positive correlation of URP shocks and human capital.
Term spread is an insurance factor: when the term spread shock is positive, meaning the yield curve flattened, human capital must be losing value. I’m not sure I have a good story for this! When the curve flattens, perhaps investors see their human capital more at risk, raising the discount rate they use to get the present value of future wages.
It is interesting that, even back in the period (1950 - 1984) when inflation got quite high, the market prices of risk for changes in expected inflation and for unexpected inflation are essentially zero: investors did not (and probably still don’t) care about inflation as a systematic risk factor.
These three risk factors: changes in economic activity (MP risk), changes in credit spreads (URP risk) and changes in term spread (UTS risk) are common to almost every quantitative risk model. But, there are also an almost endless list of other possible risk factors!