在突发事件发生后,股价会相应的发生较大幅度的上涨或下跌,称为跳跃现象,跳跃现象会给金融投资带来极大风险,因而对跳跃点的识别对于风控而言是很重要的(点击文末“阅读原文”获取完整代码数据)。
股价跳跃体现信息冲击,Fama(1991)指出短期股价大幅变化由意外信息引起。近年来学者以股价跳跃为信息冲击代理变量研究投资者反应,如 Jiang and Zhu(2017)研究美股投资者发现短期对股价跳跃反应不足。在 A 股市场,徐龙炳和吴文彬(2023)研究股价跳跃与动量 / 反转关系,我国散户投资者占比大,非理性程度高,对信息过度敏感致过度反应,使反转效应比动量效应明显,且发现 A 股反转效应主要由股价跳跃带来,扣除后非跳跃收益呈动量效应。此外,Meng et al.(2024)发现股价跳跃与投资者关注相关,股价跳跃会吸引博彩偏好型投资者关注致短期过热,市场关注度高的个股,股价跳跃与未来收益相关性越强。
任务/目标
对股价跳跃点进行准确的识别
一、数据源准备:
数据来源于锐思数据库,取2010年至2021年的沪深300日收益率数据。
二、数据预处理:
2.1序列平稳性检验
当对时间序列进行建模时需要考虑到序列是否平稳,故首先进行ADF检验。检验结果显示收益率序列平稳。
2.2 ARCH效应检验
由于要对序列进行garch类模型建模,故而需要对序列进行ARCH效应检验。经检验发现序列存在arch效应,故而可进行下一步建模。
3.建模
对跳跃点的识别的传统方法是garch-jump方法,该方法可识别一个样本点是否是跳跃点,但无法检验跳跃方向。基于此,为了解决状态切换问题,提出将隐马尔可夫链和garch-jump结合,构造新模型hmm-garch-jump进行建模。
上图是对沪深300日收益率跳跃点的识别效果
可以看出,识别率和准确率都很高,达到了90%。且不仅能识别是否是跳跃点,还能识别跳跃方向。
股价跳跃点识别:隐马尔可夫hmm模型和 GARCH-Jump对sp500金融时间序列分析|附代码数据
本文旨在研究金融时间序列中的跳跃点识别和状态切换问题。通过结合隐马尔可夫模型和 GARCH-Jump 方法,构建了 hmm-garch-jump 新模型,以提高对金融时间序列的分析能力。
金融时间序列的分析对于理解市场行为和风险管理至关重要。传统的 GARCH-Jump 方法可以识别样本点是否为跳跃点,但无法确定跳跃方向。为了解决状态切换问题,本文提出将隐马尔可夫链与 GARCH-Jump 结合,构造新的 hmm-garch-jump 模型。
方法创新
本研究创新性地将隐马尔可夫模型与 GARCH-Jump 方法相结合,构建了全新的 hmm-garch-jump 模型。这种融合突破了传统单一模型的局限性,充分发挥了两种方法的优势。传统的 GARCH-Jump 方法虽能识别跳跃点,但无法确定跳跃方向,而隐马尔可夫模型擅长捕捉状态切换。通过结合,不仅能够准确识别跳跃点,还能判断跳跃方向,同时有效地处理状态切换问题,为金融时间序列分析提供了更强大的工具。
- 方差预测与状态预测的并行处理
- 通过 GARCH-Jump 分析,得到了方差预测值。这个方差预测反映了金融时间序列的波动情况,尤其是在引入跳跃成分后,可以捕捉到可能的大幅波动点。
- 同时,构建隐马尔可夫模型
msp
并进行拟合得到fmsp
,然后提取了状态预测值hmm_states
。HMM 的状态预测可以识别不同的市场状态,为判断股价跳跃点提供了另一个维度的信息。
- 跳跃点判断中的结合运用
- 将 GARCH-Jump 模型得到的方差预测值和 HMM 的状态预测值作为输入。
- 在判断跳跃点时,首先根据方差的变化情况进行初步筛选。如果当前方差大于某阈值的前一个方差,则认为可能发生了跳跃点。
- 结合 HMM 的状态预测值进一步判断跳跃的方向。如果当前状态预测值大于前一个状态预测值,则标记为正向跳跃,否则标记为负向跳跃。
相关理论与方法
(一)GARCH-Jump 方法
GARCH-Jump 方法用于对金融时间序列进行建模,通过对序列的方差进行建模,可以检测到序列中的跳跃点。以下是使用 R 语言进行 GARCH-Jump 分析
代码语言:javascript复制# GARCH-Jump 分析spec_garch <- ugarchspec(variance.model = list(model = "sGARCH", garchOrder = c(1, 1)),
(二)隐马尔可夫模型
隐马尔可夫模型可以捕捉时间序列中的状态切换。在 R 语言中,可以使用depmixS4
包构建隐马尔可夫模型。
# 构建隐马尔可夫模型set.seed(1)fmsp <- fit(msp)# 提取隐马尔可夫模型的状态预测
(三)结合 GARCH-Jump 和隐马尔可夫模型
通过自定义函数,根据 GARCH-Jump 的结果和隐马尔可夫模型的状态来判断跳跃点和跳跃方向。
代码语言:javascript复制# 自定义函数判断跳跃点和方向directions[i] <- 1 # 正向跳跃} else {directions[i] <- -1 # 负向跳跃}}}
三、结果与讨论
通过对金融时间序列数据进行分析,新构建的 hmm-garch-jump 模型能够有效地识别跳跃点和判断跳跃方向,同时捕捉到状态切换。可视化结果显示了模型在金融时间序列分析中的应用价值。
四、结论
本文提出的 hmm-garch-jump 模型结合了 GARCH-Jump 方法和隐马尔可夫模型的优点,为金融时间序列分析提供了一种新的工具。未来的研究可以进一步优化模型参数和扩展应用场景。
关于分析师
在此对 Yue Ji 对本文所作的贡献表示诚挚感谢,她在上海师范大学完成了应用统计专业的硕士学位,专注数据挖掘、数据分析等领域。擅长 SQL、Python。
参考文献
[1]. 徐龙炳, 吴文彬, 2023. 过度反应、跳跃收益与A股动量策略[J]. 中国管理科学: 1-15.
[2]. Barndorff-Nielsen O E, Shephard N, 2006. Econometrics of Testing for Jumps in Financial Economics Using Bipower Variation[J]. Journal of Financial Econometrics, 4(1): 1-30.
[3]. Jiang G J, Oomen R C A, 2008. Testing for jumps when asset prices are observed with noise–a “swap variance” approach[J]. Journal of Econometrics, 144(2): 352-370.
[4]. Jiang G J, Zhu K X, 2017. Information Shocks and Short-Term Market Underreaction[J]. Journal of Financial Economics, 124(1): 43-64.
[5]. Meng Y, Li X, Xiong X, 2024. Information shocks and short-term market overreaction: The role of investor attention[J]. International Review of Financial Analysis, 93: 103219.