我正在尝试使用每月更新的5年滚动窗口,对某些可交易因素进行Fama Macbeth回归。
我有1997年7月至2014年12月期间1000支股票超额收益的数据和某些风险因素的数据。
但是,我对R还是很陌生,不知道如何正确处理它。
我以前看过一个例子。但是它不涉及滚动。此外,我不知道如何获取Newey-West t统计量。
library(foreign)
test<-read.dta("http://www.kellogg.northwestern.edu/faculty/petersen/htm/papers/se/test_data.dta")
num=500; T=10;
#step1: 500 time-series regressions
betas <- matrix(nrow=num, ncol=2)
colnames(betas) <- c("Intercept", "beta")
for (i in 1:num) {
betas[i,] <- coef(lm(y~x, test[test$firmid==i,]))
}
test$betas <- rep(betas[,2],each=T)
#step2: 10 cross-section regressions
factor_premia <- matrix(nrow=T)
colnames(factor_premia) = "Ret_Premium"
for (j in 1:T) {
factor_premia[j] <- coef(lm(y~betas, test[test$year==j,]))[2]
}
factor_risk_premia <- mean(factor_premia)
任何帮助或建议将不胜感激。