导航

  • 波动率的特征
  • 基本模型
  • ARCH
    • ARCH模型的性质
  • Demo: specify conditional variance model for exchange rates
    • 检测条件异方差
    • GARCH(1, 1)模型
  • Demo: Specify Conditional Mean and Variance Models
    • 设置条件均值和方差模型
  • 参考资料

波动率的特征

波动率无法直接观测,但是可以从资产收益率中观测到一些特征:

  • 波动率聚集(volatility cluster), 在某个特定时间段上波动率高,但是在其他时间段上波动率小
  • 波动率以连续时间方式变化,几乎不存在跳跃的现象
  • 波动率不会发散到无穷,在一个固定范围内变化
  • 波动率对价格大幅上升和大幅下降的反应是不同的,即存在杠杆效应(leverage effect),如EGARCHTGARCH模型就是为了刻画波动率正负资产收益率的不对称性而提出的

基本模型

令rtr_trt​表示资产在时刻ttt的对数收益率,研究结果表明,对数收益率序列是前后不相关的,但不是独立的,考虑在给定Ft−1F_{t-1}Ft−1​(filteration)时的条件均值和条件方差
{μt=E[rt∣Ft−1]σt2=Var(rt∣Ft−1)=E[(rt−μt)2∣Ft−1]\begin{cases} \mu_t=E[r_t\mid F_{t-1}]\\ \sigma_t^2=Var(r_t\mid F_{t-1})=E[(r_t-\mu_t)^2\mid F_{t-1}] \end{cases} {μt​=E[rt​∣Ft−1​]σt2​=Var(rt​∣Ft−1​)=E[(rt​−μt​)2∣Ft−1​]​
设置rtr_trt​服从一个简单的ARMA(p, q)模型,rt=μt+atr_t=\mu_t+a_trt​=μt​+at​,其中μt\mu_tμt​由以下方程给出
μt=ϕ0+∑i=1pϕirt−i−∑j=1qθjat−j\mu_t=\phi_0+\sum_{i=1}^p\phi_ir_{t-i}-\sum_{j=1}^q\theta_ja_{t-j} μt​=ϕ0​+i=1∑p​ϕi​rt−i​−j=1∑q​θj​at−j​
可以得到条件异方差模型为
σt2=Var(rt∣Ft−1)=Var(at∣Ft−1)\sigma_t^2=Var(r_t\mid F_{t-1})=Var(a_t\mid F_{t-1}) σt2​=Var(rt​∣Ft−1​)=Var(at​∣Ft−1​)

条件异方差模型可以分为两类:第一类用确定的函数表示σt2\sigma_t^2σt2​,即GARCH模型;第二类用随机方程描述σt2\sigma_t^2σt2​,即SV模型

使用Ljung-Box检验序列是否存在异方差

da = read.table('data/m-intcsp7309.txt', header=T)
head(da)intc = log(da$intc+1)
rtn = ts(intc, frequency = 12, start=c(1973, 1))
plot(rtn, type='l', xlab='year', ylab='ln-rtn') # 绘制时间序列# 对序列均值进行t检验
t.test(intc)# 进行Ljung-Box检验
Box.test(intc, lag=12, type='Ljung') # Ljung-Box检验# plot
par(mfcol=c(2, 1))
acf(intc, lag=24)
acf(abs(intc), lag=24)
Box.test(abs(intc), lag=12, type='Ljung') # 更显著

ARCH

Engle(1982)提出了ARCH模型,模型的基本思想就是:

  1. 资产收益率的扰动序列ata_tat​是前后不相关的,但不是独立的
  2. ata_tat​的不独立性可以使用其滞后值得简单二次函数描述,即ARCH(m)模型设定
    at=σtεtσt2=α0+α1at−12+⋯+αmat−m2a_t=\sigma_t\varepsilon_t\\ \sigma_t^2=\alpha_0+\alpha_1a_{t-1}^2+\dots+\alpha_ma_{t-m}^2 at​=σt​εt​σt2​=α0​+α1​at−12​+⋯+αm​at−m2​
    其中{εt}\{\varepsilon_t\}{εt​}是均值为0方差为1的独立同分布(i.i.d)的随机变量序列,其中a0>0,ai≥0a_0>0, a_i\geq 0a0​>0,ai​≥0,系数αi\alpha_iαi​必须满足标准正态分布或者学生ttt分布或者广义误差分布(GED),从模型结构上来看,较大的过去的平方扰动at−i2a_{t-i}^2at−i2​会导致较大的条件方差σt2\sigma_t^2σt2​,从而使得ata_tat​倾向于取绝对值较大的系数,这种结构与波动率聚集的现象一致.

ARCH模型的性质

ARCH(1)模型如下
at=σtεtσt2=α0+α1at−12a_t=\sigma_t\varepsilon_t\\ \sigma_t^2=\alpha_0+\alpha_1a_{t-1}^2 at​=σt​εt​σt2​=α0​+α1​at−12​
计算出ata_tat​的无条件均值为E[at]=E[at∣Ft−1]=E[σtE[εt]]=0E[a_t]=E[a_t\mid F_{t-1}]=E[\sigma_tE[\varepsilon_t]]=0E[at​]=E[at​∣Ft−1​]=E[σt​E[εt​]]=0.
计算无条件方差为
Var(at)=E(at2)=E[E(at2∣Ft−1)]=α0+α1E(at−12)Var(a_t)=E(a_t^2)=E[E(a_t^2\mid F_{t-1})]=\alpha_0+\alpha_1E(a_{t-1}^2) Var(at​)=E(at2​)=E[E(at2​∣Ft−1​)]=α0​+α1​E(at−12​)
为了研究ata_tat​的尾部性质,要求ata_tat​的四阶矩是有限的,当εt\varepsilon_tεt​服从正态分布的条件下可以得到
E[at4]=E[E[at4∣Ft−1]]=3[E(at2∣Ft−1)]2=3(α0+α1at−12)2E[a_t^4]=E[E[a_t^4\mid F_{t-1}]]=3[E(a_t^2\mid F_{t-1})]^2=3(\alpha_0+\alpha_1a_{t-1}^2)^2 E[at4​]=E[E[at4​∣Ft−1​]]=3[E(at2​∣Ft−1​)]2=3(α0​+α1​at−12​)2
设置ata_tat​的四阶矩为平稳,可以计算出峰度(kurtosis)为
E(at4)[Var(at)]2=3α02(1+α1)(1−α1)(1−3α12)×(1−α1)2α02=31−α121−3α12>3\frac{E(a_t^4)}{[Var(a_t)]^2}=3\frac{\alpha_0^2(1+\alpha_1)}{(1-\alpha_1)(1-3\alpha_1^2)}\times\frac{(1-\alpha_1)^2}{\alpha_0^2}=3\frac{1-\alpha_1^2}{1-3\alpha_1^2}>3 [Var(at​)]2E(at4​)​=3(1−α1​)(1−3α12​)α02​(1+α1​)​×α02​(1−α1​)2​=31−3α12​1−α12​​>3
可以发现条件高斯ARCH(1)的模型扰动ata_tat​比高斯白噪声序列更容易出现异常值.
模型中αi≥0\alpha_i\geq 0αi​≥0的假设可以放宽,该条件保证对于所有的ttt,条件方差σt2\sigma_t^2σt2​为正值,一种可行的取正值的方式为
{at=σtεtσt2=α0+Am,t−1′ΩAm,t−1\begin{cases} a_t=\sigma_t\varepsilon_t\\ \sigma_t^2=\alpha_0+A_{m, t-1}'\Omega A_{m, t-1} \end{cases} {at​=σt​εt​σt2​=α0​+Am,t−1′​ΩAm,t−1​​
其中Ω\OmegaΩ是一个m×mm\times mm×m的非负定矩阵

Demo: specify conditional variance model for exchange rates

读取汇率数据,图像如下

%% load data
load Data_MarkPound.mat
y=Data;
T=length(y);figure
plot(y)
h=gca;
h.XTick = [1 659 1318 1975];
h.XTickLabel = {'Jan 1984','Jan 1986','Jan 1988','Jan 1992'};
ylabel 'Exchange Rate';
title 'Deutschmark/British Pound Foreign Exchange Rate';


计算回报率序列,图像显示如下

%%
r = price2ret(y); % 计算对数收益率
r2=tick2ret(y);figure;
plot(2:T, r);
h=gca;
h.XTick = [1 659 1318 1975];
h.XTickLabel = {'Jan 1984','Jan 1986','Jan 1988','Jan 1992'};
ylabel 'Exchange Rate Returns';
title 'Deutschmark/British Pound Foreign Exchange Rate Returns';


从图像中可以发现收益率序列存在波动性聚集的特征,即存在条件异方差性(conditional heteroscedasticity). 计算自相关函数和偏自相关函数图像如下

%% 在百分制数值状态下观测
r = 100 * r;
figure;
subplot(2, 1, 1);
autocorr(r); % 计算自相关函数
subplot(2, 1, 2);
parcorr(r); % 计算偏自相关函数


进行Ljung-Box Q-test结果如下

[h, p]=lbqtest(r, 'Lags', [5, 10, 15])


从p值可以得出,ACFPACF没有表现出显著的自相关性,因此序列不需要建立条件均值模型.

检测条件异方差

对收益率序列进行中心化处理后,对序列平方进行ACFPACF检测

%% conditional heteroscedasticity
subplot(2, 1, 1);
autocorr((r-mean(r)).^2);
subplot(2, 1, 2);
parcorr((r-mean(r)).^2);

从图中发现存在kkk阶截尾的特征,执行Engles’s ARCH检测,设置k=2k=2k=2

[h, p]=archtest(r-mean(r), 'Lags', 2);

从检验结果可以发现,squared returns表现除了显著的自相关性,即GARCH model with lagged variances and lagged squared innovations会更加适合该序列. Engle’s ARCH检测结果拒绝了零假设(h=1),支持ARCH(2)模型等效于GARCH(1, 1)模型.

GARCH(1, 1)模型

基于自相关性和条件异方差,设置带均值偏移(mean offset)的GARCH(1, 1)模型
yt=μ+εty_t=\mu+\varepsilon_t yt​=μ+εt​
其中εt=σtzt\varepsilon_t=\sigma_tz_tεt​=σt​zt​
σt2=κ+γ1σt−12+α1εt−12\sigma_t^2=\kappa+\gamma_1\sigma_{t-1}^2+\alpha_1\varepsilon_{t-1}^2 σt2​=κ+γ1​σt−12​+α1​εt−12​

M = garch('Offset', NaN, 'GARCHLags', 1, 'ARCHLags', 1);

Demo: Specify Conditional Mean and Variance Models

读入NASDAQ数据

load Data_EquityIdx
nasdaq = DataTable.NASDAQ;
r = 100*price2ret(nasdaq);
T = length(r);figure
plot(r)
xlim([0 T])
title('NASDAQ Daily Returns')


检测自相关性

%%
figure
subplot(2, 1, 1)
autocorr(r)
subplot(2, 1, 2)
parcorr(r)


进行Ljung-Box检验

[h, p]=lbqtest(r, 'Lags', 5)

拒绝了null hypothesis,表示存在序列自相关
检测序列是否存在条件异方差

%%
figure
subplot(2, 1, 1);
autocorr((r-mean(r)).^2);
subplot(2, 1, 2);
parcorr((r-mean(r)).^2);


Engle’s ARCH检测是否存在条件异方差

[h, p]=archtest(r-mean(r), 'lags', 2)

检验结果为接受备择假设,即存在条件异方差

设置条件均值和方差模型

设置AR(1)表示NASDAQ收益率序列的条件均值,GARCH(1, 1)表示条件方差
rt=c+ϕ1rt−1+εtr_t=c+\phi_1r_{t-1}+\varepsilon_t rt​=c+ϕ1​rt−1​+εt​
其中εt=σtzt\varepsilon_t=\sigma_tz_tεt​=σt​zt​
σt2=κ+γ1σt−12+α1εt−12\sigma_t^2=\kappa+\gamma_1\sigma_{t-1}^2+\alpha_1\varepsilon_{t-1}^2 σt2​=κ+γ1​σt−12​+α1​εt−12​

M=arima('ARLags', 1, 'Variance', garch(1, 1))

参考资料

金融数据分析导论 基于R语言
Specify Conditional Variance Model For Exchange Rates

【TS】GARCH模型(1)相关推荐

  1. 【TS】GARCH模型(3)

    导航 模型验证 预测 案例:Intel月度收益率模型 t分布的新息 Demo: Infer Conditional Variance and Residuals(Matlab) GARCH(1, 1) ...

  2. 使用r语言做garch模型_使用GARCH估计货币波动率

    使用r语言做garch模型 Asset prices have a high degree of stochastic trends inherent in the time series. In o ...

  3. ARCH与GARCH模型

    之前我们讨论过AR模型和ARMA模型,这两个模型是对时间序列数据的拟合与预测,此外时间序列模型对波动性的应用也较为广泛.(如:股票波动). ARIMA(这是我写的):链接 一.波动率的特征 存在波动率 ...

  4. CSDN ARIMA R语言_R语言时间序列:ARIMA / GARCH模型的交易策略在外汇市场预测应用...

    原文链接: http://tecdat.cn/?p=17622​tecdat.cn 最近,我们继续对时间序列建模进行探索,研究时间序列模型的自回归和条件异方差族.我们想了解自回归移动平均值(ARIMA ...

  5. R语言极值理论 EVT、POT超阈值、GARCH 模型分析股票指数VaR、条件CVaR:多元化投资组合预测风险测度分析

    最近我们被客户要求撰写关于极值理论的研究报告,包括一些图形和统计输出. 相关视频: 极值理论EVT与R语言应用:GPD模型火灾损失分布分析 R语言极值理论EVT:基于GPD模型的火灾损失分布分析 相关 ...

  6. Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列

    最近我们被客户要求撰写关于时间序列的研究报告,包括一些图形和统计输出. 相关视频:时间序列分析:ARIMA GARCH模型分析股票价格数据 时间序列分析模型 ARIMA-ARCH GARCH模型分析股 ...

  7. R语言用GARCH模型波动率建模和预测、回测风险价值 (VaR)分析股市收益率时间序列...

    原文链接:http://tecdat.cn/?p=26897 风险价值 (VaR) 是金融风险管理中使用最广泛的市场风险度量,也被投资组合经理等从业者用来解释未来市场风险(点击文末"阅读原文 ...

  8. garch预测 python_Python实战—基于GARCH模型股票趋势预测

    模型介绍GARCH模型称为广义ARCH模型,是ARCH模型的拓展,由Bollerslev(1986)发展起来的.它是ARCH模型的推广.GARCH(p,0)模型,相当于ARCH(p)模型.数据来源 本 ...

  9. Python玩转金融时间序列之ARCH与GARCH模型

    01 引言 作为金融时间序列的专题推文,[手把手教你]时间序列之日期处理主要介绍了使用Python处理时间序列的日期和统计分析:[Python量化基础]时间序列的自相关性与平稳性主要介绍了时间序列的一 ...

  10. 【代码实践】使用Garch模型估计VaR

    title: "Value at Risk estimation using GARCH model" author: "Ionas Kelepouris & D ...

最新文章

  1. CentOS6.4安装nginx1.4
  2. springmvc 音频流输出_音频管理模块AudioDeviceModule解读
  3. 强化学习(三)---马尔科夫决策过程
  4. 玩转ECS第6讲 | 弹性计算Region化部署和跨可用区容灾介绍
  5. 经典的卷积神经网络简介
  6. idea中使用osgi_OSGi环境中的Servlet基本身份验证
  7. SpringAOP02 自定义注解
  8. ORACLE 日期加减操作
  9. printf格式控制符的完整格式(转载)
  10. 刘逖:ETF市场迎来发展时机 可从产品创新等方面推动
  11. oracle多表查询员工和上级,oracle多表查询之经典面试题
  12. 楪祈机器人_饥荒 Inori楪祈人物MOD
  13. Google浏览器安装插件
  14. linux磁盘刻录ISO工具,技术|Ubuntu下的三个好用的CD/DVD刻录工具
  15. 负载均衡及其常见实现方式
  16. 使用Docker发布DNC项目
  17. 知网caj怎么转成可编辑的Word?手机可以转吗?
  18. windows10录屏怎么压缩?几个步骤轻松掌握
  19. gyp ERR! stack Error: EACCES: permission denied, mkdir
  20. 浅谈基于PLC和Modbus的配电室现场环境监控系统设计及产品选型

热门文章

  1. macOS:删除 MDM 配置描述文件
  2. mongodb的安装和使用
  3. 老司机教你如何优雅地完成一个小项目测试
  4. 图片双面打印顺序混乱_打印,那些你没有注意的小细节
  5. 基于MBOM的工艺数据管理及集成技术研究
  6. Bootstrap学习(九)collapse折叠窗口、carousel轮播效果、Affix侧边栏
  7. 通过命令完成 虚拟机 ubuntu 中的文件拷贝到主机
  8. xml转matlab目标检测,将Cityscape转换为PASACAL VOC格式的目标检测数据集
  9. 产品发布会快闪创意动画PPT模板
  10. android图案解锁忘了怎么解,安卓手机解锁图案忘了怎么办?手机解锁密码忘了怎么办?...