我一直在尝试使用ojalgo的MarkowitzModel确定投资组合的最佳权重。该文档为构造函数引用了BasixMatrix,但我认为已经弃用了。我已经成功地使用需要下面的代码的MarketEquilibrium和ExpectedExcessReturns的构造函数使某些东西正常工作。但是,我不确定MarketEquilibrium是什么以及这是否正确。给出一个简单的示例,给出三只股票投资组合的一系列回报。
final PrimitiveMatrix cov = matrixFactory.rows(new double[][] { { 0.01, 0.0018, 0.0011 }, { 0.0018, 0.0109, 0.0026 }, { 0.0011, 0.0026, 0.0199 } });
final PrimitiveMatrix ret = matrixFactory.columns(new double[] { 0.0427, 0.0015, 0.0285 });
final MarketEquilibrium marketEquilibrium = new MarketEquilibrium(cov);
final MarkowitzModel markowitz = new MarkowitzModel(marketEquilibrium, ret);