Clear Filters
Clear Filters

maximisation of the utility function , portfolio optimization

14 views (last 30 days)
Hi,
I am trying to miximize a utility function of an investor , I use CRRA utility , , , is known such that
, , , , γ is risk averse with constant value and ( R_1,...,R_4 ) is the matrix returns in excel file with 4 asstes and 249 observations and
So , everthing is known except from the weights ( x_1,...,x_4) , I need to find the optimal weights $x_i$ which maximize expected utility with constraint
I don't know how to solve this optimization problem , does this problem nonlinear optimization problem ?
Thank you
  2 Comments
Torsten
Torsten on 7 Feb 2023
R_t is a time-dependent random variable ? What distribution follow its components ?
sum_{i=1}^{i=4} x_i*R_t is meant to be x(1)*R_t(1,:) + x(2)*R_t(2,:) + x(3)*R_t(3,:) + x(4)*R_t(4,:) ?
How is u(c) defined with c being a vector ?
I guess E[...] is expectation ?
You need to explain your problem in more detail to get an answer.
Az.Sa
Az.Sa on 7 Feb 2023
I updated my question with more details , I hope it's clear now

Sign in to comment.

Accepted Answer

Torsten
Torsten on 7 Feb 2023
Calculate W1*Rt1, W2*Rt2,...,W4*Rt4. Let Wi*Rti be maximum. Then (assuming gamma < 1) x_i = 1, x_j = 0 for i~=j is optimal.
  8 Comments
Az.Sa
Az.Sa on 8 Feb 2023
Thank you very much it works with me however it gives me the following
Local minimum possible. Constraints satisfied.
fmincon stopped because the size of the current step is less than
the value of the step size tolerance and constraints are
satisfied to within the value of the constraint tolerance.
is there any different function I can apply it to compare the results ?
Torsten
Torsten on 8 Feb 2023
Edited: Torsten on 8 Feb 2023
is there any different function I can apply it to compare the results ?
You could try "ga".
For completeness, you should add the bound constraints
lb = zeros(4,1);
ub = ones(4,1);
as lower and upper bound constraints for the x(i):
W = ...;
R = ...;
gamma = ...;
Aeq = [1 1 1 1];
beq = 1;
lb = zeros(4,1);
ub = ones(4,1);
u = @(x) 1/(1-gamma)*x.^(1-gamma);
obj = @(x)-sum(u(x.'*W*R));
x = fmincon(obj,0.25*ones(1,4),[],[],Aeq,beq,lb,ub)

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!