Active overweight constraint in portCons
11 次查看(过去 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,9:58
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
about 16 hours 前
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!