Предположим, что идентификатор личности задан FundId
, а идентификатор времени - t
, вот как можно применить регрессию с фиксированными эффектами:
library(biglm)
library(data.table)
library(plm)
union_with_factors = data.table(
t = c(1,2,3,4,5,1,2,3,4,5,1,2,3,4,5),
excessr = c(10,23,13,53,43,76,34,12,45,13,42,31,4,53,64),
FundId = c("x","x","x","x","x","y","y","y","y","y","z","z","z","z","z"),
mkt_rf = c(1,1,2,1,3,1,1,2,1,3,1,1,2,1,3)
)
fit <- plm(excessr ~ mkt_rf,
data = union_with_factors,
index = c("FundId", "t"),
model = "within")
summary(fit)
fixef(fit)
См. здесь и в документации plm
(?plm
в консоли) для более подробной информации
Редактировать: после этой записи и этой статьи , похоже, что вы можете сделать регрессию Фама-МакБет с помощью pmg
(также в пакете plm
):
fama_macbeth <- pmg(excessr ~ mkt_rf,
data = union_with_factors,
index = c("FundId", "t"))
summary(fama_macbeth)