乐趣区

关于算法: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\])

参考文献

  1. 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 交易策略

退出移动版