-1

我在 R 中有一个面板数据集,其中包含每日股票收益。数据如下:

company code  company name          date   daily return
           1             A    1990-09-01            0.1
           1             A    1990-09-02           0.05
           2             B    1990-09-01           0.01
           2             B    1990-09-02           0.05

如何将这些数据转换为每家公司每年的年度股票收益?我尝试将数据转换为xts对象并尝试使用Return.annualized函数但它不起作用。

4

1 回答 1

0

这将为您提供每家公司每年的年度回报(我称之为您的示例数据框dat):

library(lubridate) 
library(dplyr)

dat$date = as.Date(dat$date)
dat$year = year(dat$date)

dat %>% group_by(company_name, year) %>%
  summarise(annual_return = prod(1 + daily_return, na.rm=TRUE) - 1)

  company_name year annual_return
1            A 1990        0.1550
2            B 1990        0.0605
于 2015-04-03T04:54:11.477 回答