模型的自相关系数计算_时间序列分析 | GARCH模型的一些相关代码

2b83c953cdac88cced4f690dd445f2f8.png

我们现在的时间序列课程简直了,PPT上好多typo,记号也很乱,网课卡成一个字一个字的。。。人生艰难

这篇会分享:1.一些关于资产收益的性质;2.模拟GARCH模型的代码;3.关于条件异方差的一些相关代码。

我对着老师时常有错误的PPT和R code瞪了半天终于感觉自己似乎理清了思路,然后模模糊糊地完成了作业。大家如果有发现错误或者需要改进的地方,欢迎提出~


这里,我们假设GARCH(p,q)模型为【可能和你们一般的p,q恰好反过来,我们老师PPT上全部是这样顺序的记号】:

这里,我们称

为新息(innovation),
为条件波动率(volatility),
为收益(returns)。

一些关于资产收益的性质 (stylized facts of asset returns)

来自论文Empirical properties of asset returns: stylized facts and statistical issues

在金融资产里,如果我们收集到了一个时间序列,比如某金融资产的日价格

,那么第
天的收益率定义为
,这里的
就是我们上边模型中的
。下边我们仍然延续使用
的记号。

1.缺乏自相关性(absence of autocorrelation)

资产收益

的自相关系数通常都是不显著的

2. 重尾(heavy tails)

资产收益

的非条件分布的尾通常类似幂律分布(power-law)或者是一个类帕累托分布(Pareto-like),尾指数通常是一般数据的两倍以上五倍以下。

3.收益/损失不对称(gain/loss asymmetry)

股票价格与股票指数有很大的衰减但是极大的上升趋势却是不相等的【这里我也很迷惑,我不了解股票。。。】

4.聚集高斯性(aggregational gaussianity)

当我们增大了收益的计算时间间隔

时,收益的分布会更加像正态分布。特别低,分布的形状在不同的计算时间间隔下是不同的。

5.间歇性(intermittency)

收益在任意的时间间隔下都表现出极大的可变性(variability),通常,我们会画出波动率估计值(volatility estimators)的时间序列图,而在这个时间序列图上会出现不规则的波动(irregular bursts)。

6.波动聚集性(volatility clustering)

波动率会在几天内呈现的正的自相关系数。

7.条件重尾(conditional heavy tails)

我们在利用了GARCH模型进行拟合之后,相当于对波动聚集性做了校正,但是模型的残差序列仍然表现出重尾。但是,这里的重尾会比收益非条件的分布平缓一些。

8.收益绝对值自相关系数缓慢衰减(slow decay of autocorrelation in absolute returns)

收益的绝对值的自相关系数随着时间呈现缓慢的衰减。

9.杠杆效应(leverage effect)

很多情况下,波动率与收益呈现负相关

10.体积/波动 相关性(volumn/volatility correlation)

交易量(tradeing volume)与所有的波动率相关。

11.时间不对称性(asymmetry in time scales)

粗粒度的波动率比细粒度的波动率更容易预测。(这个我完全不理解)


一个模拟GARCH模型的代码

library(TSA)

c=0.1
b=0.08  #beta
a=0.82  #alpha
#.Random.seed = .seed20140224
x= 1:2000    #data structure
v=x #data structure
v[1]=c/(1-a-b)               #unconditional variance
x[1]=rnorm(1)*sqrt(v[1])     #unconditional marginal

for(i in 2:2000) 
    {
    v[i] = c+a*x[i-1]*x[i-1]+b*v[i-1]
    x[i] = sqrt(v[i])*rnorm(1)
    }
x = x[1001:2000]
plot(x)

sigma=sqrt(v[1001:2000])
#library("TSA")
sd(x); kurtosis(x)


#x=garch.sim(alpha=c(c, a), beta=b, n=1000)
#tt="package:TSA"
#detach(tt, character.only = TRUE) # detach TSA from the current session

plot(x, type="l", xlab='t', ylab='', main='(a) GARCH(1,1) time series', col=4)

#points(x,pch=20,col=2)
hist(x, xlab='', nclass=25, probability=T, col=3,  ylab='', main='(b) Histogram')

mu=mean(x); v=sqrt(var(x))
h=6*v/200
vv=1:200
vv[1]=mu-3*v
for(i in 2:200) vv[i]=vv[i-1]+h
y=dnorm(vv,mu,v)
lines(vv,y, col=2,lwd=2)

plot(sigma, type="l", xlab='t', ylab='', main='(c) Conditional STD', col=4)

qqnorm(x, xlab='Normal quantile', ylab='GARCH quantile', main='(d) QQ-plot', col=4)
qqline(x, col=2)

acf(x, lag=30, main='(e) ACF', ylab='', col="green")
acf(x*x, lag=30, main='(f) ACF of squared series', ylab='', col="green")
#plot(r, main='(e) ACF', ylab='', col=5)
#plot(rr, ylab='',  main='(f) ACF of squared series',col="brown")
dev.off()

关于条件异方差的一些相关代码

后边有时间再来更~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值