import numpy as np
from statsmodels.tsa.arima_process import arma_generate_sample
from statsmodels.iolib import savetxt

np.random.seed(12345)

# no constant
y_arma11 = arma_generate_sample([1., -.75], [1., .35], nsample=250)
y_arma14 = arma_generate_sample([1., -.75], [1., .35, -.75, .1, .35],
                                nsample=250)
y_arma41 = arma_generate_sample([1., -.75, .25, .25, -.75], [1., .35],
                                nsample=250)
y_arma22 = arma_generate_sample([1., -.75, .45], [1., .35, -.9], nsample=250)

y_arma50 = arma_generate_sample([1., -.75, .35, -.3, -.2, .1], [1.],
                                nsample=250)

y_arma02 = arma_generate_sample([1.], [1., .35, -.75], nsample=250)


# constant
constant = 4.5
y_arma11c = arma_generate_sample([1., -.75], [1., .35], nsample=250) + constant
y_arma14c = arma_generate_sample([1., -.75], [1., .35, -.75, .1, .35],
                                 nsample=250) + constant
y_arma41c = arma_generate_sample([1., -.75, .25, .25, -.75], [1., .35],
                                 nsample=250) + constant
y_arma22c = arma_generate_sample([1., -.75, .45], [1., .35, -.9],
                                 nsample=250) + constant

y_arma50c = arma_generate_sample([1., -.75, .35, -.3, -.2, .1], [1.],
                                 nsample=250) + constant

y_arma02c = arma_generate_sample([1.], [1., .35, -.75], nsample=250) + constant

savetxt(
    'y_arma_data.csv',
    np.column_stack((y_arma11, y_arma14, y_arma41,
                     y_arma22, y_arma50, y_arma02,
                     y_arma11c, y_arma14c, y_arma41c,
                     y_arma22c, y_arma50c, y_arma02c)),
    names=['y_arma11', 'y_arma14', 'y_arma41',
           'y_arma22', 'y_arma50', 'y_arma02',
           'y_arma11c', 'y_arma14c', 'y_arma41c',
           'y_arma22c', 'y_arma50c', 'y_arma02c'],
    delimiter=",")
