当优化PortfolioCVaR对象基于模拟返回错误

7视图(30天)
我试图优化PortfolioCVaR对象基于模拟的形式返回数据,12 x10x19矩阵(即19日返回系列模拟10个不同资产路径在地平线的12个月)。优化代码是这样的:
pmc = PortfolioCVaR;pmc = pmc.setAssetList (IndexList);%选择索引名称pmc = pmc.setScenarios (Z);%选择返回系列pmc = pmc.setProbabilityLevel (0.95);% cVaR置信度pmc = pmc.setDefaultConstraints;%约束1:只有积极的权重之和为1 pmc = pmc.setBounds (0.01, 0.1);%约束2:然而,最小/最大重量我获得关注错误:
错误使用PortfolioCVaR / setScenarios(第93行)AssetScenarios必须用有限或NaN值矩阵。 模拟计算返回变量Z基于以下代码:
% % 4.5蒙特卡罗模拟
s = RandStream.getGlobalStream ();重置(s)
nTrials = 10;% #独立随机试验的地平线= 12;% VaR预测地平线
Z = 0(地平线,nTrials nIndices);% U = copularnd标准化残差数组(“t”, R,景深,地平线* nTrials);% t介体模拟
j = 1: nIndices Z (:,:, j) =重塑(icdf(反面{j}, U (:, j)),地平线,nTrials);最后有人建议如何克服这个错误吗?
谢谢!卡罗琳
1评论
西蒙
西蒙 2015年10月23日
亲爱的卡罗琳我有同样的问题,还没算出来。你找到了一个解决办法包括模拟返回系列吗?谢谢!

登录置评。

答案(1)

沙龙他
沙龙他 2018年12月17日
嗨,卡罗琳,
从命令pmc抛出错误= pmc.setScenarios (Z)。这是因为在代码中Z是一个三维矩阵的形式(12 x10x19),但函数的输入setScenarios只能一个二维矩阵。在我的理解,你提供的矩阵Z,你有19个资产,为每个在每个月10的场景。所以从本质上说,你有120年资产和19日场景(10 x12)。为了解决这个问题,试试下面的代码:
Z =重塑(Z, 120年,19);%的新变量Z 120行和19列;每一行是一个场景的19个资产;
然后执行其余PortfolioCVaR的工作流程。它不应该抛出的错误。如果你有其他问题,请让我知道。
谢谢,
沙龙

类别

找到更多的在投资组合优化和资产配置帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!