Active overweight constraint in portCons
10 ビュー (過去 30 日間)
古いコメントを表示
I want to define active overweight. Formula is Max(0, Portwt - IndexWt) i.e. if a stk's wt in portfolio is 0.15 and in index it is 0.10, the active overwt is 0.05 whereas in a reverse scenario the active overwt is zero. This is done for each stk. The sum of this formula for all stks put together should not be more than say 0.3. How to incorporate this constraint in the portcons?
0 件のコメント
回答 (2 件)
Meet
2024 年 11 月 18 日
Hi Deepak,
You can define custom constraints using the "portcons" function by specifying the "ConstType" as "Custom". For example, I have structured a sample code with the constraints you mentioned for a portfolio of three stocks:
% Number of assets
NumAssets = 3;
% Portfolio weights and Index weights (example values)
PortWt = [0.15, 0.12, 0.08];
IndexWt = [0.10, 0.15, 0.05];
% Determine the active overweight constraint
A = zeros(1, NumAssets);
for i = 1:NumAssets
if PortWt(i) > IndexWt(i)
A(i) = 1; % Active overweight position
else
A(i) = 0;
end
end
% Maximum allowable active overweight
b = 0.3;
% Constraint set using portcons
ConSet = portcons('Custom', A, b);
Hope this helps!!
0 件のコメント
Alejandra Pena-Ordieres
2024 年 11 月 25 日
Hi Deepak,
First, I'd recommend using the Portfolio object instead of portcons. The Portfolio object is the most up-to-date functionality for portfolio optimization and it supports more constraints and workflows. See Portfolio Optimization Examples Using Financial Toolbox for some example problems that can be solved with the Portfolio object and its related methods.
In your case, you'd want to use the setOneWayTurnover method with BuyTurnover set to 0.3, SellTurnover set to [], and InitPort set to IndexWt.
p = Portfolio(AssetMean=assetMean,AssetCocar=assetCovar);
p = setOneWayTurnover(0.3,[],IndexWt);
Hope this heps,
Alejandra
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Portfolio Optimization and Asset Allocation についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!