MATLAB Answers

fmincon-Getting error Unable to perform assignment because dot indexing is not supported for variables of this type

4 views (last 30 days)
Diego Tintori
Diego Tintori on 16 Nov 2019
Commented: Walter Roberson on 18 Nov 2019
k=garchFunction(u)
u=[0 0 0]
A=[0 1 1]
b=1
Aeq=[]
beq=[]
lb=[0 0 0]
up=[1 1 1]
[x,fval]=fminunc(@garchFunction,u,A,b,Aeq,beq,lb,up)
function y = garchFunction(x) %function for likelihood
Values1814=xlsread('C:\Users\pc\OneDrive - stud.unifi.it\Desktop\Econometrix\CAC40(2014-2018).csv','E2:E1024')
Values=Values1814/(10^6)
returns=tick2ret(Values)
returns=returns-mean(returns)
T=length(returns)
omega=x(1);
alpha=x(2);
beta=x(3);
sigma=zeros(T,1)
sigma(1)=0.011207749644594;
likelihood=0
for i=2:T;
sigma(i) = sqrt( omega + alpha*returns(i-1)^2 + beta*sigma(i-1)^2 );
likelihood = likelihood + 0.5*(-log(2*pi)-log(sigma(i)^2) - (returns(i)/sigma(i))^2);
end
y = -likelihood;
end
I have this function for the estimation of the maximum likelihood for garch. However, although it estimats perfectly the likelihood, once I want to minimize it trough the function fmincon i get the error shown in the Title. Can someone help me understand what is wrong? Thanks.

  12 Comments

Show 9 older comments
Walter Roberson
Walter Roberson on 17 Nov 2019
The code calls fminunc but you write fmincon repeatedly. The difference could be important to reproducing the problem.

Sign in to comment.

Answers (0)

Sign in to answer this question.

Tags