2016-12-26 6 views
1

私は、VaRを最小限に抑えることによって、マルチアセットポートフォリオで最適なウェイトを見つけたいと考えています。 これは、ターゲットリターンのリスクを最小限に抑えるコードです。MatlabのCVaR最適化コードに制約を追加するには?

p = PortfolioCVaR('ProbabilityLevel', .99, 'AssetNames', names); 
p = p.setScenarios(R); % R= asset returns 
p = p.setDefaultConstraints(); 
wts = p.estimateFrontier(20); 
portRisk = p.estimatePortRisk(wts); 
portRet = p.estimatePortReturn(wts); 

clf 
visualizeFrontier(p, portRisk, portRet); 

%% Compute portfolio with given level of return 
tic; 
wt = p.estimateFrontierByReturn(.05/100); 
toc; 
pRisk = p.estimatePortRisk(wt); 
pRet = p.estimatePortReturn(wt); 

重みの和= 1 ...私の質問は何の資産が60%以上の重量を持つことはできませんように制約を追加する方法です。 はあなたが

答えて

2

は、オブジェクトのsetBoundsプロパティを使用して提供することができます任意の助けてくれてありがとう、

>> p = setBounds(p,LowerBoundsVector,UpperBoundsVector); 

は、詳細は

>> doc setBounds 

を参照してください。

+0

ありがとう..それは動作します:) –

関連する問題