【发布时间】:2021-02-18 15:33:17
【问题描述】:
我正在处理一些投资组合数据,但我对这种数据操作感到困惑。我有这个样本数据
df <- tibble(
date = as.Date(c("2020-01-31", "2020-01-31", "2020-01-31",
"2020-02-29", "2020-02-29", "2020-02-29",
"2020-03-31", "2020-03-31", "2020-03-31") ),
id = c("KO", "AAPL", "MSFT",
"KO", "AAPL", "GOOG",
"KO", "AAPL", "MSFT"),
weight = c(0.3, 0.4, 0.3,
0.5, 0.3, 0.2,
0.6, 0.2, 0.2),
`weight_change (desired column)` = c(NA, NA, NA,
0.2, -0.1, 0.2,
0.1, -0.1, 0.2)
)
这些是示例投资组合中的职位。投资组合每个月都会获得新的权重。我要计算的是每个项目的重量变化在前几个月的重量方面。在这个例子中,我们看到在 2 月底,KO 的当前权重为 0.5,比上个月增加了 0.2。 AAPL 下降了 0.1,而 GOOG 取代了 MSFT,因此与上个月的变化是其当前的全部权重:0.2。如何设置变异,使其查找前一个日期的股票并计算权重之间的差异?
【问题讨论】: