对于金融时间序列,波动率往往具有以下特征:存在波动率聚集现象,也就是波动率一段时间上高,一段时间上低

波动率以连续时间变化,很少发生跳跃

波动率不会发散到无穷,波动率往往是平稳的

波动率对价格上升和大幅下降的反应不同,这个现象为杠杆效应

1. ARCH模型

ARCH又被称为自回归条件异方差模型。在传统计量经济学中,干扰项的方差常被设为常数,但是实际情况下这样设为常数并不是最恰当的处理方式。很多时候我们可以发现,波动常常会聚集的发生,并且asset return的方差会随着时间的变化而变化。比如说在金融危机的时刻,波动密集的发生。

对于某个asset的return我们通常可以写成一下形式,其中

我们可以认为是股票每天波动的shock,

序列不相关但也不独立,因为

取决于之前的残差

其中

表示的是在已知t-1之前的所有information后得到的残差值(

)在那个时间段的方差,是一个定值

return的平均值

对于这个模型,

就是mean-corrected的arch model,它的方差会随着时间的变化而变化。而大的扰动会倾向于引起另一个大的扰动。这和股票市场上出现的波动率聚集现象类似。

在arch模型中,假设对于error scale term

有:

所以mean-corrected series

:

note: 因为

的expected return是0,所以

从上面各式我们可以看出,

的方差是由之前数值的方差所决定。

之间虽然不相互影响,但是因为

由过去的error term来决定,所以

也不是independent series

2. ARCH(1)model

当p=1的时候

在时间序列分析中,我们一般是要求stationarity在整个过程中一直是成立的,也就是在long-term上的mean和variance一样。因为要不然时间序列分析就没有意义,回归和最大似然法都是建立在这个假设前提之上

所以unconditional variance:

由于variation都是正数,所以我们要求

,而如果上述情况不成立的时候,那么回归就没法达成稳定(stationarity)

同时对于return,检验它的高阶moment是否存在,对于整个return series来说,它的kurtosis:

因为

,对于conditional

,

在已知之前方差的情况下是一共已知的量,所以conditional kurtosis of

已知等于3

而对于 unonditional kurtosis of

直接引用(证明起来有点复杂所以就直接引用):

因为我们要保证variation是positive,所以

,又因为由上述推导已知

&

,所以extra constrain applied:

已知

,所以算出

的 unconditional kurtosis:

因为

,所以

的kurtosis会大于3。所以the kurtosis of arch model with Gaussian error is in excess of a normal distribution。

3. ARCH模型估计

3.1 最小二乘法估计

一般来说都可以考虑线性回归来求相关的参数,这里的话就是(最小二乘数)minimize sum of squares

或者

,但是用这俩个式子存在的问题是要事先估计

或者

(

的方差)会随着时间的变化而变化

已知ARCH(1)中我们有:

所以minimize:

就是等于minimize

(

)

其中我们假设

为error term。对于最小二乘法求解我们通常要验证以下假设error term都是来自于一个iid的distribution,然而实际上

会随着时间的改变而发生变化

The 4th moment of the observations must exist:

must exist。但是我们看到上面

的kurtosis都存疑

而上面几个假设都是存疑的。所以线性回归估计并不是最好估计ARCH模型的方法;对于ARCH模型系数的估计,最大似然法更适用。

3.2 最大似然法估计

我们现在目前只考虑ARCH(1)模型:

所以在已知

的情况下,根据调整

来寻找下式的最大的情况下是多少

4. 例子分析

我们用matlab对一只stock用arch(1,1)进行模拟,我们有:

average volatility估计是:

上图中的innovation代表的

,我们之前的assumption中我们希望

是符合(0,1)的正态分布,所以上图可以表明我们的arch模型也许并不能很好的对volatility进行模拟

5. ARCH(P)模型的估计

对于ARCH(p)模型,我们需要将从1-p这一段的period的return作为初始用来预估的数据

6. ARCH model的适用情况

所以ARCH模型的目的是检测过去市场上的shock之间是否有关联,那么什么时候使用ARCH模型呢。有俩种方法,一种是我们可以对

进行ACF检测,一种是用Ljung-box test

Ljung-Box test:

note:当测试残差之间的covarince的时候,我们要调整degree of freedom。比如说用ARCH(p)模型然后测试Q(m),degree of freedom应该用m-p

比如我们之前对模型进行检测,因为p-val都是0,所以我们可以认为过去的市场上的波动之间是存在关联的

7. ARCH模型要选择多少个lag period

我们试用AIC或者BIC来选择lag period, 我们选择当AIC/SIC出现最小的P值作为使用的lag term。

8. ARCH模型检验

因为我们之前是假设

会符合 (0,1)的正态分布,所以如果用来计算shock的arch模型是试用的话,那么:用LB-test检测

之间的相关性可以检测出mean equation:

用LB-test检测

之间的相关性可以检测出volatility equation是否适用

注意在对residual做LB test的时候,比如说如果residual是ARCH(2)中模拟出来的,那么LB test的dof应该是8

而Jarque-Bera test和qq-plots可以用来检测

分布是否属于正态分布

总结:

因为在时间序列中,return的residual并不是我们想象中的constant,所以我们试图构建ARCH模型来解释model的return。首先我们通过查看return之间的arch effect,判断是否需要用arch model可以选择ACF plot或者Ljung-Box test

观察

是不是我们预估的属于N(0,1)的分布

计算standarised residual

