ggmod0._start_params = start_params #np.array([-0.6, 0.1, 0.2, 0.0]) ggres0 = ggmod0.fit(start_params=start_params, method='bfgs', maxiter=2000) print 'ggres0.params', ggres0.params g11res = optimize.fmin( lambda params: -loglike_GARCH11(params, errgjr4 - errgjr4.mean())[0], [0.93, 0.9, 0.2]) print g11res 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
cl = aa['Close'] ret = np.diff(np.log(cl))[-2000:]*1000. ggmod = Garch(ret - ret.mean())#hgjr4[:nobs])#-hgjr4.mean()) #errgjr4) ggmod.nar = 1 ggmod.nma = 1 ggmod._start_params = np.array([-0.1, 0.1, 0.1, 0.1]) ggres = ggmod.fit(start_params=np.array([-0.1, 0.1, 0.1, 0.0]), maxiter=1000,method='bfgs') print 'ggres.params', ggres.params garchplot(ggmod.errorsest, ggmod.h, title='Garch estimated') from rpy import r r.library('fGarch') f = r.formula('~garch(1, 1)') fit = r.garchFit(f, data = ret - ret.mean(), include_mean=False) f = r.formula('~arma(1,1) + ~garch(1, 1)') fit = r.garchFit(f, data = ret) ggmod0 = Garch0(ret - ret.mean())#hgjr4[:nobs])#-hgjr4.mean()) #errgjr4) ggmod0.nar = 1 ggmod.nma = 1 start_params = np.array([-0.1, 0.1, ret.var()]) ggmod0._start_params = start_params #np.array([-0.6, 0.1, 0.2, 0.0]) ggres0 = ggmod0.fit(start_params=start_params, maxiter=2000) print 'ggres0.params', ggres0.params g11res = optimize.fmin(lambda params: -loglike_GARCH11(params, ret - ret.mean())[0], [0.01, 0.1, 0.1]) print g11res llf = loglike_GARCH11(g11res, ret - ret.mean())
ggmod = Garch(ret - ret.mean()) #hgjr4[:nobs])#-hgjr4.mean()) #errgjr4) ggmod.nar = 1 ggmod.nma = 1 ggmod._start_params = np.array([-0.1, 0.1, 0.1, 0.1]) ggres = ggmod.fit(start_params=np.array([-0.1, 0.1, 0.1, 0.0]), maxiter=1000, method='bfgs') print('ggres.params', ggres.params) garchplot(ggmod.errorsest, ggmod.h, title='Garch estimated') use_rpy = False if use_rpy: from rpy import r r.library('fGarch') f = r.formula('~garch(1, 1)') fit = r.garchFit(f, data=ret - ret.mean(), include_mean=False) f = r.formula('~arma(1,1) + ~garch(1, 1)') fit = r.garchFit(f, data=ret) ggmod0 = Garch0(ret - ret.mean()) #hgjr4[:nobs])#-hgjr4.mean()) #errgjr4) ggmod0.nar = 1 ggmod.nma = 1 start_params = np.array([-0.1, 0.1, ret.var()]) ggmod0._start_params = start_params #np.array([-0.6, 0.1, 0.2, 0.0]) ggres0 = ggmod0.fit(start_params=start_params, maxiter=2000) print('ggres0.params', ggres0.params) g11res = optimize.fmin( lambda params: -loglike_GARCH11(params, ret - ret.mean())[0], [0.01, 0.1, 0.1]) print(g11res)
start_params = np.array([-0.6, 0.2, 0.1]) ggmod0._start_params = start_params #np.array([-0.6, 0.1, 0.2, 0.0]) ggres0 = ggmod0.fit(start_params=start_params, method='bfgs', maxiter=2000) print 'ggres0.params', ggres0.params g11res = optimize.fmin(lambda params: -loglike_GARCH11(params, errgjr4-errgjr4.mean())[0], [0.93, 0.9, 0.2]) print g11res 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)