模型的计算基于马科维兹的均值方差模型,计算出来的组合满足在相同风险情况下收益最大,相同收益情况下风险最小
原理:
参考 https://en.wikipedia.org/wiki/Modern_portfolio_theory
式中:rp——组合收益;
ri、rj——第i种、第j种资产的收益;
wi、wj——资产i和资产j在组合中的权重;
δ2(rp)——组合收益的方差即组合的总体风险;
cov(r,rj)——两种资产之间的协方差。
实现:
python实现参考:http://blog.quantopian.com/markowitz-portfolio-optimization-2/
java实现参考:参考ojalgo包的javadoc文档,http://ojalgo.org/generated/org/ojalgo/finance/portfolio/MarkowitzModel.html
matlab实现:参考:http://cn.mathworks.com/help/finance/asset-allocation-and-portfolio-optimization.html