我正在从一个csv文件中导入一个数据框架,该文件如下所示,但是每个策略都有数百个策略和数千个现金流:
TRADE_STRATEGY EVENT_DATE BOOK_VALUE_USD
A 1/1/2021 -1.5
A 2/28/2021 -2
A 3/31/2021 4
B 2/1/2021 -1.75
B 3/31/2021 -1.25
B 4/30/2021 5.75
如何循环使用XIRR函数将结果保存在数据帧中?也就是说。
TRADE_STRATEGY IRR
A 1.357539928
B 2.48654511
发布于 2021-12-16 16:04:43
我可以建议使用group_by()
库的dplyr
函数。
这样,您可以将"data.frame“分组为不同的贸易策略(TRADE_STRATEGY
),并计算现金流(BOOK_VALUE_USD
)上的IRR。
注意,我不知道在R中使用哪个IRR函数,所以我决定在这个post中使用@dmi3kno建议的函数。
以下是代码:
df <- data.frame(list(
TRADE_STRATEGY = c("A", "A", "A", "B", "B", "B"),
EVENT_DATE = c("1/1/2021", "2/28/2021", "3/31/2021", "2/1/2021", "3/31/2021", "4/30/2021"),
BOOK_VALUE_USD = c(-1.5, -2, 4, -1.75, -1.25, 5.75)
))
df %>%
group_by(TRADE_STRATEGY) %>%
summarise(IRR_value = irr(BOOK_VALUE_USD)$IRR) # The irr() function from @dmi3kno
https://stackoverflow.com/questions/70381779
复制相似问题