r - 根据季度观察计算年化返回

标签 r

我正在尝试根据两个返回系列计算年化季度返回。

给定一个向量 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/

相关文章:

r - 在 R 中使用逻辑 grep 抓取文本

Rcpp:在处理 NumericMatrix 时,* 的语法糖会产生意想不到的结果

r - 对于每一行,按最大值对列名称进行排序

r - 在 R 中的双向方差分析中为 Tukey HSD 选择的输出

RStudio 不读取路径中的非英文字符

r - 在R中绘制轴

r - 函数运算符和环境

r - 当字符串列值包含 'matching string' 时过滤 r 中的数据框

r - 在 R 中导出数据框并保留类型

r - 格式化表格输出,打印到 R 控制台