【发布时间】:2021-01-11 23:52:02
【问题描述】:
我想解决一个关于最小方差投资组合的优化问题,如本网站简要描述的那样:http://enricoschumann.net/R/minvar.htm
问题是:我要使用的矩阵列(=资产)多于行(=观察值),这就是为什么它不是正定和不可逆的。
您可以通过使用与网站上相反的变量值来重现此问题,结果如下:
nO <- 10L ## number of observations
nA <- 100L ## number of assets
mData <- array(rnorm(nO * nA, sd = 0.05),
dim = c(nO, nA)) #Creating sample stock observations
library("quadprog")
aMat <- array(1, dim = c(1,nA))
bVec <- 1
zeros <- array(0, dim = c(nA,1))
solQP <- solve.QP(cov(mData), zeros, t(aMat), bVec, meq = 1) #Minimize optimization
solQP$solution
这会导致以下错误:
matrix D in quadratic function is not positive definite!
有没有人知道使用 mData 解决优化问题的其他函数或方法使 mData 可逆而不丢失信息?
期望的结果是最小方差投资组合中每种资产的权重。
【问题讨论】:
标签: r optimization mathematical-optimization portfolio quadprog