首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将协方差记入算术协方差矩阵函数?

将协方差记入算术协方差矩阵函数?
EN

Stack Overflow用户
提问于 2011-10-05 23:22:22
回答 1查看 1.7K关注 0票数 4

有没有一个函数可以将使用对数回报构建的协方差矩阵转换为基于简单算术回报的协方差矩阵?

动机:我们想使用均值-方差效用函数,其中期望收益和方差是用算术术语指定的。然而,由于对数收益的可加性属性,估计收益和协方差通常是使用对数收益执行的,并且我们假设资产价格遵循对数正态随机过程。

Meucci描述了为Appendix page 5上的对数正态分布的通用/任意分布生成基于算术回报的协方差矩阵的过程。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-12 08:40:53

以下是我对公式的翻译:

代码语言:javascript
复制
linreturn <- function(mu,Sigma) {
  m <- exp(mu+diag(Sigma)/2)-1
  x1 <- outer(mu,mu,"+")
  x2 <- outer(diag(Sigma),diag(Sigma),"+")/2
  S <- exp(x1+x2)*(exp(Sigma)-1)
  list(mean=m,vcov=S)
}

编辑:修复基于评论的-1问题。

试着举个例子:

代码语言:javascript
复制
m1 <- c(1,2)
S1 <- matrix(c(1,0.2,0.2,1),nrow=2)

生成多变量对数正态回报:

代码语言:javascript
复制
set.seed(1001)
r1 <- exp(MASS::mvrnorm(200000,mu=m1,Sigma=S1))-1
colMeans(r1)
## [1]  3.485976 11.214211
var(r1)
##         [,1]     [,2]
## [1,] 34.4021  12.4062
## [2,] 12.4062 263.7382

与公式的预期结果进行比较:

代码语言:javascript
复制
linreturn(m1,S1)

## $mean
## [1]  3.481689 11.182494

## $vcov
##          [,1]      [,2]
## [1,] 34.51261  12.08818
## [2,] 12.08818 255.01563
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7663690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档