portfolio optimization using fmincon

2 vues (au cours des 30 derniers jours)
Nathaniel Comar
Nathaniel Comar le 13 Mar 2017
I am trying to predict the weights for my stocks that optimize my portfolio by reducing variance. My equation that I am using to predict the variance is
>>function f = varmin(x,VCV) >>f = ((x' * VCV) * x);
where x is the weights and VCV is the variance covariance matrix. Every time I run the program fmincon, I get an error relating to my function "varmin" saying
>>Not enough input arguments.
>>Error in varmin (line 2) >>f = ((x' * VCV) * x);
>>error in fmincon (line 536) >> initVals.f = feval(funfcn{3},X,varargin{:});
>>Caused by: >> Failure in initial objective function evaluation. FMINCON cannot >>continue.
this is what the fmincon equation looks like
>>w = fmincon('varmin',x,a,b,Aeq,Beq,MinWt,MaxWt);
if anyone has any advice that would be greatly appreciated.
  1 commentaire
nadia meftah
nadia meftah le 22 Avr 2017
what means a,b, x . so defined that

Connectez-vous pour commenter.

Réponse acceptée

Alan Weiss
Alan Weiss le 13 Mar 2017
If VCV is a given matrix in your workspace, take
fun = @(x)x'*VCV*x;
and then call
w = fmincon(fun,x,a,b,Aeq,Beq,MinWt,MaxWt);
Make sure that your initial x (which I would call x0) is a column vector.
Alan Weiss
MATLAB mathematical toolbox documentation
  6 commentaires
Nathaniel Comar
Nathaniel Comar le 13 Mar 2017
Modifié(e) : Nathaniel Comar le 13 Mar 2017
Ah thank you for clarifying. I got it to work. Thank you for your help
Muhammad Zain Razak
Muhammad Zain Razak le 26 Juil 2019
Hi
Does the VCV is the 3x3 matrix?

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by