portfolio optimization using fmincon

7 ビュー (過去 30 日間)
Nathaniel Comar
Nathaniel Comar 2017 年 3 月 13 日
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 件のコメント
nadia meftah
nadia meftah 2017 年 4 月 22 日
what means a,b, x . so defined that

サインインしてコメントする。

採用された回答

Alan Weiss
Alan Weiss 2017 年 3 月 13 日
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 件のコメント
Nathaniel Comar
Nathaniel Comar 2017 年 3 月 13 日
編集済み: Nathaniel Comar 2017 年 3 月 13 日
Ah thank you for clarifying. I got it to work. Thank you for your help
Muhammad Zain Razak
Muhammad Zain Razak 2019 年 7 月 26 日
Hi
Does the VCV is the 3x3 matrix?

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSolver Outputs and Iterative Display についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by