我如何求解投资组合权重来实现特定的最小/最大目标?
20视图(30天)
显示旧的评论
让我前言的披露,我认为我必须忽略一些非常简单的或明显的优点被忽视了。
下面的例子:我有一个10证券投资组合和24个月每月返回数据。基于这些数据,我设置一些限制投资组合的总重量必须等于1和任何一个安全的最大分配是50%,而最低5%。
修补estimateMaxSharpeRatio作用一段时间后,我能够生成一个记事簿反映证券各自产生的最大重量的夏普比率。
然后,作为基本的项目组合管理过程的一部分,我想看看组合权重将萨提努收益率最高的比例。这是问题开始的地方。不仅是我失败几次后,我开始怀疑我如何求解权重,将产生最小方差(受我约束),或者仅仅是最大的回报,或最低CVaR,或最低MaxDrawdown或最低正常三角洲VaR,或最大的特雷诺比率,或最低不利偏差,或任何其他我选择的目标。
这些都是基本的项目组合管理和基本功能,但我没有看到他们清楚地证明或解释金融工具箱手册或Mathworks网站。此外,上述任务非常容易做到使用解算器在Excel中。你只是问它最小化或最大化任何选定的细胞(即回报/风险比)通过改变另一组变量(即投资组合权重),这样投资组合的总重量等于1或任何其他所需的约束。
你怎么“解决”这些问题使用MATLAB或金融工具箱或优化工具箱?在我看来这应该是一个非常基本的代码基本上相似的比率或其他你想最小化或最大化的措施。我不希望看到有效边界图,散点图,或区域图;我只是想看到股票符号和权重代表代数的解决方案。
请帮助。
谢谢。
0评论
接受的答案
运行朱
2017年11月9日
你好戴夫,
优化工具箱的方式解决你提到的问题,从数学公式。说你有简单的问题
预期回报的投资组合
E = * R1 + R2 w2 * +…Rn + wn *
主题:
w1 +…+ wn = 1
5% < = wi < = 50% (i = 1…n)
有两个方法解决它的优化工具箱:
一个是具体问题具体分析的方法,这是新2017年以来
(1)定义w作为优化变量
w = optimvar (”w”,1,n,”UpperBound”,0.5,”下界”,0.05)
(2)定义目标函数
E =总和(r . * w)
在哪里
R = (R1, R2,…Rn)
(3)定义的约束
EqConstr =总和(w) = = 1
(4)定义优化问题
概率= optimproblem (“ObjectiveSense”,“最大化”);
概率。约束。目标= E
概率。约束。若干= EqConstr
(5)解决问题
optimW =解决(问题)
在投资组合优化是这里提供一个详细的例子
//www.tatmou.com/help/optim/examples/mixed-integer-quadratic-programming-portfolio-optimization.html
另一种方法是传统的solver-based方法。一个例子相同的投资组合优化可以在这里找到
希望这将帮助你开始。好运!