Dear all,
I have a monthly data returns for 30 stocks from 31 Jananuary 2002 to December 30 2016. I'm trying to implement the metholody first developed by Fama and MacBeth (1973). The steps are as follows:
(I) In the first-pass test, a time series regression is run where individual rm s
beta is calculated. This is done by regressing each stock s excess monthly
return against the excess monthly return of the market portfolio.
- Equation -
r_it - r_f = a_i + b_i (r_m - r_f) + epsilon
where
r_it - r_f = excess return on a stock
r_m - r_f = excess return market (ftse)
a_i = intercept
epislon = disturbance term
(II) From this, all stocks are then ranked in accordance to their respective beta
values - where Portfolio 1 consists of less volatile stocks (low beta values)
and Portfolio 10 consists of high volatile stocks (high beta values). Summary descriptives such as mean return, maximum(minimum) values, standard deviaions for all constructed portfolios and the excess market returns (rm - rf) also has to be presented
(III) Estimation of beta and average excess portfolio returns. Portfolio return is
the average of the monthly returns of all stocks in the portfolio.
(IV) In the second-pass test, a cross section regression is performed on the average
excess portfolio return on portfolio beta values to estimate the SML, a
requirement to testing the CAPM. (Plotting graph of portfolios' value and the theoretical line)
- Equation -
r_pt = a_1 + a_2b_pt + epsilon
where
r_pt = equally weighted average excess monthly portfolio returns on individual stocks in the portfolio
a_1 = intercept
a_2 = coefficient of beta
b_p = portfolio beta
I've done the first step for all stock using a robust regression where I have the estimates of the intercept, beta, t-values, p-values for each respective stocks. However, My problem is steps II to IV. I've tried at previous inquires but with no luck. Any help is very much appreciative. Although, there's an ado file called "xtmfb" which claims to do this, I have no idea how to apply it to my dataset unfortunately.
Attached is my data in csv.
Note; the first column is the date variable, E_rm represents the excess return on market. Columns
D1 to AA1 represents the excess returns on all individual stocks.
rf is the risk-free rate
Data6.csv
Reference:
Fama, E. F. and MacBeth, J. D. (1973) "Risk, Return, And Equilibrium: Empirical Tests", Journal Of Political Economy, 81(3), pp. 607-636. Available at: http://efinance.org.cn/cn/fm/Risk,%2...cal%20Test.pdf
I have a monthly data returns for 30 stocks from 31 Jananuary 2002 to December 30 2016. I'm trying to implement the metholody first developed by Fama and MacBeth (1973). The steps are as follows:
(I) In the first-pass test, a time series regression is run where individual rm s
beta is calculated. This is done by regressing each stock s excess monthly
return against the excess monthly return of the market portfolio.
- Equation -
r_it - r_f = a_i + b_i (r_m - r_f) + epsilon
where
r_it - r_f = excess return on a stock
r_m - r_f = excess return market (ftse)
a_i = intercept
epislon = disturbance term
(II) From this, all stocks are then ranked in accordance to their respective beta
values - where Portfolio 1 consists of less volatile stocks (low beta values)
and Portfolio 10 consists of high volatile stocks (high beta values). Summary descriptives such as mean return, maximum(minimum) values, standard deviaions for all constructed portfolios and the excess market returns (rm - rf) also has to be presented
(III) Estimation of beta and average excess portfolio returns. Portfolio return is
the average of the monthly returns of all stocks in the portfolio.
(IV) In the second-pass test, a cross section regression is performed on the average
excess portfolio return on portfolio beta values to estimate the SML, a
requirement to testing the CAPM. (Plotting graph of portfolios' value and the theoretical line)
- Equation -
r_pt = a_1 + a_2b_pt + epsilon
where
r_pt = equally weighted average excess monthly portfolio returns on individual stocks in the portfolio
a_1 = intercept
a_2 = coefficient of beta
b_p = portfolio beta
I've done the first step for all stock using a robust regression where I have the estimates of the intercept, beta, t-values, p-values for each respective stocks. However, My problem is steps II to IV. I've tried at previous inquires but with no luck. Any help is very much appreciative. Although, there's an ado file called "xtmfb" which claims to do this, I have no idea how to apply it to my dataset unfortunately.
Attached is my data in csv.
Note; the first column is the date variable, E_rm represents the excess return on market. Columns
D1 to AA1 represents the excess returns on all individual stocks.
rf is the risk-free rate
Data6.csv
Reference:
Fama, E. F. and MacBeth, J. D. (1973) "Risk, Return, And Equilibrium: Empirical Tests", Journal Of Political Economy, 81(3), pp. 607-636. Available at: http://efinance.org.cn/cn/fm/Risk,%2...cal%20Test.pdf
Comment