function xxx = ex01garchest clear; format compact; % data load dd = load('c:/data/ESSEX.csv'); % initial values data = dd(:,2)/100; irate = dd(:,3)/100/360; data = data - irate; mm = mean(data) ss = std(data) Vbar = ss^2; b = 0.7; c = 0.01; par = [0. b c]; % init garchlik(par,data,Vbar) % constraints parL = [-Inf 0.0001 0.0001]; % positive parU = [ Inf 0.9999 0.9999]; % less than one cA = [0 1 1]; % cA*par0 lik = 0.; % negative likelihood for indx=1:N error = ( data(indx) - m*sqrt(VV) + 0.5*VV ) / sqrt(VV); lik = lik + error^2 + log(VV); VV = a + b*VV + c*Vbar*error^2; V(indx+1) = VV; end else lik = Inf end