1
$\begingroup$

I am reading Asset Pricing by Cochrane. I am struggling to do the Fama-Macbeth cross-sectional regression and I am questioning my understanding of how to do this. I have no problems understanding how to do the two-step cross-sectional regression, it's the Fama-Macbeth bit that I am struggling with.

To get a bearing, let's start with cross-sectional regression. We have two steps.

Cross-sectional regression

Step 1: time-series regression to estimate factor loadings

For asset $i = 1, \dots, N$, perform the following regression:

$$ R_t^i = F_t \beta^i + \varepsilon_t^i $$

where $R_t^i$ is the return of asset $i$ at time $t$, $F_t$ $(1 \times K)$ row of factor values at time $t$ and $\beta_i$ is a $(K \times 1)$ factor loadings.

Step 2: cross-sectional regression to find risk premia

So now collect $\beta_i$ into a $(K \times N)$ matrix and perform the following regression where the $\beta$ matrix is the matrix of regressors (i.e. the data matrix) and we are estimating the $(K \times 1)$ vector $\lambda$.

$$ R_E^i = \beta' \lambda + a_i $$

where $R_E^i$ is the mean return in time of asset $i$.

So far so good. I've implemented this and I get similar results to various implementations quoted in the literature.

Fama-Macbeth

To perform a monthly Fama-Macbeth cross-sectional regression estimated over a one-year rolling window on daily data I still need to do two steps like so.

Step 1

At each month, take the past 12 months of daily data (~252 data points) and perform a time-series regression to obtain the $\beta_t$ where $t$ is the index of the month. This is exactly the same as the first step in the previous example, only we don't use the full sample but we just use a rolling 12-month window.

Do this for all months and collect the $\beta_t$ matrices. Now $\beta = \frac{1}{T} \sum_{t=1}^T \beta_t$.

Step 2

Now we have the averaged factor loadings $\beta$, we perform effectively the same as step two above for each time period but we use the average betas across all periods. In other words, we perform the following regressions:

$$ R_{E,t}^i = \beta' \lambda_t + a_t^i $$

where $R_{E,t}^i$ is the average return of asset $i$ during the last 12 months leading to month $t$ computed on daily data.

Now, take the $\lambda_t$ and average them (similarly to the betas) and that is our result.

I seem to have implemented the cross-sectional regression correctly and get similar coefficients to one published in literature. But, having implemented the Fama-Macbeth regression, I'm getting wild coefficients which I don't expect to be getting which is why I believe my understanding of what to do is wrong.

$\endgroup$
1
  • $\begingroup$ You do not average the beta. In each month, you use a different beta - the beta that you calculated from the last 12 months of daily returns. You end up with a time series of lambda coefficient. You then take the mean of the lambdas to get an estimate of the price of risk $\endgroup$ Commented Nov 13, 2024 at 18:25

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.