回归投资组合超额收益

问题描述

我的数据:

dput(head(mydata))
structure(list(DATE = structure(c(-315619200,-312940800,-310435200,-307756800,-305164800,-302486400),tzone = "UTC",class = c("POSIXct","POSIXt")),RF = c(0.33,0.29,0.35,0.19,0.27,0.24),RMRF = c(-6.99,0.99,-1.46,-1.7,3.08,2.09),SMB = c(2.13,0.71,-0.65,0.32,1.42,-0.24),UMD = c(-3.28,3.59,1.85,2.6,4.77,1.03),HML = c(2.65,-2.15,-2.69,-2.22,-3.83,-0.3),JANDUM = c(1,0),R4 = c(-4.57,1.5,-2.83,-1.98,3.54,2.15)),row.names = c(NA,-6L),class = c("tbl_df","tbl","data.frame"))

所以,我的数据包含:

R4 是投资组合的百分比回报,RF 是商品的回报 无风险(无风险利率),RMRF 是投资组合的超额收益 市场投资组合、SMB、UMD 和 HML 是 3 个因素,并且 JANDUM 是一月的虚拟变量(January Dummy)。

数据是从 1/1960 到 12/2003 的每月频率(总共有 528 次观察)。

这就是我试图建立的,而我正在努力的是将投资组合超额回报(R4-RF)回归到 一个常数和所有其他变量(RMRF、SMB、UMD、HML 和 JANDUM)。

我怎样才能做到这一点?

解决方法

也许这会让你开始?

mydata$PER <-mydata$R4 - mydata$RF 
mydata$JANDUM <- as.factor(mydata$JANDUM)
model <- lm(PER ~ DATE + RMRF + SMB + UMD + HML + JANDUM,data = mydata)
summary(model)