maximisation of the utility function , portfolio optimization

4 visualizzazioni (ultimi 30 giorni)
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 Commenti
Torsten
Torsten il 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 il 7 Feb 2023
I updated my question with more details , I hope it's clear now

Accedi per commentare.

Risposta accettata

Torsten
Torsten il 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 Commenti
Az.Sa
Az.Sa il 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 il 8 Feb 2023
Modificato: Torsten il 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)

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by