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) x = np.asarray(xr) ggmod = Garch(x - x.mean()) ggmod.nar = 1 ggmod.nma = 1
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) 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)
import matplotlib.mlab as mlab from scikits.statsmodels.sandbox.tsa.arima import arma_generate_sample, arma_impulse_response from scikits.statsmodels.sandbox.tsa.arima import arma_acovf, arma_acf, ARIMA # from movstat import acf, acovf from scikits.statsmodels.sandbox.tsa import acf, acovf, pacf ar = [1.0, -0.6] # ar = [1., 0.] ma = [1.0, 0.4] # ma = [1., 0.4, 0.6] # ma = [1., 0.] mod = "" #'ma2' x = arma_generate_sample(ar, ma, 5000) x_acf = acf(x)[:10] x_ir = arma_impulse_response(ar, ma) # print x_acf[:10] # print x_ir[:10] # irc2 = np.correlate(x_ir,x_ir,'full')[len(x_ir)-1:] # print irc2[:10] # print irc2[:10]/irc2[0] # print irc2[:10-1] / irc2[1:10] # print x_acf[:10-1] / x_acf[1:10] # detrend helper from matplotlib.mlab def detrend(x, key=None): if key is None or key == "constant": return detrend_mean(x) elif key == "linear":
def test_acf(): acf_x = tsa.acf(x100, unbiased=False)[:21] assert_array_almost_equal(mlacf.acf100.ravel(), acf_x, 8) #why only dec=8 acf_x = tsa.acf(x1000, unbiased=False)[:21] assert_array_almost_equal(mlacf.acf1000.ravel(), acf_x, 8) #why only dec=9