【问题标题】:Julia 0.4 - Mean Variance Efficient Portfolio (Maximize Sharpe ratio)Julia 0.4 - 均值方差有效投资组合(最大化夏普比率)
【发布时间】:2017-04-12 04:45:57
【问题描述】:

在计算组合无风险资产和风险资产的投资组合时,您需要 首先计算两个风险资产组合:最小方差组合和有效组合。我已经在 Excel 中解决了这个问题,但我想知道如何使用 Julia 和 JuMP(或任何其他 Julia 求解器)来解决这个问题。
最小方差投资组合没有问题。但是我无法解决有效的投资组合。目标函数如下。

    @objective(m, Max, (sum{matrix[i-5,6]*x[i], i in 6:10} - rfrate )/'
    (sum{m2[i-5,j-5]*x[i]*x[j], i in 6:10, j in 6:10}^0.5))'  

其中 x 是变量(证券的权重)。
我的解决方案的当前状态是here。 我有办法在 Julia 中解决这个问题吗?如果无法优化,可能是近似值?

【问题讨论】:

  • 这是一个相当大的问题。答案取决于您想对投资组合权重施加什么(如果有)约束。如果问题不受约束,则存在解析解,因此您不应该使用数值优化。这个SSRN paper 很好地描述了它,而不会陷入数学困境。对于权重的一般约束,您可能最终需要一个非线性求解器。就我个人而言,在我自己的工作中,我为 Julia 使用了 NLopt 包,这可能有点矫枉过正,但它是一个很棒的工具。

标签: optimization julia


【解决方案1】:

我不知道JuMP模块的特殊性,但是通常调用带有大括号sum{}的函数是无效的。你不应该用括号sum() 调用函数吗? 我快速浏览了 JuMP 文档,找不到 sum{} 之类的东西,只有普通的 sum()

【讨论】:

  • 他们在 MITx 15.053x 课程中将它显着地用于约束、变量和目标函数,所以当我学习它时,这可能更多是文档问题,而不是格式问题。
  • 答案其实就在这里。花括号适用于 0.4,但在 0.5 中已弃用。 jump.readthedocs.io/en/latest/quickstart.html
猜你喜欢
  • 1970-01-01
  • 2017-02-26
  • 1970-01-01
  • 2017-12-04
  • 2016-10-08
  • 2011-11-16
  • 1970-01-01
  • 2013-04-20
  • 1970-01-01
相关资源
最近更新 更多