Failure in initial objective function evaluation. FMINCON cannot continue
Mostra commenti meno recenti
[Lambda] =(mean(Benchmark)-monatlrisikofreierZins)/(2*std(Benchmark)^2);
Zielfunktion = (@(Ausgangsgewichte)Ausgangsgewichte'*(-Alpha)+Lambda*(-(AktiveGewichte'*Kovarianz*AktiveGewichte)));
Aeq=[ones(1,assets);-Beta'];
beq=[1;-1];
OptimierteGewichte = fmincon(Zielfunktion,Ausgangsgewichte,[],[],Aeq,beq,untereGrenze,obereGrenze);
AktiveGewichte = OptimierteGewichte - BenchmarkGewichte;
Error using *
Incorrect dimensions for matrix multiplication. Check that the number of columns in the first matrix matches the number of rows in the
second matrix. To perform elementwise multiplication, use '.*'.
Error in RelativeOptimierung>@(Ausgangsgewichte)Ausgangsgewichte'*(-Alpha)+Lambda*(-(AktiveGewichte'*Kovarianz*AktiveGewichte))
Error in fmincon (line 546)
initVals.f = feval(funfcn{3},X,varargin{:});
Error in RelativeOptimierung (line 47)
OptimierteGewichte = fmincon(Zielfunktion,Ausgangsgewichte,[],[],Aeq,beq,untereGrenze,obereGrenze);
Caused by:
Failure in initial objective function evaluation. FMINCON cannot continue.
1 Commento
Risposte (1)
Rebecca Biegger
il 11 Apr 2019
0 voti
5 Commenti
Brendan Hamm
il 11 Apr 2019
The optimization toolbox will make Ausgangssgewichte a column vector. I'm a bit confused as this is the design variable, so you cannot actually call size(Ausgangsgewichte) which leads me to believe you assumed it to be of this size, but it is not.
Rebecca Biegger
il 11 Apr 2019
Rebecca Biegger
il 11 Apr 2019
Try
Zielfunktion = @(Ausgangsgewichte) -Ausgangsgewichte*Alpha + Lambda*(-(AktiveGewichte*Kovarianz*AktiveGewichte.'));
But I'm confused about the part
Lambda*(-(AktiveGewichte*Kovarianz*AktiveGewichte.'))
If this part doesn't depend on "Ausgangsgewichte", you don't have to consider it in the objective function.
Categorie
Scopri di più su Get Started with Optimization Toolbox in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!