在 R 中每天从交易矩阵 return 计算投资组合

in R compute portfolio daily return from a trade matrix

亲爱的 Whosebugers,

TRADES 是一个 2000 行的交易损益矩阵,head.matrix(TRADES) 给出:

Date P&L

20170101 90
20170101 100
20170102 -50
20170102 35
20170102 180

我需要计算每日投资组合损益并将其存储到新矩阵中。问题是每天的交易次数不是固定的。

我可以根据日期对交易进行子集化,并将所有相同日期的交易存储到一个新矩阵中,例如 2017 年 1 月 1 日: 20170101 <- TRADES[grep("20140101", TRADES$Date), ]

然后我可以求和以获得每日损益并将其存储到我的每日 returns 矩阵中: DailyReturns170101 <- sum(20170101$P&L)

但是我不知道如何制作一个循环来为所有交易重复这个操作,有人可以帮我解决这个问题吗?乔

假设您有一个 data.frame 或者您可以将矩阵转换为 data.frame:

head(df)
#      Date  PL
#1 20170101  90
#2 20170101 100
#3 20170102 -50
#4 20170102  35
#5 20170102 130

aggregate(PL~Date, data=df,sum)
#      Date  PL
#1 20170101 190
#2 20170102 115