Output - Group - Work - Project - 4652 - GWP1.ipynb - Colaboratory
Output - Group - Work - Project - 4652 - GWP1.ipynb - Colaboratory
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import yfinance as yf
from statsmodels.tsa.stattools import acf
from statsmodels.graphics.tsaplots import plot_acf
from statsmodels.tsa.statespace.sarimax import SARIMAX
#calculate Skewness
data_skewness=data.skew()
print("\n Skewness:", data_skewness)
# Plot ACF of squared returns to help determine the lag order 'q'
plot_acf(returns**2, lags=lag_order, zero=False)
plt.title("ACF of Squared Returns")
plt.show()
################################################################################
[*********************100%%**********************] 1 of 1 completed
Skewness: 0.013465137067421093
/usr/local/lib/python3.10/dist-packages/statsmodels/tsa/base/tsa_model.py:473: Va
1 of 6 30/11/23, 2:02 am
Group_Work_Project_4652_GWP1.ipynb - Colaboratory https://colab.research.google.com/drive/19j96PkHCJMh2HbVI3m763...
/usr/local/lib/python3.10/dist-packages/statsmodels/tsa/base/tsa_model.py:473: Va
self._init_dates(dates, freq)
/usr/local/lib/python3.10/dist-packages/statsmodels/tsa/base/tsa_model.py:473: Va
self._init_dates(dates, freq)
SARIMAX Results
==============================================================================
Dep. Variable: Adj Close No. Observations: 250
Model: SARIMAX(0, 0, 9) Log Likelihood 1400.291
Date: Wed, 29 Nov 2023 AIC -2780.583
Time: 19:47:50 BIC -2745.368
Sample: 0 HQIC -2766.410
- 250
Covariance Type: opg
==============================================================================
coef std err z P>|z| [0.025 0.975]
------------------------------------------------------------------------------
ma.L1 0.1019 0.092 1.106 0.269 -0.079 0.282
ma.L2 -0.0069 0.093 -0.074 0.941 -0.189 0.175
ma.L3 0.0119 0.068 0.175 0.861 -0.122 0.146
ma.L4 0.0745 0.066 1.133 0.257 -0.054 0.204
ma.L5 0.1618 0.077 2.110 0.035 0.012 0.312
ma.L6 0.0528 0.076 0.697 0.486 -0.096 0.201
ma.L7 0.0064 0.108 0.059 0.953 -0.206 0.219
ma.L8 -0.0064 0.104 -0.062 0.951 -0.211 0.198
ma.L9 0.3430 0.043 8.058 0.000 0.260 0.426
sigma2 7.856e-07 3.71e-08 21.191 0.000 7.13e-07 8.58e-07
=================================================================================
Ljung-Box (L1) (Q): 0.34 Jarque-Bera (JB): 2790.
Prob(Q): 0.56 Prob(JB): 0.
Heteroskedasticity (H): 2.85 Skew: 3.
Prob(H) (two-sided): 0.00 Kurtosis: 18.
=================================================================================
Warnings:
[1] Covariance matrix calculated using the outer product of gradients (complex-st
2 of 6 30/11/23, 2:02 am
Group_Work_Project_4652_GWP1.ipynb - Colaboratory https://colab.research.google.com/drive/19j96PkHCJMh2HbVI3m763...
#KURTOSIS
#To mitigate Kurtosis, we consider alternative models like TARCH for handling
## kurtosis and utilize GARCH models to account for heteroscedasticity in time series
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import yfinance as yf
from statsmodels.tsa.stattools import acf
from statsmodels.graphics.tsaplots import plot_acf
from statsmodels.tsa.statespace.sarimax import SARIMAX
###############################################################################
[*********************100%%**********************] 1 of 1 completed
/usr/local/lib/python3.10/dist-packages/statsmodels/tsa/base/tsa_model.py:473: Va
self._init_dates(dates, freq)
/usr/local/lib/python3.10/dist-packages/statsmodels/tsa/base/tsa_model.py:473: Va
self._init_dates(dates, freq)
SARIMAX Results
==============================================================================
Dep. Variable: Adj Close No. Observations: 250
Model: SARIMAX(0, 0, 9) Log Likelihood 1419.064
Date: Wed, 29 Nov 2023 AIC -2814.127
Time: 20:12:09 BIC -2771.870
Sample: 0 HQIC -2797.120
- 250
Covariance Type: opg
3 of 6 30/11/23, 2:02 am
Group_Work_Project_4652_GWP1.ipynb - Colaboratory https://colab.research.google.com/drive/19j96PkHCJMh2HbVI3m763...
Warnings:
[1] Covariance matrix calculated using the outer product of gradients (complex-st
/usr/local/lib/python3.10/dist-packages/statsmodels/base/model.py:607: Convergenc
warnings.warn("Maximum Likelihood optimization failed to "
#SENSITIVITY TO OUTLIERS
#To mitigate sensitivity to outliers HuberRegressor from scikit-learn is used,
## which utilizes the Huber loss function.
import yfinance as yf
import numpy as np
from sklearn.linear_model import HuberRegressor
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
import matplotlib.pyplot as plt
4 of 6 30/11/23, 2:02 am
Group_Work_Project_4652_GWP1.ipynb - Colaboratory https://colab.research.google.com/drive/19j96PkHCJMh2HbVI3m763...
[*********************100%%**********************] 1 of 1 completed
Mean Squared Error: 300.52260367986287
/usr/local/lib/python3.10/dist-packages/sklearn/utils/validation.py:1143: DataCon
y = column_or_1d(y, warn=True)
5 of 6 30/11/23, 2:02 am
Group_Work_Project_4652_GWP1.ipynb - Colaboratory https://colab.research.google.com/drive/19j96PkHCJMh2HbVI3m763...
6 of 6 30/11/23, 2:02 am