# res = arest2.fit_mle(start_params=start_params_mle, method='nm') #no order in fit print res.params rhohat2, cov_x2a, infodict, mesg, ier = arest2.fit((2, 2)) print '\nARIMA_old' arest = ARIMA_old(y22) rhohat1, cov_x1, infodict, mesg, ier = arest.fit((2, 0, 2)) print rhohat1 print np.sqrt(np.diag(cov_x1)) err1 = arest.errfn(x=y22) print np.var(err1) print 'bse ls, formula not checked' print np.sqrt(np.diag(cov_x1)) * err1.std() print 'bsejac for mle' #print arest2.bsejac #TODO:check bsejac raises singular matrix linalg error #in model.py line620: return np.linalg.inv(np.dot(jacv.T, jacv)) print '\nyule-walker' print sm.regression.yule_walker(y22, order=2, inv=True) print '\nArmamle_old' arma1 = Armamle_old(y22) arma1.nar = 2 arma1.nma = 2 #arma1res = arma1.fit(start_params=np.r_[-0.5, -0.1, 0.1, 0.1, 0.5], method='fmin') #maxfun=1000) arma1res = arma1.fit(start_params=res.params * 0.7, method='fmin') print arma1res.params
llf = loglike_GARCH11(g11res, errgjr4 - errgjr4.mean()) print(llf[0]) if 'rpyfit' in examples: from rpy import r r.library('fGarch') f = r.formula('~garch(1, 1)') fit = r.garchFit(f, data=errgjr4 - errgjr4.mean(), include_mean=False) if 'rpysim' in examples: from rpy import r f = r.formula('~garch(1, 1)') #fit = r.garchFit(f, data = errgjr4) x = r.garchSim(n=500) print('R acf', tsa.acf(np.power(x, 2))[:15]) arma3 = Arma(np.power(x, 2)) arma3res = arma3.fit(start_params=[-0.2, 0.1, 0.5], maxiter=5000) print(arma3res.params) arma3b = Arma(np.power(x, 2)) arma3bres = arma3b.fit(start_params=[-0.2, 0.1, 0.5], maxiter=5000, method='bfgs') print(arma3bres.params) xr = r.garchSim(n=100) x = np.asarray(xr) ggmod = Garch(x - x.mean()) ggmod.nar = 1 ggmod.nma = 1 ggmod._start_params = np.array([-0.6, 0.1, 0.2, 0.0])
arest2.nma = 2 # res = arest2.fit_mle(start_params=start_params_mle, method='nm') #no order in fit print(res.params) rhohat2, cov_x2a, infodict, mesg, ier = arest2.fit((2,2)) print('\nARIMA_old') arest = ARIMA_old(y22) rhohat1, cov_x1, infodict, mesg, ier = arest.fit((2,0,2)) print(rhohat1) print(np.sqrt(np.diag(cov_x1))) err1 = arest.errfn(x=y22) print(np.var(err1)) print('bse ls, formula not checked') print(np.sqrt(np.diag(cov_x1))*err1.std()) print('bsejac for mle') #print arest2.bsejac #TODO:check bsejac raises singular matrix linalg error #in model.py line620: return np.linalg.inv(np.dot(jacv.T, jacv)) print('\nyule-walker') print(sm.regression.yule_walker(y22, order=2, inv=True)) print('\nArmamle_old') arma1 = Armamle_old(y22) arma1.nar = 2 arma1.nma = 2 #arma1res = arma1.fit(start_params=np.r_[-0.5, -0.1, 0.1, 0.1, 0.5], method='fmin') # maxfun=1000) arma1res = arma1.fit(start_params=res.params*0.7, method='fmin') print(arma1res.params)
llf = loglike_GARCH11(g11res, errgjr4-errgjr4.mean()) print(llf[0]) if 'rpyfit' in examples: from rpy import r r.library('fGarch') f = r.formula('~garch(1, 1)') fit = r.garchFit(f, data = errgjr4-errgjr4.mean(), include_mean=False) if 'rpysim' in examples: from rpy import r f = r.formula('~garch(1, 1)') #fit = r.garchFit(f, data = errgjr4) x = r.garchSim( n = 500) print('R acf', tsa.acf(np.power(x,2))[:15]) arma3 = Arma(np.power(x,2)) arma3res = arma3.fit(start_params=[-0.2,0.1,0.5],maxiter=5000) print(arma3res.params) arma3b = Arma(np.power(x,2)) arma3bres = arma3b.fit(start_params=[-0.2,0.1,0.5],maxiter=5000, method='bfgs') print(arma3bres.params) xr = r.garchSim( n = 100) x = np.asarray(xr) ggmod = Garch(x-x.mean()) ggmod.nar = 1 ggmod.nma = 1 ggmod._start_params = np.array([-0.6, 0.1, 0.2, 0.0]) ggres = ggmod.fit(start_params=np.array([-0.6, 0.1, 0.2, 0.0]), maxiter=1000) print('ggres.params', ggres.params)