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?

回答(2 个)

Meet
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!!

Alejandra Pena-Ordieres
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

类别

Help CenterFile 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!

Translated by