投資學學到投資組合最優化這里,想用vba做出幾組點,用描點的方式畫出有效前沿
求坐標點的方式是,給定一個收益率,然后規劃求解,得出其在最小方差條件下的投資組合
以下為小弟寫的代碼
Sub no_short_EF()
Dim MinDeviation As Double, Step As Double
Dim i As Integer, j As Integer
Dim counter As Integer
counter = Range("M3")
Step = Range("M4").Value
For j = 1 To counter
[J4].Offset(j - 1, 0).Value = Step * (j - 1)
Next
For i = 1 To counter
SolverReset
SolverOK SetCell:=Range("M6").Value, _
MaxMinVal:=2, _
ByChange:=Range("M10", "M29")
solveradd CellRef:=Range("M10", "M29"), _
Relation:=3, _
FormulaText:=0
solveradd CellRef:=Range("M30").Value, _
Relation:=2, _
FormulaText:=1
solveradd CellRef:=Range("M7").Value, _
Relation:=2, _
FormulaText:=[J4].Offset(i - 1, 0).Value
SolverSolve UserFinish:=True
[I4].Offset(i - 1, 0) = Range("M6").Value
Next
End Sub

但是結果如圖所示,坐標點一樣,貌似回圈里的規劃求解都沒有執行,小弟初學的vba,實在看不明白,請大家幫幫忙 跪謝
uj5u.com熱心網友回復:
學會在vba IDE中,代碼視窗設斷點和單步跟蹤、立即視窗輸出當前相關變數的值除錯。轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/85534.html
標籤:VBA
