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)
blank

相关推荐

  • 一篇文章,教你彻底搞懂selenium的工作原理

    一篇文章,教你彻底搞懂selenium的工作原理

  • Ubuntu修改密码长度太短或太简单解决「建议收藏」

    Ubuntu修改密码长度太短或太简单解决「建议收藏」在安装Ubuntu的时候建立的帐户sai,想把密码改成两个字母aa,方便输入。运行终端sai@xmomx:~$passwdsai更改sai的密码。(当前)UNIX密码:xx输入新的UNIX密码:aa重新输入新的UNIX密码:aa必须选择更长的密码输入新的UNIX密码:1234567重新输入新的UNIX密码:1234567Bad:newpassword…

  • java游戏开发入门教程_JAVA制作游戏入门教程

    java游戏开发入门教程_JAVA制作游戏入门教程现在流行的游戏似乎都是用C或C++来开发的。在java平台上几乎没有很大型及可玩的流行游戏。由于java是个新生语言,他的许多特性还有待大家的发掘,但是我们不能否认Java在游戏编程方面的强大性。本文将带领大家一步一步学习编写Java游戏。最终打造属于自己的Java游戏。在开始之前我们得确认你已经安装了JavaJDK,并已经安装了浏览器软件如IE。本章是以Internet为开发对象,一步一步教大…

  • 华为、深圳、十年Android程序员:“我不干了!!!!”

    华为、深圳、十年Android程序员:“我不干了!!!!”前言我的大学室友将他深圳60平的房子卖了800万,然后花260万在成都买了130平的精装房,40万买了一辆奥迪,还剩500万存到了银行,正式从特区又杀回了四川。室友说,我的10年青春,换来的真金白银,就是这500万的现金。从今年开始,我一定可以过真真正正的生活,享受生活,而绝不再是被生活鞭打着向前走。我和室友的母校,是一所以电信工程闻名的985大学。2011年本科毕业,我留在了成都,室友则南下深圳入职华为,当年起薪15万。室友如何挣下一套房2015年7月,工作4年后,室友攒下了50万元,其中有近.

  • Centos7配置MySQL读写分离[通俗易懂]

    Centos7配置MySQL读写分离[通俗易懂]背景82和83两台Mysql已经实现了主从复制。即将使用mysql-proxy进行读写分离,配置192为proxy,写82读83。mysql-proxymysql-proxy是一个处于客户端和服务器之间的中间件,它可以检测,分析或改变它们的通信。简单说就是一个中间层代理,一个连接池,负责将前台应用的连接请求转发给后台的数据库,并且通过lua脚本,可以实现复杂的连接控制和过滤,从而实现读写分离和负载…

  • matlab自带的插值函数interp1的四种插值方法

    matlab自带的插值函数interp1的四种插值方法分段线性插值,临近插值,球面插值,三次多项式插值!!

发表回复

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

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