楼主: ICMA_Gary
2172 1

[投资学] 【求助】用vba描点来画出麦克维茨的有效前沿,代码遇到问题 [推广有奖]

  • 0关注
  • 0粉丝

高中生

5%

还不是VIP/贵宾

-

威望
0
论坛币
28759 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
153 点
帖子
3
精华
0
在线时间
39 小时
注册时间
2015-2-4
最后登录
2024-3-8

楼主
ICMA_Gary 学生认证  发表于 2015-11-14 09:47:32 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
投资学学到投资组合最优化这里,想用vba做出几组点,用描点的方式画出有效前沿
求坐标点的方式是,给定一个收益率,然后规划求解,得出其在最小方差条件下的投资组合
然后收益率以一个迭代次数递增,我选取的是0.1,然后对应着收益率0---2.4%,依次求出对应的最小方差
收益与方差组成一个点,一共25个点

以下为小弟写的代码

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
1.png


但是结果如图所示,坐标点一样,貌似循环里的规划求解都没有执行,小弟初学的vba,实在看不明白,请大家帮帮忙 跪谢

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:有效前沿 VBA Deviation relation counter 麦克

沙发
ICMA_Gary 学生认证  发表于 2015-11-14 20:05:23 来自手机
自己顶一下,求大神驾到

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jr
拉您进交流群
GMT+8, 2025-12-27 00:55