👇 连享会 · 推文导航 | www.lianxh.cn
🍎 Stata:Stata基础 | Stata绘图 | Stata程序 | Stata新命令 📘 论文:数据处理 | 结果输出 | 论文写作 | 数据分享 💹 计量:回归分析 | 交乘项-调节 | IV-GMM | 时间序列 | 面板数据 | 空间计量 | Probit-Logit | 分位数回归 ⛳ 专题:SFA-DEA | 生存分析 | 爬虫 | 机器学习 | 文本分析 🔃 因果:DID | RDD | 因果推断 | 合成控制法 | PSM-Matching 🔨 工具:工具软件 | Markdown | Python-R-Stata 🎧 课程:最新专题 | 计量专题 | 关于连享会
🍓 课程推荐:2024 机器学习与因果推断专题
主讲老师:司继春 (上海对外经贸大学) ;张宏亮(浙江大学)
课程时间:2024 年 11 月 9-10 日 ;16-17日
课程咨询:王老师 18903405450(微信)
课程特色 · 2024机器学习与因果推断:
懂原理、会应用。本次课程邀请了两位老师合作讲授,目的在于最大限度地实现理论与应用的有机结合。为期四天的课程,分成两个部分:第一部分讲解常用的机器学习算法和适用条件,以及文本分析和大语言模型;第二部分通过精讲 4-6 篇发表于 Top 期刊的论文,帮助大家理解各类机器学习算法的应用场景,以及它们与传统因果推断方法的巧妙结合。 以 Top 期刊论文为范例。目前多数人的困惑是不清楚如何将传统因果推断方法与机器学习结合起来。事实上,即便是 MIT 和 Harvard 的大牛们也都在「摸着石头过河」。为此,通过论文精讲和复现来学习这部分内容或许是目前最有效的方式了。张宏亮老师此前在浙江大学按照这一模式教授了「因果推断和机器学习」课程,效果甚佳:学生们能够逐渐建立起研究设计的理念,并在构造识别策略时适当地嵌入机器学习方法。
作者: 吕政 (中央财经大学)
邮箱: 1433722321@qq.com
温馨提示: 文中链接在微信中无法生效。请点击底部「阅读原文」。或直接长按/扫描如下二维码,直达原文:
目录
1. CCC-MGARCH 基本原理
2. R 语言命令
3. Stata 实操
4. CCC-MGARCH 模型的应用
4. 参考文献
5. 相关推文
1. CCC-MGARCH 基本原理
当研究资产组合或风险管理时,往往会面对面两种及以上的资产,所以我们需要建立多个变量的 GARCH 模型,对方差协方差阵进行建模。多元 GARCH 的建模步骤,大致可以分为三步:
第一步,建立均值方程,用于提取残差; 第二步,检验残差是否存在 ARCH 效应,并对残差进行标准化处理; 第三步,对得到的残差序列建立多元 GARCH 模型。
多元 GARCH 均值方程的设定主要有两种方法:
对每一个资产的时间序列分别建立 ARMA (p, q) 模型; 参考徐国祥和代吉慧 (2015) 的方法,利用向量自回归模型 (VAR) 对多个资产时间序列建模。
VAR 的优势在于抛开了经济学意义的因果关系,单纯从统计学的角度寻找变量之间的因果关系,此外还可以根据 VAR 模型估计参数的显著性水平分析资产与资产之间是否存在均值溢出效应。通过以上两种方法得到残差序列后,我们要检验残差序列是否存在 ARCH 效应,这是建立多元 GARCH 模型的依据。
接下来,先简要介绍一下多元 GARCH 模型中的 CCC-MGARCH 模型。
Bollerslev (1990) 提出了 CCC (Constant Conditional Correlational) 模型,认为在某些场合条件相关系数并不随时间的变化而变化,并对时变的协方差矩阵 的形式做了如下设定:
上式中的 是由各个资产的条件标准差构成的对角阵, 是 Bollerslev (1990) 所设定的不变的条件相关系数矩阵。将相关系数矩阵设为常数,有两方面的好处:第一,这样做简化了模型,降低了 CCC-MGARCH 模型估计上的难度;第二,常系数矩阵的设定保证了条件协方差矩阵正定性的要求。具体地,Bollerslev (1990) 的处理过程如下:
记 为 维资产对数收益率时间序列,满足:
上半部分为均值方程,下半部分为方差方程。原本, 表示其中两个资产对数收益率序列 与 之间波动的关联关系。但 Bollerslev (1990) 对条件方差做了以下两个改动:
其中, 为不随时间变化的正标量 。由此得到了 。
接下来,为大家展示一下如何在 R 语言和 Stata 中估计 DCC 模型。
2. R 语言命令
library(xts) ###调用xts包
#数据下载地址:https://gitee.com/arlionn/data/blob/master/data01/RDJI.csv
RDJI=read.csv("D:/R/RDJI.csv",header=T) ###读取美国道琼斯指数残差的时间序列,记为RDJI。csv表格中共有两列数据,第一列为时间,第二列为美国道琼斯指数的残差。后表类似
head(RDJI)
tail(RDJI)
RDJI=xts(RDJI[,2],as.Date(RDJI[,1]))
head(RDJI)
tail(RDJI)
#数据下载地址:https://gitee.com/arlionn/data/blob/master/data01/RSH.csv
RSH=read.csv("D:/R/RSH.csv",header=T) ###读取上证综合指数残差的时间序列,记为RSH
head(RSH)
tail(RSH)
RSH=xts(RSH[,2],as.Date(RSH[,1]))
head(RSH)
tail(RSH)
#数据下载地址:https://gitee.com/arlionn/data/blob/master/data01/RHIS.csv
RHIS=read.csv("D:/R/RHIS.csv",header=T) ###读取香港恒生指数残差的时间序列,记为RHIS
head(RHIS)
tail(RHIS)
RHIS=xts(RHIS[,2],as.Date(RHIS[,1]))
head(RHIS)
tail(RHIS)
r.data3 <- merge(RDJI, RSH, join='inner') ###将RDJI和RSH的残差序列根据时间轴合并在一起,记为r.data3
head(r.data3)
tail(r.data3)
r.data3 <- merge(r.data3, RHIS, join='inner') ###在r.data3的基础上,根据时间轴再加入RHIS残差序列,同样命名为r.data3
head(r.data3)
tail(r.data3)
R3 <- r.data3[!apply(is.na(r.data3), 1, any), ]
head(R3)
tail(R3)
colnames(R3) <- c('RDJI', 'RSH', 'RHIS')
head(R3)
tail(R3)
R3=as.matrix(R3) ###将读入的数据转化为矩阵
head(R3)
tail(R3)
a <- c(0.003, 0.005, 0.001) ###赋初始值,初始值可以随意设定,不大于1即可
A <- diag(c(0.5, 0.5, 0.5)) ###赋初始值
B <- diag(c(0.75, 0.6, 0.8)) ###赋初始值
R <- diag(c(0.8, 0.8, 0.8)) ###输入常系数矩阵的初始值,因为有例子里有三个时间序列,所以这里需要输入三个大于-1小于1的数字,初始值不影响最后的估计结果
library(ccgarch) ###调用ccgarch包
results=eccc.estimation(a, A, B, R, dvar=R3, model="diagonal", method="BFGS")
results ###输出我们想要的CCC估计结果
$para.mat$R
[,1] [,2] [,3]
[1,] 1.00000000 0.09382785 0.2622413
[2,] 0.09382785 1.00000000 0.4246825
[3,] 0.26224126 0.42468251 1.0000000
3. Stata 实操
*数据下载地址
*https://gitee.com/arlionn/data/blob/master/data01/MGARCH_Lianxh.dta
use MGARCH_Lianxh.dta, clear
tsset date
mgarch ccc (rdji rsh rhis), arch(1) garch(1)
Number of gaps in sample: 1115
(note: conditioning reset at each gap)
Calculating starting values....
Optimizing concentrated log likelihood
(setting technique to bhhh)
Iteration 0: log likelihood = -18433.837
Iteration 1: log likelihood = -18119.917
Iteration 2: log likelihood = -18061.677
Iteration 3: log likelihood = -18050.709
Iteration 4: log likelihood = -18047.084
Iteration 5: log likelihood = -18046.032
Iteration 6: log likelihood = -18045.693
Iteration 7: log likelihood = -18045.581
Iteration 8: log likelihood = -18045.549
Iteration 9: log likelihood = -18045.537
(switching technique to nr)
Iteration 10: log likelihood = -18045.533
Iteration 11: log likelihood = -18045.533
Optimizing unconcentrated log likelihood
Iteration 0: log likelihood = -18045.527
Iteration 1: log likelihood = -18042.509
Iteration 2: log likelihood = -18042.5
Iteration 3: log likelihood = -18042.5
Constant conditional correlation MGARCH model
Sample: 36536 - 44014, but with gaps Number of obs = 4,678
Distribution: Gaussian Wald chi2(.) = .
Log likelihood = -18042.5 Prob > chi2 = .
---------------------------------------------------------------------------------
| Coef. Std. Err. z P>|z| [95% Conf. Interval]
----------------+----------------------------------------------------------------
rdji |
_cons | .0328701 .0112509 2.92 0.003 .0108188 .0549215
----------------+----------------------------------------------------------------
ARCH_rdji |
arch |
L1. | .3533888 .0284769 12.41 0.000 .297575 .4092026
|
garch |
L1. | .6498807 .0427748 15.19 0.000 .5660435 .7337178
|
_cons | -.0054311 .025394 -0.21 0.831 -.0552025 .0443403
----------------+----------------------------------------------------------------
rsh |
_cons | -.0106582 .0123229 -0.86 0.387 -.0348106 .0134942
----------------+----------------------------------------------------------------
ARCH_rsh |
arch |
L1. | .1787032 .0211766 8.44 0.000 .1371979 .2202086
|
garch |
L1. | .8873243 .0555885 15.96 0.000 .7783727 .9962758
|
_cons | -.1093372 .0375975 -2.91 0.004 -.183027 -.0356475
----------------+----------------------------------------------------------------
rhis |
_cons | .0089693 .0125286 0.72 0.474 -.0155864 .033525
----------------+----------------------------------------------------------------
ARCH_rhis |
arch |
L1. | .1483692 .018074 8.21 0.000 .1129449 .1837935
|
garch |
L1. | .8654715 .0559978 15.46 0.000 .7557178 .9752253
|
_cons | -.075785 .0386736 -1.96 0.050 -.1515839 .0000138
----------------+----------------------------------------------------------------
corr(rdji,rsh)| .0725329 .0137626 5.27 0.000 .0455588 .0995071
corr(rdji,rhis)| .2683242 .0129857 20.66 0.000 .2428726 .2937758
corr(rsh,rhis)| .405243 .0113099 35.83 0.000 .383076 .42741
---------------------------------------------------------------------------------
4. CCC-MGARCH 模型的应用
我们收集了 2000 年 1 月 11 日至 2020 年 7 月 2 日美国道琼斯指数、上证综合指数和香港恒生指数的日度数据,之所以选取日度的时间序列,是因为利用高频的金融时间序列 (日度) 建模得到的残差序列,比低频的金融时间序列 (月度) 更容易出现 ARCH 效应。
经平稳性检验可知,三个时间序列均为一阶单整,记为 I (1),因此利用对数收益率序列建模;经 VAR 判断滞后阶数为 4 阶,提取 VAR 模型的残差,经检验具有显著的 ARCH 效应;接下来利用残差时间序列建立 CCC 模型,常相关系数的估计结果见表 1。由表 1 可知,美国道琼斯指数和上证综合指数波动的常相关系数为 0.094,美国道琼斯指数和香港恒生指数波动的常相关系数为 0.262,上证综合指数和香港恒生指数波动的常相关系数为 0.425。说明从选取的三个股票指数看,上证综指和恒生指数波动的相关性最高,美国道琼斯指数和恒生指数波动的相关性次之,上证综指和美国道琼斯指数波动的相关性相对最低,较为符合经济现实。
4. 参考文献
温馨提示: 文中链接在微信中无法生效。请点击底部「阅读原文」。
Bollerslev T. Modelling the coherence in short-run nominal exchange rates: a multivariate generalized ARCH model[J]. The review of economics and statistics, 1990: 498-505. -Link- 徐国祥, 代吉慧. 中国与国际大宗商品市场价格之间的关联性研究[J]. 统计研究, 2015 (6): 81-89. -Link- 刘丽萍, 马丹, 唐晓彬. 基于高维数据的改进 CCC-GARCH 模型的估计及应用[J]. 统计与信息论坛, 2016, 31(9): 22-28. -Link-
5. 相关推文
Note:产生如下推文列表的命令为:
. lianxh 时间序列 GARCH VAR 单位根 协整
安装最新版lianxh
命令:
. ssc install lianxh, replace
专题:时间序列 Stata:时间序列数据的回归和预测 DCC-MGARCH:动态条件相关系数模型 (R+Stata) CCC-MGARCH:常值条件相关系数模型 (R+Stata) TVP-VAR:时变参数向量自回归模型 Stata: 协整还是伪回归? Stata: 单位根检验就这么轻松 协整:醉汉牵着一条狗 Stata:VAR-中的脉冲响应分析-(IRF) Stata: VAR (向量自回归) 模型简介 Stata: VAR - 模拟、估计和推断
🍓 课程推荐:2024 机器学习与因果推断专题
主讲老师:司继春 (上海对外经贸大学) ;张宏亮(浙江大学)
课程时间:2024 年 11 月 9-10 日 ;16-17日
课程咨询:王老师 18903405450(微信)
尊敬的老师 / 亲爱的同学们:
连享会致力于不断优化和丰富课程内容,以确保每位学员都能获得最有价值的学习体验。为了更精准地满足您的学习需求,我们诚挚地邀请您参与到我们的课程规划中来。请您在下面的问卷中,分享您 感兴趣的学习主题或您希望深入了解的知识领域 。您的每一条建议都是我们宝贵的资源,将直接影响到我们课程的改进和创新。我们期待您的反馈,因为您的参与和支持是我们不断前进的动力。感谢您抽出宝贵时间,与我们共同塑造更加精彩的学习旅程!https://www.wjx.cn/vm/YgPfdsJ.aspx# 再次感谢大家宝贵的意见!
New! Stata 搜索神器:
lianxh
和songbl
GIF 动图介绍
搜: 推文、数据分享、期刊论文、重现代码 ……
👉 安装:
. ssc install lianxh
. ssc install songbl
👉 使用:
. lianxh DID 倍分法
. songbl all
🍏 关于我们
连享会 ( www.lianxh.cn,推文列表) 由中山大学连玉君老师团队创办,定期分享实证分析经验。 直通车: 👉【百度一下: 连享会】即可直达连享会主页。亦可进一步添加 「知乎」,「b 站」,「面板数据」,「公开课」 等关键词细化搜索。