Ejemplo n.º 1
0
import pandas as pd
import matplotlib.pyplot as plt
import DataLoader as dl
import Helpers as hlp
import arch
import statsmodels.api as sm
from scipy.signal import detrend
from statsmodels.graphics.tsaplots import plot_acf, plot_pacf


for cur in dl.valid_currencies():
    print 'Evaluating {}'.format(cur)

    c_train, c_test = dl.load_test_train(cur)
    
    train_volatility = hlp.rolling_standard_dev(c_train.values)
    test_volatility = hlp.rolling_standard_dev(c_test.values)

    garch_model = arch.arch_model(train_volatility).fit()

    params = garch_model.params['omega'],\
                garch_model.params['alpha[1]'],\
                garch_model.params['beta[1]']
        
    forecaster = hlp.GarchForecaster(params)

    garch_predict = pd.Series(test_volatility,dtype=float)\
                        .apply(lambda x: forecaster.forecast(x))\
                        .shift(1)