Garch模型_garch in mean模型

Garch模型_garch in mean模型理解garch模型

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Garch

小声逼逼一句,学长有毒吧~~让我进金融的东东,我懂个锤子?

金融时间序列

金融资产的波动是一个非常重要的概念,它与资产的风险直接相关,因此对资产的波动模式进行建模是量化投资中的一个重要课题。一般来讲,波动建模有以下量化投资方向的应用:
期权定价:波动率是影响期权价值的重要因素;
风险度量和管理:在VaR的计算中波动率是主要影响因素,根据波动率决定交易策略的杠杆;
资产价格预测和模拟:通过Garch簇模型对资产价格的时间序列进行预测和模拟;
调仓:盯住波动率的调仓策略,如一个tracing指数的策略;
作为交易标的:在VIX、ETF以及远期中波动率作为标的可以直接交易。

上面的几行确实没明白,正确性有待考证

许良:股票收益率中的方差一般就是表示风险

嗯,这个check了一下,债券/股票等的收益率的波动性(volatility)就是风险,就是滚动风险。

金融时间序列分析的核心是找到资产收益率序列的自相关性,并利用它。川流不息

同方差&&异方差

在讲Garch模型之前,我们必须对同方差和异方差的概念进行回顾。在时间序列的弱平稳条件中二阶矩是一个不变的、与时间无关的常数。在理想条件下,如果这个假设是成立的,那么金融时间序列的预测将会变得非常简单,采用ARIMA等线性模型就能做不错的预测。然而采用Ariam等模型对金融事件序列建模效果是非常差的,原因就在于金融事件序列的异方差性。这种非平稳性无法用简单的差分去消除,其根本原因在于其二阶矩随时间t变化而变化。扯扯金融

这里说的方差是回报率(收益率)
简单的理解就是说对于普通的时间序列,一般采用取n差分或者取对数或者滞后,就可以使时间序列平稳,这个的前提是方差不随时间变化也就是同方差(此时方差是个常数,因为是不随时间变化的),这个时候可以使用ARIMA进行预测了。
但是金融时间序列的方差是随着时间变化而变化的,方差不在是一个常数了。

异方差描述的是金融时间序列大的趋势,时间跨度相对较长。金融时间序列的另一个特征是波动聚集,它是在小时间尺度下的波动特性(可以理解为小尺度下的异方差表现)。一般来讲,金融时间序列的波动具有大波动接着大波动,小波动接着小波动的特征,即波峰和波谷具有连续性。在高波动的时候,人们情绪高涨市场的势能不断积累,于是会转化成更大的波动;在低波动的时候,人们对市场的兴趣越来越低,市场逐渐会成为一摊死水。此外,金融事件序列存在波动的不对称性,在上涨时候的波动率会小于下跌时候的波动率。

波动率聚类

Garch模型作为现代的金融事件序列模型,是基于波动聚集这个特性建模的。波动聚集告诉我们当前的波动率是和过去的波动率存在一定的关系,方差的概念也相应的扩展到条件方差,所谓条件反差指的是过去时刻信息已知的方差。Garch模型认为本期的条件方差是过去N期条件方差和序列平方的线性组合,而序列是本期条件方差和白噪声的乘积。

以 2012 年 1 月 1 日到 2019 年 7 月 31 日上证指数日频对数收益率为例,假设使用 ARMA(3, 2) 对其建模,并考察其残差。下图展示了残差时序以及它的 ACF 和 Partial ACF(PACF)。

Garch模型_garch in mean模型
从 ACF 和 PACF 上不难看出,在很多 lags 上,自相关系数是超过 95% 的置信区间的;而从最上面一副图中也能明显看出收益率序列的一大特征 —— 波动率聚类。如果把残差取平方,并再次作图,上述波动率聚类则会变得更加直观。它在数学上被称为条件异方差(conditional heteroskedasticity)。

