# Ceteris Lab downloadable Python script
# Course: Fundamentals of Python for Financial Econometrics

import numpy as np
from statsmodels.tsa.arima_process import ArmaProcess
from statsmodels.tsa.arima.model import ARIMA

rng = np.random.default_rng(19)
process = ArmaProcess(ar=[1, -0.65], ma=[1, 0.35])
x = process.generate_sample(500, distrvs=rng.standard_normal)
fit = ARIMA(x, order=(1, 0, 1), trend="c").fit()
print(fit.params.round(3))

forecast = fit.get_forecast(steps=5)
mean = forecast.predicted_mean
interval = forecast.conf_int(alpha=0.05)
print(np.round(mean, 3))
print(np.round(interval[0], 3))

import numpy as np
from statsmodels.tsa.arima_process import ArmaProcess
from statsmodels.tsa.arima.model import ARIMA
rng = np.random.default_rng(19)
process = ArmaProcess(ar=[1, -0.65], ma=[1, 0.35])
x = process.generate_sample(500, distrvs=rng.standard_normal)
