2016-09-30 20 views
0

私のモデルを監査しているので、このアルゴリズムに関する質問がありますが、この矛盾は関係しています。solve.QP()数値が数値計算と矛盾しています

私は、制約条件を持つ平均分散最適化を行います。合計は1にする必要があり、重みは指定した範囲内になければなりません。次のように私の入力は、次のとおりです。

Dmat = Sigma 
dvec = rep(0, ncol(Sigma)) 
Amat = rbind(rep(1, ncol(Sigma)), diag(ncol(Sigma)), -diag(ncol(Sigma)),  
    ncol=ncol(Sigma)) 
bvec = c(1, MinWeights, -MaxWeights) 

その後、私が実行します。

Out = solve.QP(Dmat, dvec, t(Amat), bvec, meq=1) 
Weights = Out$solution 
Var = t(Weights) %*% Sigma %*% Weights 
Var == Out$value 

問題は、私はその最後のコマンドの場合はFALSE取得することです。これは丸めの問題ではなく、ほぼ20%の大きさでオフになっています。

誰でも問題が分かっていますか?

+0

1)solve.QP 2)家に帰ると行列で編集します – milkmotel

答えて

1

私は問題を把握しました。

シグマは、2 *シグマでなければなりません。これは、行列代数を使ったポートフォリオ最適化のラグランジアン値です。

関連する問題