help for the 2 factor EGARCH
Posted: Fri Oct 18, 2013 10:07 am
please help
I already check the data delete all the data if it have hi<c<lo , hi=daily highest price, c= daily close price and lo= daily lowest price.
And also check out and delete the data if it have c(i)=c(i+1).
But still output error
## MAT13. Store into Out-of-Range Matrix or Series Element
The Error Occurred At Location 0788 of loop/block
Line 33 of loop/block
the code is below:
all 3876
open data X:\AUD.xls
data(format=xls,org=obs) /
close data
set lh / = log(hi)
set ll / = log(lo)
set r / = (((lh-ll)**2.0)/(4*log(2)))**0.5
SET Range = log(LH - LL)
SET Ret = LOG(C/C{1})
linreg(NOPRINT) Ret / E
#constant
comp tau2 = 240
comp tau1=fix(%max(1,tau2-19))
comp k=0
do i=500,5540-tau2,tau2
comp k=k+1
declare series u
declare series h
declare series Q
STATS(NOPRINT) RANGE
SET Q / = EXP(%MEAN)
SET H / = EXP(RANGE - 0.43)
SET U / = 0.0
nonlin A1 A3 A4 B1 B2 B3 B4
compute A1=0.5, A3=0.05,A4=-0.1, B1=1, B2=0.9,B3=0.05,B4=-0.1
frml res = (RANGE -0.43 -LOG(H))/0.29
frml QF = exp(B1+B2*log(Q{1})+B3*u{1} +B4*E{1}/h{1})
frml HF = exp(A1*LOG(Q{1})+(1-A1)*log(h{1}) +A3*u{1} +A4*E{1}/h{1})
frml logl = (h(t)=hf(t)),(q(t)=qf(t)),(u(t)=res(t)),-0.5*u(t)**2/.29**2
maximize(method=genetic,NOPRINT, iters=100) LOGL I-497 I
maximize(method=BFGS,NOPRINT, iters=100) LOGL I-497 I
set Q i+1 i+1 = exp(%BETA(4)+ %BETA(5)*LOG(Q(i))+%BETA(6)*u(i) + %BETA(7)*E(i)/h(i))
set H i+1 i+1 = exp(%BETA(1)*LOG(Q(i))+(1-%BETA(1))*log(h(i))+%BETA(2)*u(i) + %BETA(3)*E(i)/h(i))
do j =1,tau2
set ract j j = r(i+j)
set Q i+j+1 i+j+1 = EXP(%BETA(4) +%BETA(5)*log(Q(I+j)))
set H i+j+1 i+j+1 = EXP(%BETA(1)*LOG(Q(i+j))+(1-%BETA(1))*log(H(I+j)))
end do j
stat(noprint) ract tau1 tau2
set ractbar k k = %mean
stat(noprint) H tau1 tau2
set rforbar k k = %mean
end do i
linreg(noprint) ractbar 1 k
#constant rforbar
comp a=%beta(1);comp as=%stderrs(1)
comp b=%beta(2);comp bs=%stderrs(2)
comp rsq=%rsquared
test(noprint)
# 1 2
# 0.0 1.0
comp fstat=%cdstat
set error2 1 k = (ractbar-rforbar)**2.0
stat(noprint) error2 1 k
comp mse=(%mean*k/(k-1))**0.5
disp tau1 tau2 mse 100*a 100*as b bs rsq fstat
## MAT13. Store into Out-of-Range Matrix or Series Element
The Error Occurred At Location 0788 of loop/block
Line 33 of loop/block
I already check the data delete all the data if it have hi<c<lo , hi=daily highest price, c= daily close price and lo= daily lowest price.
And also check out and delete the data if it have c(i)=c(i+1).
But still output error
## MAT13. Store into Out-of-Range Matrix or Series Element
The Error Occurred At Location 0788 of loop/block
Line 33 of loop/block
the code is below:
all 3876
open data X:\AUD.xls
data(format=xls,org=obs) /
close data
set lh / = log(hi)
set ll / = log(lo)
set r / = (((lh-ll)**2.0)/(4*log(2)))**0.5
SET Range = log(LH - LL)
SET Ret = LOG(C/C{1})
linreg(NOPRINT) Ret / E
#constant
comp tau2 = 240
comp tau1=fix(%max(1,tau2-19))
comp k=0
do i=500,5540-tau2,tau2
comp k=k+1
declare series u
declare series h
declare series Q
STATS(NOPRINT) RANGE
SET Q / = EXP(%MEAN)
SET H / = EXP(RANGE - 0.43)
SET U / = 0.0
nonlin A1 A3 A4 B1 B2 B3 B4
compute A1=0.5, A3=0.05,A4=-0.1, B1=1, B2=0.9,B3=0.05,B4=-0.1
frml res = (RANGE -0.43 -LOG(H))/0.29
frml QF = exp(B1+B2*log(Q{1})+B3*u{1} +B4*E{1}/h{1})
frml HF = exp(A1*LOG(Q{1})+(1-A1)*log(h{1}) +A3*u{1} +A4*E{1}/h{1})
frml logl = (h(t)=hf(t)),(q(t)=qf(t)),(u(t)=res(t)),-0.5*u(t)**2/.29**2
maximize(method=genetic,NOPRINT, iters=100) LOGL I-497 I
maximize(method=BFGS,NOPRINT, iters=100) LOGL I-497 I
set Q i+1 i+1 = exp(%BETA(4)+ %BETA(5)*LOG(Q(i))+%BETA(6)*u(i) + %BETA(7)*E(i)/h(i))
set H i+1 i+1 = exp(%BETA(1)*LOG(Q(i))+(1-%BETA(1))*log(h(i))+%BETA(2)*u(i) + %BETA(3)*E(i)/h(i))
do j =1,tau2
set ract j j = r(i+j)
set Q i+j+1 i+j+1 = EXP(%BETA(4) +%BETA(5)*log(Q(I+j)))
set H i+j+1 i+j+1 = EXP(%BETA(1)*LOG(Q(i+j))+(1-%BETA(1))*log(H(I+j)))
end do j
stat(noprint) ract tau1 tau2
set ractbar k k = %mean
stat(noprint) H tau1 tau2
set rforbar k k = %mean
end do i
linreg(noprint) ractbar 1 k
#constant rforbar
comp a=%beta(1);comp as=%stderrs(1)
comp b=%beta(2);comp bs=%stderrs(2)
comp rsq=%rsquared
test(noprint)
# 1 2
# 0.0 1.0
comp fstat=%cdstat
set error2 1 k = (ractbar-rforbar)**2.0
stat(noprint) error2 1 k
comp mse=(%mean*k/(k-1))**0.5
disp tau1 tau2 mse 100*a 100*as b bs rsq fstat
## MAT13. Store into Out-of-Range Matrix or Series Element
The Error Occurred At Location 0788 of loop/block
Line 33 of loop/block