arma模型_GARCH模型应用:以国泰君安为例
1.下載國泰君安股票數據,計算對數收益率
(1)首先安裝包"quantmod",這個包可以從雅虎財經的下載股票數據,具體包的解釋見"【量化基礎】R語言獲取金融數據之quantmod包"。
install.packages("quantmod")#安裝包quantmod library(quantmod)#調用包 setSymbolLookup(GTJA=list(name='601211.ss',src='yahoo'))#下載國泰君安601211數據 getSymbols("GTJA") spc<-Cl(GTJA)#Cl()收盤價函數 rtn<-diff(log(spc))#對數收益率 rtn<-rtn[8:length(rtn)]#前7個數據為缺失數據,收集第8個以后數據。 ts.plot(rtn,ylab="對數收益率",main="國泰君安")#畫出國泰君安對數收益率時間序列圖2.ARMA模型建立與殘差的檢驗
- 首先調用時間序列分析包TSA: Time Series Analysis,該包包含了《時間序列分析及應用:R語言》中幾乎所有涉及到的函數;
- 然后計算自相關系數(acf),偏自相關系數(pacf)以及推廣的自相關系數(eacf),來確定ARMA的階數;
- 建立ARMA模型,計算出殘差,畫出殘差圖,計算殘差的acf,殘差平方的acf,殘差平方的pacf,殘差絕對值的acf,對殘差的平方進行Box-Ljung檢驗,判斷確定殘差是否獨立?
殘差圖
殘差圖分析:從殘差圖中可以看出有平靜和波動相互交替的現象,從而說明對數收益率的條件方差隨時間的變化而變化。
畫出殘差、殘差平方acf與pacf圖以及絕對值pacf圖
par(mfrow=c(4,1)) acf(resi) acf(resi^2) pacf(resi^2) acf(abs(resi))殘差的acf,殘差平方的acf,pacf以及殘差絕對值的acf圖從上圖可以看出,殘差的平方具有相關性,從而說明殘差不獨立且條件方差不是常數。
Box-Ljung檢驗
Box.test(resi^2,lag=12,type="Ljung")檢驗結果
--------------------
Box-Ljung test
data: resi^2
X-squared = 281.04, df = 12, p-value < 2.2e-16
------------------------------------------
結果分析:
3.arma(2,2)+garch(1,1)模型建立、殘差檢驗以及預測
install.packages("fGarch")#安裝包garch模型包 library(fGarch)#調用fGarch包 m2<-garchFit(~arma(2,2)+garch(1,1),data=rtn,trace=F) summary(m2)程序結果:
-----------------------
Title:
GARCH Modelling
Call:
garchFit(formula = ~arma(2, 2) + garch(1, 1), data = rtn, trace = F)
Mean and Variance Equation:
data ~ arma(2, 2) + garch(1, 1)
<environment: 0x000000002c719990>
[data = rtn]
Conditional Distribution:
norm
Coefficient(s):
mu ar1 ar2 ma1 ma2 omega
1.0790e-04 3.6944e-01 -7.6402e-01 -3.9155e-01 7.3781e-01 2.1767e-06
alpha1 beta1
5.6396e-02 9.3788e-01
Std. Errors:
based on Hessian
Error Analysis:
Estimate Std. Error t value Pr(>|t|)
mu 1.079e-04 7.421e-04 0.145 0.884391
ar1 3.694e-01 8.957e-02 4.124 3.72e-05 ***
ar2 -7.640e-01 5.426e-02 -14.081 < 2e-16 ***
ma1 -3.915e-01 1.090e-01 -3.591 0.000329 ***
ma2 7.378e-01 6.167e-02 11.963 < 2e-16 ***
omega 2.177e-06 9.266e-07 2.349 0.018820 *
alpha1 5.640e-02 1.180e-02 4.779 1.76e-06 ***
beta1 9.379e-01 1.064e-02 88.145 < 2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Log Likelihood:
1804.476 normalized: 2.615183
Description:
Tue May 08 11:21:54 2018 by user:
Standardised Residuals Tests:
Statistic p-Value
Jarque-Bera Test R Chi^2 279.9075 0
Shapiro-Wilk Test R W 0.9502314 1.720501e-14
Ljung-Box Test R Q(10) 6.373662 0.782954
Ljung-Box Test R Q(15) 12.03866 0.6761006
Ljung-Box Test R Q(20) 21.83737 0.3494
Ljung-Box Test R^2 Q(10) 3.650817 0.9617277
Ljung-Box Test R^2 Q(15) 10.16369 0.8093186
Ljung-Box Test R^2 Q(20) 16.80866 0.6653606
LM Arch Test R TR^2 5.142881 0.9530354
Information Criterion Statistics:
AIC BIC SIC HQIC
-5.207178 -5.154579 -5.207443 -5.186832
-------------------------------
結果分析:
(1)模型為
, 為高斯白噪聲(2)模型的檢驗
標準化殘差
的檢驗的p值都大于0.05.從而說明模型是充分的。下面畫出95%點預測區(qū)間的對數收益率的時序圖:
plot(m2)然后輸入3,得到下圖
對序列進行預測,得到未來6期對數收益率預測值以及波動率。
predict(m2,6)程序結果
--------------------------------------------
meanForecast meanError standardDeviation
1 0.0009769469 0.01636570 0.01636570
2 0.0007503291 0.01638934 0.01638535
3 -0.0003613058 0.01641850 0.01640486
4 -0.0005988464 0.01643922 0.01642424
5 0.0001627066 0.01645866 0.01644349
6 0.0006255391 0.01647782 0.01646260
4. 新息服從學生t分布的GARCH(1,1)模型建立、檢驗與預測
m3<-garchFit(~arma(2,2)+garch(1,1),data=rtn,cond.dist="std",trace=F) summary(m3) plot(m3) predict(m3,6)這里結果就不在顯示。讀者自己運行并給予解釋。
5.參考文獻
【1】R語言與現代統計方法 劉強等編著 清華大學出版社
總結
以上是生活随笔為你收集整理的arma模型_GARCH模型应用:以国泰君安为例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python创建虚拟环境时出现拒绝访问_
- 下一篇: kmeans算法中的sse_聚类算法入门