Python随机波动率(SV)模型对标普500指数时间序列波动性预测
2021/6/4 1:22:12
本文主要是介绍Python随机波动率(SV)模型对标普500指数时间序列波动性预测,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
原文链接:http://tecdat.cn/?p=22546
原文出处:拓端数据部落公众号
资产价格具有随时间变化的波动性(逐日收益率的方差)。在某些时期,收益率是高度变化的,而在其他时期则非常平稳。随机波动率模型用一个潜在的波动率变量来模拟这种情况,该变量被建模为随机过程。下面的模型与 No-U-Turn Sampler 论文中描述的模型相似,Hoffman (2011) p21。
这里,r是每日收益率序列,s是潜在的对数波动率过程。
建立模型
首先,我们加载标普500指数的每日收益率。
- returns = (pm.get_data("SP500.csv"))
- returns[:5]
正如你所看到的,波动性似乎随着时间的推移有很大的变化,但集中在某些时间段。在2500-3000个时间点附近,你可以看到2009年的金融风暴。
- ax.plot(returns)
指定模型。
- GaussianRandomWalk('s', hape=len(returns))
- nu = Exponential( .1)
- r = StudentT( pm.math.exp(-2*s),
- obs=returns)
拟合模型
对于这个模型,最大后验(Maximum A Posteriori,MAP)概率估计具有无限的密度。然而,NUTS给出了正确的后验。
- pm.sample(tune=2000
- Auto-assigning NUTS sampler...
plot(trace['s']);
观察一段时间内的收益率,并叠加估计的标准差,我们可以看到该模型是如何拟合一段时间内的波动率的。
- plot(returns)
- plot(exp(trace[s]);
np.exp(trace[s])
参考文献
- Hoffman & Gelman. (2011). The No-U-Turn Sampler: Adaptively Setting Path Lengths in Hamiltonian Monte Carlo.
最受欢迎的见解
1.HAR-RV-J与递归神经网络(RNN)混合模型预测和交易大型股票指数的高频波动率
2.WinBUGS对多元随机波动率模型:贝叶斯估计与模型比较
3.波动率的实现:ARCH模型与HAR-RV模型
4.R语言ARMA-EGARCH模型、集成预测算法对SPX实际波动率进行预测
5.使用R语言随机波动模型SV处理时间序列中的随机波动率
6.R语言多元COPULA GARCH 模型时间序列预测
7.R语言基于ARMA-GARCH过程的VAR拟合和预测
8.R语言随机搜索变量选择SSVS估计贝叶斯向量自回归(BVAR)模型
9.R语言对S&P500股票指数进行ARIMA + GARCH交易策略
这篇关于Python随机波动率(SV)模型对标普500指数时间序列波动性预测的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-25Python编程基础:变量与类型
- 2024-11-25Python编程基础与实践
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器