计算CVaR投资组合的最大回报风险比
创建一个PortfolioCVaR
对象并合并的资产列表CAPMUniverse.mat
.使用simulateNormalScenariosByData
模拟每个资产的场景。这些投资组合约束要求完全投资多头投资组合(非负权重之和必须为1
).
rng (1)为可重复性设置种子。负载CAPMuniversep = portfolio var (“AssetList”、资产(1:12));p = simulateNormalScenariosByData(p, Data(:,1:12), 20000,“missingdata”,真正的);p = setProbabilityLevel(p, 0.95);p = setDefaultConstraints(p);disp (p)
[] SellCost: [] RiskFreeRate: [] ProbabilityLevel: 0.9500 Turnover: [] BuyTurnover: [] SellTurnover: [] NumScenarios: 20000 Name: [] NumAssets: 12 AssetList: {1x12 cell} InitPort: [] AInequality: [] bInequality: [] AEquality: [] bEquality: [] LowerBound: [] LowerBudget: 1 UpperBudget: 1 GroupMatrix: [] LowerGroup: [] UpperGroup: [] grouppa: [] GroupB: [] LowerRatio: [] UpperRatio: [] MinNumAssets: [] BoundType:(12 x1分类)
为了得到最大化回报风险比(相当于均值-方差投资组合的夏普比率)的投资组合,在有效边界上迭代搜索最小化回报风险比负数的投资组合:
要做到这一点,请使用sratio
函数中定义的本地函数部分,返回目标收益的负回报风险比。然后,将此函数传递给fminbnd
.fminbnd
遍历可能的返回值并评估其相关的回报风险比。fminbnd
返回获得最大回报风险比(或最小化回报风险比负数)的最优回报。
获得投资组合的最小和最大收益。。pwgtLimits = estimateFrontierLimits(p);retLimits = estimatePortReturn(p,pwgtLimits);minret = retLimits(1);maxret = retLimits(2);迭代地在边界上搜索。求最小负的回报风险比。Fhandle = @(ret) iterative_local_obj(ret,p);选项= optimset(“显示”,“关闭”,“TolX”1.0 e-8);Optret = fminbnd(fhandle, minret, maxret, options);获取与所取得的回报相关联的投资组合权重%为最大回报风险比。pwgt = estimateFrontierByReturn(p,optret)
pwgt =12×10.0885 0 0 0 0 0.9115 0 0 0 0 0
使用plotFrontier
绘制有效边界和estimatePortRisk
估算投资组合的最大回报风险比。
plotFrontier (p);持有在计算最大回报风险比投资组合的风险水平。。optrsk = estimatePortRisk(p,pwgt);散射(optrsk optret 50,“红色”,“填充”)举行从
本地函数
计算目标收益水平的回报风险比的负数的局部函数。
函数Sratio = iterative_local_obj(ret, obj)将目标函数设为回报风险比的负数。风险= estimatePortRisk(obj,estimateFrontierByReturn(obj,ret));如果~isempty(obj.RiskFreeRate) sratio = -(ret - obj.RiskFreeRate)/risk;其他的Sratio = -ret/risk;结束结束
另请参阅
PortfolioCVaR
|getScenarios
|setScenarios
|estimateScenarioMoments
|simulateNormalScenariosByMoments
|simulateNormalScenariosByData
|setcost
|checkFeasibility
相关的例子
- CVaR投资组合优化结果的故障排除
- 创建PortfolioCVaR对象
- 使用默认值处理CVaR投资组合约束
- 资产回报和使用PortfolioCVaR对象的场景
- 为PortfolioCVaR对象的整个边界估计有效投资组合
- 为PortfolioCVaR对象估计有效边界
- 利用CVaR投资组合优化进行套期保值