* * Example from section 5.6 on pp 236 * open data ch05_ibmstock_5days.dat data(format=free,org=columns) 1 3534 dur * * WACD model with shape parameter alpha * nonlin omega0 gamma1 omega1 alpha * set psi = 1.0 frml edur = omega0+gamma1*dur{1}+omega1*psi{1} * * eta is the scale parameter to make the mean of the Weibull * equal to the new value of psi * frml logl = (psi=edur),(gma=%lngamma(1+1.0/alpha)),(eta=psi/exp(gma)),$ log(alpha)+(alpha-1)*log(dur)-alpha*log(eta)-(dur/eta)**alpha stats dur compute omega0=%mean,gamma1=omega1=0.0,alpha=1.0 maximize(method=bfgs,iters=500) logl 2 * * * Threshold model * nonlin lomega0 lgamma1 lomega1 uomega0 ugamma1 uomega1 lalpha ualpha frml ldur = lomega0+lgamma1*dur{1}+lomega1*psi{1} frml udur = uomega0+ugamma1*dur{1}+uomega1*psi{1} frml llogl = (psi=ldur),(gma=%lngamma(1+1.0/lalpha)),(eta=psi/exp(gma)),$ log(lalpha)+(lalpha-1)*log(dur)-lalpha*log(eta)-(dur/eta)**lalpha frml ulogl = (psi=udur),(gma=%lngamma(1+1.0/ualpha)),(eta=psi/exp(gma)),$ log(ualpha)+(ualpha-1)*log(dur)-ualpha*log(eta)-(dur/eta)**ualpha frml logl = %if(dur{1}<=3.79,llogl,ulogl) stats dur compute lomega0=%mean,lgamma1=lomega1=0.0,lalpha=1.0 compute uomega0=%mean,ugamma1=uomega1=0.0,ualpha=1.0 maximize(method=bfgs,iters=500) logl 2 * * * Save thing with lomega0 and ugamma1 restricted to zero. * nonlin lomega0=0.0 lgamma1 lomega1 uomega0 ugamma1=0.0 uomega1 lalpha ualpha maximize(method=bfgs,iters=500) logl 2 * * set normed = dur/psi * set lagone = normed{1} set lagtwo = normed{2} set lag3 = normed{3} set lag4 = normed{4} @tsaytest(threshold=lagtwo) normed 10 * # constant normed{1 to 4}