我正在尝试根据两个返回系列计算年化季度返回。
给定一个向量 r_a,这相当简单:
r_a <- c(.05, .02, .03, .08, .1, .04, .06, .08)
r_a <- t(t(r_a)) # I just need to transpose the vector
(prod(1+r_a)^(4/nrow(r_a)))-1 # This returns [1] 0.2491168
但是,如果我想要一个基于矩阵格式的多个返回系列的多个年化返回的向量,则此方法不起作用:
r_a <- c(.05, .02, .03, .08, .1, .04, .06, .08)
r_b <- c(.1, .1, .1, .1, .1, .1, .1, .12)
mat_ab <- cbind(r_a, r_b)
如何编写代码,以便给定一个带有代表不同 Assets 类别 yield 的列的矩阵,将输出向量中每个 Assets 类别的季度年化 yield ?
最佳答案
我们可以使用
apply(mat_ab, 2, function(col_j){
col_j <- as.matrix(col_j)
(prod(1+col_j)^(4/nrow(col_j)))-1
})
# r_a r_b
0.2491168 0.4773500
此外,正如您所看到的,您的代码使用了矩阵对象:
r_a <- c(.05, .02, .03, .08, .1, .04, .06, .08)
r_a <- t(t(r_a))
class(r_a)
# [1] "matrix"
关于r - 根据季度观察计算年化返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57266605/