R 针对多个公司和多个日期的事件研究

R 针对多个公司和多个日期的事件研究,r,for-loop,R,For Loop,我正在使用erer包中的evReturn函数进行事件研究。 目的是获得每个公司的异常回报和所有公司的平均异常回报。我无法得到平均回报,因为函数对每个公司单独执行一次,但不能同时对所有公司执行一次,尽管这在for循环中是可能的。我好像找不到正确的回路 我尝试过这种方法: 一, install.packages(“erer”) 图书馆(erer) i多个日期: hh2 <- list() for(i in c(daEsa$date[3000], daEsa$date[3001])){ fi

我正在使用
erer
包中的
evReturn
函数进行事件研究。 目的是获得每个公司的异常回报和所有公司的平均异常回报。我无法得到平均回报,因为函数对每个公司单独执行一次,但不能同时对所有公司执行一次,尽管这在for循环中是可能的。我好像找不到正确的回路

我尝试过这种方法:

一,

install.packages(“erer”)
图书馆(erer)
i多个日期:

hh2 <- list()
for(i in c(daEsa$date[3000], daEsa$date[3001])){
  firms <- colnames(daEsa)[12:ncol(daEsa)]
  print(firms)
  print(i)
  hh2[[i]] <- 
    evReturn(y=daEsa, firm = firms, event.date=i, y.date="date",
             index="sp500", event.win = 2, est.win= 250, digits=4)
}

谢谢你的建议!我已经添加了数据。为了更好地理解,我将包中的示例与代码一起包含在包中,数据集daEsa包含在包中。我的代码适用于每个公司(N=1)的单独分析,但不适用于跨公司分析。输出应该与示例中的hhreturn2类似,其中对所有4家公司进行了分析(可以在输出中看到,N应该是公司数)。@lode OK幸运的是,这基本相同。我只是测试了一下并更新了我的答案。如果您还有其他问题,请告诉我,如果没有,请用绿色复选标记将其标记为解决方案:)
# event analysis for one firm and one event window
hhreturn <- evReturn(y = daEsa, firm = "wpp", y.date = "date", 
index = "sp500", est.win = 250, digits = 3, event.date = 19990505, 
event.win = 5) 

# event analysis for many firms and one event window
hh2return2 <- update(hhreturn, firm = c("tin", "wy", "pcl", "pch"))

# event analysis for many firms and many event windows: need a for loop
hh2 <- list()
for(i in c(daEsa$date[3000], daEsa$date[3001])){
  firms <- colnames(daEsa)[12:ncol(daEsa)]
  print(firms)
  print(i)
  hh2[[i]] <- 
    evReturn(y=daEsa, firm = firms, event.date=i, y.date="date",
             index="sp500", event.win = 2, est.win= 250, digits=4)
}
hh2 <- list()
for(i in c(2, 3)){
  firms <- colnames(daEsa)[12:ncol(daEsa)]
  print(firms)
  print(i)
  hh2[[i]] <- 
    evReturn(y=daEsa, firm = firms, event.date=daEsa$date[3000], y.date="date",
             index="sp500", event.win = i, est.win= 250, digits=4)
}
[1] "pch" "pcl" "pop" "tin" "wpp" "wy" 
[1] 2
[1] "pch" "pcl" "pop" "tin" "wpp" "wy" 
[1] 3