用ACF/ Ljung-Box test判断是否有correlation,判断 whether mean equation is well modelled

用qq-plot或者JB test判断normality如何

计算squared standarised residual

用ACF判断是否有correlation,来判断volatility whether capture by volatility equation

参考链接:

arch模型的思路_时间序列--ARCH模型相关推荐

  1. python时间序列模型有哪些_时间序列模型(ARIMA)

    时间序列简介 时间序列 是指将同一统计指标的数值按其先后发生的时间顺序排列而成的数列.时间序列分析的主要目的是根据已有的历史数据对未来进行预测. 常用的时间序列模型 常用的时间序列模型有四种:自回归模 ...

  2. python分析每月销售数据_时间序列ARIMA模型详解:python实现店铺一周销售量预测...

    顾名思义,时间序列是时间间隔不变的情况下收集的时间点集合.这些集合被分析用来了解长期发展趋势,为了预测未来或者表现分析的其他形式.但是是什么令时间序列与常见的回归问题的不同? 有两个原因: 1.时间序 ...

  3. lstm时间序列预测模型_时间序列-LSTM模型

    lstm时间序列预测模型 时间序列-LSTM模型 (Time Series - LSTM Model) Now, we are familiar with statistical modelling ...

  4. bim webgl 模型 轻量化_数字化交付模型轻量化技术研究

    研究背景 随着BIM应用的越来越深入,无论是在民建领域还是在基建领域,BIM模型越来越精细.越来越大已经成为一种现实与趋势,而建筑业全面推行数字化交付,模型轻量化技术与数据存储技术必将成为其中的关键. ...

  5. arima 公式_时间序列 ARIMA 模型 (三)

    先看下图: 这是1986年到2006年的原油月度价格.可见在2001年之后,原油价格有一个显著的攀爬,这时再去假定均值是一个定值(常数)就不太合理了,也就是说,第二讲的平稳模型在这种情况下就太适用了. ...

  6. 用lstm模型做预测_深度学习模型 CNN+LSTM 预测收盘价

    -- 本篇文章 by HeartBearting 上一篇浏览量很大,感谢各位的关注! 能够在这里分享一些实验,一起领略 数据科学之美,也很开心. 以后,这个实验的模型会不断深化. 之后,也会分享一些 ...

  7. 机器学习模型 知乎_机器学习:模型评估之评估方法

    ​机器学习已经成为了人工智能的核心研究领域之一,它的研究动机就是为了让计算机系统具有人的学习能力以便实现人工智能.目前,关于机器学习定义的说法比较多,而被广泛采用的定义是"利用经验来改善计算 ...

  8. 蛛网模型收敛条件_按照蛛网模型,若供给曲线和需求曲线均为直线,则收敛型摆动的条件(...

    [单选题]以下不属于证券交易所的职责的是( ) [单选题]1.影片<美国空姐>讲述了这样的故事:唐娜是一个平凡的小镇姑娘,小镇的沉闷.闭塞,加上家庭不和,曾令她决心离开这一切.但是,与英俊 ...

  9. java生产消费模型代码实现_生产者-消费者模型的Java实现

    本文转自:http://tanlan.iteye.com/blog/1158154 生产者-消费者(producer-consumer)问题,也称作有界缓冲区(bounded-buffer)问题,两个 ...

最新文章

  1. python【力扣LeetCode算法题库】892-三维形体的表面积
  2. dll文件复制和替换不了_重新编译mono——Android动态更新dll
  3. 计算机安全基础:加密技术知识笔记
  4. 前端学习(2400):关于aixos的create方法
  5. PreparedStatement JDBC域处理/SQl攻击
  6. mysql,索引命中,查询级别
  7. .vue的文件在vscode里面是白色?
  8. Oracle HA 之 SERVICE和DRM实战
  9. Session和EL表达式实现登陆验证
  10. RIP光栅图像处理器
  11. 渗透测试_缓冲区溢出
  12. 数仓知识03:“自上而下“建设数仓和“自下而上“建设数仓的差异
  13. 配置文件和日志文件导出方法
  14. 你不知道的颠覆式创新者
  15. 基于Adams联合MATLAB的联合仿真设置
  16. 计算机重启恢复系统怎么操作,电脑如何恢复出厂设置 电脑开机怎么一键还原...
  17. SCT1270,SCT1271,12.6V, 7A, 全集成高效升压变换器
  18. MT7688 使用 u-boot-2021.01
  19. 实现小程序连接服务器(Java后台)发送请求,并返回响应
  20. 如何评价双CPU的电脑?好用吗?

热门文章

  1. 创建了一个表之后怎么再次在表中添加字段和字段显示位置_筛选数据透视表中的数据...
  2. 【Elasticsearch】es 7.8.0 java 实现 BulkRequest 批量写入数据
  3. 95-136-041-源码-Operator-TwoInputStreamOperator
  4. 95-190-452-源码-window-Trigger-ContinuousEventTimeTrigger
  5. 95-241-102-源码-Flink语义-Flink的exectly-once系列之两阶段提交实现分析
  6. 【Docker】Docker 安装node-exporter prometheus pushgateway 页面显示Down
  7. 【MySQL】MySQL 报错 Could not retrieve transation read-only status server Unknown system tx_read_only
  8. dbutils批量查询
  9. 小红书2019年校园招聘:字符串压缩算法
  10. 引入 Gateway 网关,这些坑一定要学会避开!!!