Garch模型_garch in mean模型
上述结果意味着,仅使用 ARMA 对收益率序列建模是不够的,它对条件异方差无能为力。为了解决这个问题需要对波动率建模,即使用 Generalized Autoregressive Conditional Heteroskedasticity(GARCH)模型。

在采用ARMA、ARIMA模型建模后如发现残差的平方具有自相关性,那么说明有高阶的时间序列特征未被捕捉到(仍在残差中),采用ARMA或者ARIMA模型建模是不合适的,需要采用GARCH模型建模。采用Garch建模后的序列残差即为真正的白噪声,其平方不再具有自相关性。可以证明的是,序列的Garch(p,q)模型等价于序列平方的ARMA(max(p,q),p)模型

收益率和回报率概念辨析

邵昱:就证券而言,收益率是指是所有现金流的净现值为0的折现率,回报率就是利息收入与投资的比例

基于rugarch包的Garch模型

噗,介绍一堆公式

模型

\(r_{t}=c_{1}+\sum_{i=1}^{R} \phi_{i} r_{t-i}+\sum_{j=1}^{M} \phi_{j} \epsilon_{t-j}+\epsilon_{t} \cdots \cdots(1)\) 均值方程
\(\epsilon_{t}=u_{t} \sqrt{h_{t} \cdots \cdots}(2)\) 分布假设
\(h_{t}=k+\sum_{i=1}^{q} G_{i} h_{t-i}+\sum_{j=1}^{p} A_{i} \epsilon_{t-i}^{2} \cdots \cdots(3)\) 方差方程

对三个部分进行适当的变形后可以形成egarch模型,egarch-ged模型,egarch-t模型,Igarch模型,garch-m模型和Qgarch模型等。因此,设定模型形式就是分别设定均值方程、方差方程和分布。rugarch包的优越之处正在于这里。ugarchspec函数的参数也被分解为为三个主要部分,分别是variance.model,对应式(3),mean.model,对应式(1),distribution.model对应式(2)中的\(\epsilon\)。用户通过对三个部分的参数的分别设定从而构造出自己想用的模型。蘭亭客

Datamp Garch

每日收益率

\(R_{t}=\frac{P_{t}-P_{t-1}}{P_{t-1}}\)

风险

风险/波动是用收益率的方差来计算的,因此需要先计算方差
\(\hat{\sigma}=\sqrt{\frac{1}{T-1} \sum_{t=1}^{T}\left(R_{t}-\hat{\mu}\right)^{2}}\)

\(\hat{\mu}\)是平均收益率

就像前面提到的,因为标准差是随时间变化的,因此是不稳定的,一般的时间序列其方差是不变的。
Garch模型_garch in mean模型
Garch模型_garch in mean模型

roll

因为不稳定,所以用滚动方差

刻画风险的一般是roa的标准差,即偏离程度。
对于同一家银行来说,样本期间的标准差值只有一个,因此为了得到标准形式的面板数据,需要对数据进行一些处理,通常是采用滚动面板回归方法。
就你的例子来说,在计算每家银行的风险指标时,每三年为一个计算区间,计算三年间银行的风险指标。原始数据样本是19家商业银行11年(如1998至2008年)的数据,共209个观测值。采取滚动平均的方式:1998年至2000为第一个计算区间,获得一组样本值;2001年至2003年为第二个计算区间,获得第二组样本值;…;2006年至2008年为第九个计算区间,获得第九组样本值。经过滚动处理,新的样本容量是19家银行九个计算区间共171个样本值,损失38个自由度。
滚动回归会损失样本量,这个无法避免。但是回归还是可以照常做的,只是损失自由度而已。就你的例子来说,有两个年份的std_roa缺失。
Garch模型_garch in mean模型

窗口的选择

The shorter the window, the more responsive the rolling volatility estimate is to recent returns. The longer the window, the smoother it will be.

# Load the package PerformanceAnalytics
library(PerformanceAnalytics)

