Esempio n. 1
0
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