关于算法:使用R语言随机波动模型SV处理时间序列中的随机波动率

10次阅读

共计 2655 个字符,预计需要花费 7 分钟才能阅读完成。

原文链接:http://tecdat.cn/?p=12030



筹备数据

采样函数 svsample 须要其输出数据 y 是数值向量,而且没有任何缺失值(NA),如果提供其余任何内容,则会报错。在 y 蕴含零的状况下,会收回正告,并在进行辅助混合采样之前,将大小为 sd(y)/ 10000 的小偏移常数增加到平方收益上。

然而,咱们通常倡议完全避免零收益数据,例如通过事后升高零收益。上面是如何应用样本数据集进行阐明。

图 1 提供了该数据集中工夫序列的可视化。

R> par(mfrow = c(2, 1), mar = c(1.9, 1.9, 1.9, 0.5), mgp = c(2, 0.6, 0))
R> plot(exrates$date, exrates$USD, type = "l",
+ main = "Price of 1 EUR in USD")
R> plot(exrates$date\[-1\], ret, type = "l", main = "Demeaned log returns")

除了事实世界的数据外,还能够应用内置的模仿数据生成器 svsim。此函数仅对 SV 流程的实现,并返回 svsim 类的对象,该对象具备本人的 print,summary 和 plot 办法。

上面给出了应用 svsim 的示例代码,该模仿实例显示在图 2 中。

R> par(mfrow = c(2, 1))
R> plot(sim)

运行采样器

函数 svsample,它用作 C 语言中理论采样器的 R -wrapper。此函数的示例用法在上面的代码中提供了默认输入。

Calling GIS_C MCMC sampler with 11000 iter. Series length is 3139.
0% \[+++++++++++++++++++++++++++++++++++++++++++++++++++\] 100%
Timing (elapsed): 12.92 seconds.
851 iterations per second.
Converting results to coda objects... Done!
Summarizing posterior draws... Done!

能够看出,该函数调用主 MCMC 采样器并将其输入转换为与 coda 兼容的对象。后者的实现次要是出于兼容性的思考,并且能够间接拜访收敛诊断查看。

svsample 的返回值是 svdraws 类型的对象,该对象是具备八个元素的命名列表,其中蕴含(1)参数在 para 中绘制,(2)潜在的对数稳定率,(3)初始潜在的对数稳定率绘制 latent0,(4)y 中提供的数据,(5)运行时中的采样运行时,(6)先验中的先验超参数,(7)细化的参数值,以及(8)这些图的汇总统计信息,以及一些常见的转换。

评估输入并显示后果

依照惯例做法,可应用 svdraws 对象的 print 和 summary 办法。每个参数都有两个可选参数 showpara 和 showlatent,用于指定应显示的输入。如果 showpara 为 TRUE(默认设置),则会显示参数绘制的值 / 摘要。如果 showlatent 为 TRUE(默认值),则显示潜在变量绘制的值 / 摘要。在上面的示例中,仅显示参数绘制的摘要。

Summary of 10000 MCMC draws after a burn-in of 1000.
Prior distributions:
mu ~ Normal(mean = -10, sd = 1)
(phi+1)/2 ~ Beta(a0 = 20, b0 = 1.1)
sigma^2 ~ 0.1 * Chisq(df = 1)
Posterior draws of parameters (thinning = 1):
mean sd 5% 50% 95% ESS
mu -10.1366 0.22711 -10.4749 -10.1399 -9.7933 4552
phi 0.9935 0.00282 0.9886 0.9938 0.9977 397
sigma 0.0656 0.01001 0.0509 0.0649 0.0830 143
exp(mu/2) 0.0063 0.00075 0.0053 0.0063 0.0075 4552
sigma^2 0.0044 0.00139 0.0026 0.0042 0.0069 143

(1)volplot:绘制潜在稳定率的分位数,以百分比示意,即随工夫变动的后验散布的教训分位数。罕用的可选参数包含 n 步稳定率的预测,x 轴上标签的日期以及一些图形参数。上面的代码片段显示了一个典型示例,图 3 显示了其输入。

(2)paratraceplot:显示 θ 中蕴含的参数的轨迹图。图 5 显示了一个示例。

(3)paradensplot:显示 θ 中蕴含的参数的核密度估计。为了更快地绘制较大的后验样本,应将此参数设置为 FALSE。如果参数 showprior 为 TRUE(默认值),则先验散布通过虚线灰色线批示。图 6 显示了从汇率提取数据集中取得的 EUR-USD 汇率的示例输入。

svdraws 对象的通用绘图办法将上述所有图合并。能够应用上述所有参数。请参见图 7。

R> plot(res, showobs = FALSE)

 为了提取标准化残差,能够在给定的 svdraws 对象上应用残差办法。应用可选的参数类型,能够指定摘要统计的类型。以后,类型容许为“平均值”或“中位数”,其中前者对应于默认值。此办法返回 svresid 类的实向量,其中蕴含每个工夫点所申请的标准化残差的摘要统计量。还有一种绘图办法,当参数 origdata 给定时,提供了将标准化残差与原始数据进行比拟的选项。请参见上面的代码,对于相应的输入,请参见图 8。


最受欢迎的见解

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

正文完
 0