# Showing two plots on the same figure
par(mfrow=c(2,1)) 

# Compute the rolling 1 month estimate of annualized volatility
chart.RollingPerformance(R = sp500ret["2000::2017"], width = 22,
     FUN = "sd.annualized", scale = 252, main = "One month rolling volatility")

# Compute the rolling 3 months estimate of annualized volatility
chart.RollingPerformance(R = sp500ret["2000::2017"], width = 66,
     FUN = "sd.annualized", scale = 252, main = "Three months rolling volatility")

Garch模型_garch in mean模型

GARCH与roll的区别

Rolling Variance 是 backward 预测的,也就是事后的,不具备预测能力的。
GARCH 计算的Variance 是 forward 预测的,也就是事前的,具备预测能力。

ARCH

ARCH(p)
ARCH(p) model: Autoregressive Conditional Heteroscedasticity 自回归条件异方差
\(\sigma_{t}^{2}=\omega+\sum_{i=1}^{p} \alpha e_{t-1}^{2}\)

GARCH

Generalized ARCH 广义的arch
\(\sigma_{t}^{2}=\omega+\sum_{i=1}^{p} \alpha e_{t-1}^{2}+\beta \sigma_{t-1}^{2}\)

\(R_{t}=\mu+e_{t}\)

\(e_{t} \sim N\left(0, \sigma_{t}^{2}\right)\)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/167206.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • c6000 中断小结

    c6000 中断小结1. 中断相关概念中断过程———————————–你在下象棋,突然电话响了,你回屋接电话,然后回来继续下象棋,这个过程就叫做中断响应过程。CPU执行正常任务———————下象棋保护现场———————————-你已经想好要“将军”,先在脑海中记下来。中断

  • activity(工作流)初步学习记录

    activity(工作流)初步学习记录1.概念工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期

  • 云计算(1)—基础知识

    云计算(1)—基础知识一、云计算概述   云计算到底是什么呢?在这个问题上,可谓众说纷纭。比如,在维基百科上的定义是“云计算是一种基于互联网的计算新方式,通过互联网上异构、自治的服务为个人和企业用户提供按需即取的计算”;著名咨询机构Gartner将云计算定义为“云计算是利用互联网技术来将庞大且可伸缩的IT能力集合起来作为服务提供给多个客户的技术”;而IBM则认为“云计算是一种新兴的IT服务交付方式,应用、数据…

  • django 异常处理_migrate previous

    django 异常处理_migrate previous前言在讲解如何解决migrate报错原因前,我们先要了解migrate做了什么事情,migrate:将新生成的迁移脚本。映射到数据库中。创建新的表或者修改表的结构。问题1:migrate怎么判断哪

  • AMQP机制_cdm机制为什么停止了

    AMQP机制_cdm机制为什么停止了当前各种应用大量使用异步消息模型,并随之产生众多消息中间件产品及协议,标准的不一致使应用与中间件之间的耦合限制产品的选择,并增加维护成本。AMQP是一个提供统一消息服务的应用层标准协议,基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同开发语言等条件的限制。        当然这种降低耦合的机制是基于与上层产品,语言无关的协议。AMQP协议是一种二进制协议,提供

    2022年10月31日
  • 使用RSS实现自动动漫更新提醒及下载(追番)

    使用RSS实现自动动漫更新提醒及下载(追番)喜欢追动漫番并且喜欢下载下来看和收藏的各位应该都有个觉得不方便的地方,那就是每天都得跑去下载的网站进行查看追的剧是否更新。而这并不是难受的地方,更麻烦的是还要记每部剧上个星期放到了第几集,有时候忘记看了,下个星期跳过了一集下载下来,打开看了才发现,然后还得回去下,这真是gay得一批。。好吧闲话有点多了。进入正题吧。作为程序狗的各位对这种需求自然有自己的解决办法,自己写程序进行定时检查是最直接

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号