私は自分のモデルを監査していて、この矛盾が懸念されているため、このアルゴリズムについて質問があります。回答が必要です。
合計が 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% の誤差があります。
誰が問題が何であるか知っていますか?