问题描述
我想使用R来解决关于最小方差投资组合的优化问题,如本网站{@ {3}}
所述问题是:我要使用的矩阵比行(=观测值)具有更多的列(=资产) ,这就是为什么它不是正定且不可逆的原因。
您可以通过使用与网站上相反的变量值来重新创建此问题,从而产生以下结果:
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可逆而不丢失信息的方法?
理想结果是最小方差投资组合中每种资产的权重。