拓端tecdat|R语言用综合信息准则比较随机波动率(SV)模型对股票价格时间序列建模
原文链接:http://tecdat.cn/?p=23882
原文出处:拓端数据部落公众号
摘要
随机波动率(SV)模型是常用于股票价格建模的一系列模型。在所有的SV模型中,波动率都被看作是一个随机的时间序列。然而,从基本原理和参数布局的角度来看,SV模型之间仍有很大的不同。因此,为一组给定的股票价格数据选择最合适的SV模型对于对股票市场的未来预测非常重要。为了实现这一目标,可以使用留一交叉验证(LOOCV)方法。然而,LOOCV方法的计算成本很高,因此它在实践中的应用非常有限。在对SV模型的研究中,我们提出了两种新的模型选择方法,即综合广泛适用信息准则(iWAIC)和综合重要性抽样信息准则(iIS-IC),作为近似LOOCV结果的替代品。在iWAIC和iIS-IC方法中,我们首先计算每个观测值的期望似然,作为相对于相应的潜变量(当前的对数波动参数)的积分。由于观测值与相应的潜变量高度相关,每个第 t 个观测值(y obs t)的综合似然值期望接近于以 y obs t 为保持数据的模型所计算的 y obs t 的期望似然值。其次,在计算信息标准时,综合期望似然被用作期望似然的替代。由于相对于潜变量的整合在很大程度上减少了模型对相应观测值的偏差,因此整合后的信息标准有望接近LOOCV结果。为了评估iWAIC和iIS-IC的性能,我们首先使用模拟数据集进行了实证研究。该研究结果表明,iIS-IC方法比传统的IS-IC有更好的性能,但iWAIC的性能并不优于非综合WAIC方法。随后,利用股票市场收益数据进行了进一步的实证研究。根据模型的选择结果,对于给定的数据,最好的模型是具有两个独立自回归过程的SV模型,或者是具有非零预期收益的SV模型。
绪论
1.1 随机波动率模型
随机波动率(SV)模型被广泛用于股票价格的建模,Taylor(1982)和 Hull 和 White(1987)在期刊上发表的论文中对此进行了描述。在基本的随机波动率模型中,均值修正后的每日连续复利收益yt可以被建模为具有随机波动率的正态分布。与指数加权移动平均数(EWMA)模型和广义自回归条件异方差(GARCH)模型不同,对数波动率在 SV 模型中被视为马尔可夫过程。
作为马尔可夫过程的结果,对数波动率本身成为一个随机过程。因此,SV 模型不需要像其他一些模型(即 Black 和 Scholes (1973)提出的著名的 Black-Scholes 模型)那样假设恒定波动率或固定波动率过程。由于波动率确实会随着时间的推移而变化,因此假设波动率不变是许多非 SV 模型的主要缺陷,特别是当时间跨度较长时。因此,在对股票价格和其他一些具有变化的波动率的衍生品进行建模时,SV 模型往往是一个很好的选择。
除了基本模型外,许多扩展的SV模型也被用于股票价格建模的目的,如Harvey等人(1994);Shephard(1996);Gallant和Tauchen(1996);Chernov等人(2003)发表的论文中所述。
在这篇论文中,对八个不同的模型进行了测试和比较,用于股票价格的建模。每个测试的模型都是基本的SV模型或其变体。
为了使用马尔科夫链蒙特卡洛方法从SV模型参数的后验分布中取样,我们需要知道一个与后验分布成正比的函数。为了实现这一目标,研究中使用了贝叶斯推断法。根据贝叶斯规则,给定模型参数π(θ)的先验分布和一组观测数据D,模型参数的后验分布与模型参数的后验似然函数f(D|θ)π(θ)和模型参数先验分布的乘积成正比。
随机波动率模型和模型拟合过程
2.1 随机波动率模型
公司股票的价格是由实体产生未来现金流的能力决定的,同时也受到股票供求关系的影响。如果我们对某只股票进行投资,那么在一段时间内对该股票的投资利润就称为该股票的收益率。在实践中,股票的收益率与股票的波动性密切相关。如果yt是连续复利的收益率,那么二者之间的关系可以用以下公式来模拟。
股价波动率是衡量标的资产价格变化(上升或下降)的预期幅度,这是股票的一个非常重要的特征。某只股票的波动率对于预测股票本身的价格以及许多其他与股票有关的衍生品是至关重要的。例如,根据著名的布莱克-斯科尔斯模型,当标的股票的隐含波动率较高时,某只股票的欧洲看涨期权(具有相同的执行价格和到期日)需要更多的权利金(更有价值)(Black and Scholes, 1973)。此外,从风险管理的角度来看,股票的波动率需要用来确定投资组合的风险值(VaR)(Giot 和 Laurent,2004)。
诸如历史模拟的传统方法可能无法识别波动率的变化,广义自回归条件异方差(GARCH)模型因此经常被用来预测未来的波动率(Engle, 1982; Bollerslev, 1986)。例如,在 GARCH(1,1)模型中,波动率 σ 2 t 按照以下公式计算。
随机波动率(SV)模型是GARCH模型在股票价格波动率建模中的替代品(Taylor,1982;Hull和White,1987)。在 SV 模型中,波动率被认为是一个随机过程。通过允许过程中的随机性,SV模型在理论上有更多的好处。在这项研究中,我们测试了几个自回归随机波动率(AR-SV)模型,这是一个流行的SV模型的子类别。在基本的AR-SV模型中,波动率的对数,ht=log(σt),被建模为一个随机的自回归过程。
这也可以写成
鉴于对数波动率,每日股票收益率yt可以被建模为
模型1
这个模型是我们之前提到的基本 AR-SV 模型。调整对数波动率过程的状态方程为:
和日收益率的观察方程方程为
模型2
模型 2 是基本 SV 模型的一个变种。在这个模型中,对数波动率的状态方程与基本的 AR-SV 模型相同,但是每日收益率的平均值
yt是α(非零)而不是零:
模型3
在这个模型中,对数波动率ht遵循一个AR(2)过程
这个方程最适合用来模拟具有较低自相关性的滞后-1 对数波动率过程。根据 Yule-Walker 方程(Cheng, 2005),对于这个 AR(2)过程中的任何 ht,滞后-1 自身相关(ht 和 ht-1 之间的相关性)是 ht-1 的系数,也就是 φ。另一方面,滞后n自相关(ht和ht-n之间的相关性)由φ n + ψ n-1给出。因此,该模型表明当前的对数波动率与它的滞后-1 对数波动率的相关性较小,但与所有其他的滞后对数波动率的相关性较大。
模型4
该模型由两个独立的AR(1)过程组成,如Harvey等人所述。
在这个模型中,对数波动率 ht 由 µ + h (1) t + h (2) t 给出,h (1) t 和 h (2) t 是两个独立的 AR(1) 过程。
模型5
模型5允许ut和vt+1之间存在相关性,这导致yt的不对称效应。这种ut和vt+1之间的相关性早已被Black(1976)以及Engle和Ng(1993)所注意。在 Engle 和 Ng(1993)之前完成的一项研究中,发现收益冲击对波动率有一定的影响。因此,假设二者之间存在关联性是合理的。在模型 5 中,该相关性由以下协方差矩阵描述。
因此,SV模型方程和ht的状态方程可以写成
模型6
在这个模型中,观察方程中包含了一个跳跃成分(观察值的额外随机向上或向下运动)。此外,yt也受到其滞后观测值yt-1的影响。
一般来说,这个模型表明当前的收益率yt是由当前的价格波动率、随机跳跃的发生和之前的观察值yt-1决定的。
模型7
与模型6类似,模型7也包括跳跃成分,但不包括前面的观察。
模型7中所有参数的分布都与模型6中的参数相同。
• 模型8
为了得到这个模型,观察方程中的高斯观察误差被自由度为ν的学生t分布所取代。
由于误差是对称的和非正态的,根据Andrews和Mallows(1974)的观点,可以使用正态分布的比例混合进行模型拟合。
2.2 拟合SV模型的贝叶斯推断和马尔科夫链蒙特卡洛抽样法
由于似然函数的非分析形式,将经典的统计推断,如最大似然估计,应用于SV模型是相当困难的。为了克服这个问题,人们提出了几种替代方法。例如,在Harvey等人(1994)提出的准最大似然法中,通过将log(yt)的分布视为正态分布,得到了实际似然函数的近似值。然后,这个近似函数(准最大似然函数)被最大化,而不是实际似然函数。
在另一种被称有效矩量法(EMM)的方法中,准似然函数的导数被用作广义矩法(GMM)的矩条件。然后通过最小化矩条件的准则来计算EMM估计的参数。通过使用这个矩条件,而不是临时选择一些低阶矩,EMM方法被认为是更有效的(Andersen等人,1999)。
在我们的研究中,我们对SV模型采用了贝叶斯推断法。根据贝叶斯规则,给定模型参数π(θ,h)的先验分布和观测数据y obs,模型参数的后验分布可以表示为。
为了将模型拟合给定的数据集,我们使用马尔科夫链蒙特卡洛(MCMC)方法从每个模型的参数的后验分布中取样。在MCMC过程中,模型参数是根据马尔科夫链进行抽样的。马尔科夫链是一个随机过程,在一个给定的状态空间中进行状态转换。给定一个有限的状态空间,当链足够长时,马尔科夫链必然会达到一个稳定状态(不变分布)(Gilks,2005)。
比较随机模型的统计方法
在研究股票市场数据和预测未来趋势时,模型的选择非常重要。通过使用正确的模型,可以更好地理解和解释数据的属性,从而可以做出更好的预测和估计。而在实践中使用错误的模型,则可能导致本可避免的意外损失。
传统的方法,包括平均平方误差(MSE)和决定系数(R2),只衡量数据与模型的拟合程度。由于在一个模型中增加额外的参数通常会增加拟合度,这些方法往往有利于复杂的模型,可能会过度拟合数据。为了克服过度拟合的问题,引入了交叉验证方法。交叉验证方法包括将数据集划分为两个子集,用一个子集拟合模型,用另一个子集测试模型。尽管交叉验证法似乎能够完全解决过度拟合的问题,但这些方法耗时且成本高。另外,许多方法对模型的复杂性进行了惩罚。
实证结果
4.1 仿真研究
在我们的第一个研究中,通过使用一组模拟数据集来测试模型选择标准的性能。首先,我们从模型6生成了一个数据集,数据的真实模型是模型6。这个数据生成过程被重复了100次,生成了100个数据集。其次,每个模拟数据集都被单独拟合到列出的所有候选SV模型中。最后,使用模型选择标准,包括DIC、nWAIC、nIS、iWAIC和iIS,来为模拟数据集选择最佳模型。
在第一步,通过将模型6中的参数设置为一些特定的值来模拟数据集。在我们的特定情况下,用于数据生成的参数是:µ = -10,φ = 0.96,τ = 0.345,β = 0.1,κ = 0.08,δ = 0.03。每个模拟数据集是一个有2000个观测值的时间序列。
一旦生成了数据集,我们随后将候选的SV模型与数据进行拟合。为了拟合这些模型,我们使用了马尔科夫链蒙特卡洛(MCMC)方法,从每个模型的参数后验中取样。许多MCMC算法已经被提出来对模型参数进行抽样,如Metropolis-Hastings算法和Gibbs采样。基于这些MCMC算法,开发了许多采样软件包,包括WinBUGS、OpenBUGS和JAGS(Lunn等人,2000;Spiegelhalter等人,2007;Plummer,2003)。然而,由于这些软件包主要是基于Metropolis-Hastings算法,它们可能会因为算法中使用的随机游走法提出新的状态而出现收敛缓慢的问题。为了克服这个问题,开发了stan包(Carpenter等人,2015;Gelman等人,2015)。在stan中,通过应用Hamilton Monte Carlo和no-U-turn采样,收敛速度可以快得多(Carpenter等人,2015)。因此,我们决定在SV模型的特定研究中使用stan采样器。
在使用stan采样器对模型参数的后验分布进行采样之前,我们需要先对参数进行先验分布。对于本研究中的所有SV模型,μ的先验分布是正态的,均值为-10,标准差为5。此外,τ 2的先验分布为反Gamma(2.5, 0.025)(Kim et al., 1998),对于所有的候选模型,φ的先验分布都是在0和1之间均匀分布。对于模型2,参数α∼N(0,10)的先验,所有其他参数的先验与基本SV模型相同。模型3中ψ的先验分布与基本SV模型中φ的先验分布相同(在0和1之间均匀分布)。在模型4中,参数φ2的先验分布与基本SV模型中的φ相同。对于模型5,ρ的先验分布在-1和1之间,均值为0,这给了相关参数ρ一个非信息性的先验分布。模型6中的β参数衡量了当前观测对先前观测的影响程度,该参数一般被认为是小的。因此,我们对这个参数施加了β∼N(0,0.2)的信息性先验。同样在模型6中,衡量观察中发生跳跃(yt的额外向上或向下运动,可能发生也可能不发生)的概率的κ参数被赋予Beta(2, 100)先验(Chib等人,2002)。另一方面,跳跃大小参数st的先验分布为ln(1+st)∼N(-δ 2/2, δ2),我们假定log(δ)的先验分布为log(δ)∼N(-3.07, 0.149)(Chib et al., 2002)。在模型8中,参数ν在[2, 128]上有一个均匀分布作为其先验(Chib等人,2002)。
一旦模型参数的先验值被设定,Stan采样器读取模拟观测值(来自模型6),随后对候选模型进行拟合。为了确保马尔科夫链的收敛,每个单独的马尔科夫链的采样迭代次数被设定为20,000次。由于链可能需要一段时间来收敛,所以前10,000个样本被放弃。为了减少相邻样本之间的自相关,最后的样本只包含其余10,000个样本中的每10个样本。此外,为了确保马尔科夫链的收敛性,对每个模拟数据集同时运行两个独立的链。两条链在同一组数据上的比较证实了马尔科夫链在MCMC抽样的前10,000个样本之前就已经收敛了。Rˆ是对跨链变异与链内变异的相对测量,接近1.0的值表明收敛性良好(Gelman等人,2011)。在我们的研究中,我们为每个后验分布(基于给定模型的数据集)运行两个单独的马尔可夫链,如果马尔可夫链确实收敛,那么在收敛点之后,同一数据集的两个链应该表现出类似的模式。Rˆ值大于1表明收敛不完善,Rˆ值越大,收敛就越差。拟合模型(使用模拟数据)的参数Rˆ值大多非常接近1,表明这些模型的马尔科夫链确实收敛了。
不过,一个例外是模型4中的φ(Rˆ=53.8731)、τ(Rˆ=2.8202)、φ2(Rˆ=59.9186)和τ2(Rˆ=2.9484)参数。这些大的Rˆ值表明,马尔科夫链在这个模型中收敛得并不好。然而,在这种特殊情况下,这个问题并不是一个大问题。在模型4中,我们有两个独立的AR(1)过程,它们具有相同的公式格式。因此,该模型包含两个模式。如果一个模式包含h (1) t, φ, τ, h (2) t, φ2, τ2和所有其他参数,那么另一个模式是通过保持所有其他参数不变而用h (2) t, φ, τ的值完全交换来形成的。因此,模型4的Rˆ的高值是由两个链收敛到两个不同的模式引起的(见图4.2的例子)。由于这两个模式彼此相距较远,任何现有的采样器都很难在这个特定的情况下探索参数空间。由于收敛到不同的模式会保持h(1)t+h(2)t的分布不变,而ˆyt的分布只取决于h(1)t和h(2)t的总和,所以整个模型对yt的预测是不受影响的。
表4.2中列出了拟合参数的值及其标准偏差。表中的结果显示,模型参数的期望值基本符合数据生成参数的轮廓,这表明拟合效果良好。
-
-
##########################################
-
## ##下面的R代码从模型6生成100组模拟数据。
-
## ##数据集生成就会存储在当前文件夹中。
-
##########################################
-
## y --- 模拟数据集。
-
for (ifold in 1:100){
-
s <- lss <- y<- h <- qq <- rep (0, T)
-
h[1] <- rnorm (1, mu + phi * (h0 - mu), tau)
-
for (t in 1:T) {lss[t] <- rnorm(1, -(delta^2)/2,delta^2); s[t] <- exp (lss[t] ) -
-
1}
-
-
##模型##########################################
-
-
-
## 下面的R代码用rstan语言定义了模型1。
-
-
-
fit <- stan(model_code = model1, data = list(y = y, T = T), iter = 20000,
-
chains = 2, thin = 10)
-
每个跟踪图中的两条链来自于基于模型6和同一组数据的两条单独模拟的马尔可夫链。跨链方差与预烧期后的链内方差相比相对较小,表明马尔科夫链的收敛性良好。
-
##########################################
-
## 下面的R代码用rstan语言定义了模型4。
-
##########################################
-
-
model4 <-'
-
int<lower=1> T。
-
}
-
-
real<lower=0,upper=1> phi1。
-
real<lower=0,upper=1> phi2。
-
real<lower=0.0001> tausq;
-
real<lower=0.0001> tau2sq;
-
-
}
-
-
real<lower=0> tau。
-
real<lower=0> tau2。
-
tau <- sqrt(tausq);
-
tau2 <- sqrt(tau2sq);
-
}
-
-
mu ~ normal(-10,5);
-
-
h1[t] ~ normal(phi1*h1[t-1], tau);
-
-
h2[t] ~ normal(phi2*h2[t-1], tau2)。
-
-
##########################################
-
## 下面的R代码使用HMC对给定的数据集进行模型拟合
-
方法。
-
## ###从每组测试数据中产生两个独立的马尔科夫链。
-
##########################################
-
-
fit <- stan(model_code = model4, data = list(y = y, T = T), iter = 20000,
当两个马尔科夫链收敛到不同模式时,模型4中φ和φ2的跟踪图实例。轨迹图中的φ和φ2来自基于模型4和同一组数据的两个单独模拟的马尔科夫链。与链内方差相比,跨链方差很大,这是因为两个链收敛到两个不同的模式。
当stan采样器完成模型参数的采样后,使用DIC、WAIC、IS、iWAIC和iIS标准来进行模型选择。为了计算iIS和iWAIC的综合似然,我们在每次迭代中对每个时间点t抽样100个ht。这个随机抽样过程是根据计算出的ht |θ,h-t的分布完成的(详见第三章)。当得到f(ht |θ,h-t)的样本后,可以计算出相应的log f(y obs t |θ,h-t)。为了计算这个综合似然,我们将f(ht |θ,h-t)的样本插入y obs t的概率函数中,一次一个,以计算每个迭代中每个时间点的y obs t的总共100个对数比例的概率。最后,100个y obs t的对数似然性的平均值将提供一个理想的综合对数似然性log f(y obs t |θ,h-t)的良好估计。然而,对于模型5来说,f(ht |θ,h-t)的样本不能轻易地从一个明确的分布中获得,综合对数似然的近似值是通过数字正交的方法计算的。
4.2 标普100指数数据的实证研究
除了模拟研究,我们还使用了一组真实世界的股市数据(2010年9月至2015年8月的标普100股票指数数据)来拟合SV模型。标准普尔100指数包括100只股票,这些股票几乎占股票市场市值的45%。这个股票子集在资本市场上发挥着重要作用,是衡量金融市场整体实力的一个良好指标。因此,找到一个合适的方法来模拟标准普尔100指数数据是非常重要的。
在这项研究中,我们使用了2010年9月至2015年8月(1,258个交易日)标普100指数(从雅虎财经导出)的均值校正、连续复利的每日收益。总的来说,如图4.3所示,这一时期的收益率上升,被认为是2008年股市下跌后的 "复苏期"。然而,由于经济状况和货币政策的频繁变化,股票市场的波动率在不同时期有很大的不同。因此,将SV模型应用于股票市场数据是有意义的。
真实数据研究中的模型拟合过程与我们之前对模拟数据的研究相同。rstan软件包被用来用股票市场数据拟合模型参数。马尔科夫链的总迭代次数为20,000次,预烧期为10,000次。也就是说,前10,000个样本被丢弃了。对于剩下的10,000个样本,我们只保留每10个样本,以减少自相矛盾。对每个模型中的数据集运行了两条平行的马尔科夫链,Rˆ结果(详见表4.5)显示,马尔科夫链在预烧期后收敛了。模型参数的Rˆ值一般都接近于1,表明马尔可夫链收敛效果良好。
所有的拟合参数都列在模型参数表中,如表4.6所示。从该表提供的结果可以看出,有些模型参数的绝对值非常小,而方差却很大,说明这些参数与0没有显著区别。如果是这样,相应的模型可能不是给定数据的好选择。
当我们从MCMC抽样过程中得到模型参数样本后,分别应用DIC、nWAIC、iWAIC、nWAIC、nIS和iIS方法对模型进行选择(详见模拟研究)。表4.7列出的结果显示,除了iWAIC方法外,其他五种模型选择标准都选择了模型4作为给定股市指数数据的最佳模型。此外,DIC、nWAIC、nIS和iIS方法在模型的好坏排序上也提供了非常相似的结果。然而,nWAIC方法选择了模型8作为最佳模型。同样对于nWAIC方法,其余的排名结果也与其他的模型选择标准非常不同。
结论和讨论
总之,根据模拟数据研究,HMC方法在模型参数的后验分布中取样是成功的。在测试的模型选择方法中,DIC方法的效果相当好。DIC方法的良好表现可能是由于在大多数拟合的模型中,参数通常遵循多变量正态分布。此外,nIS也相当一致,这表明重要性加权是纠正乐观偏差的有效方法。此外,iIS 的结果显示,与当前对数波动率 ht 相关的积分是进一步解决偏差问题的好方法。因此,iIS 方法能够比 nIS 方法有所改进。但是,综合方法可能并不总是一个好的选择,因为它的计算成本很高。最后,在所有测试的方法中,nWAIC和iWAIC的性能都是最差的,这使得它们的理论基础值得怀疑。根据这项研究,我们可以知道这两种WAIC方法可能无法通过其公式准确地量化模型复杂性。
此外,对真实股市收益数据(2010年9月至2015年8月的标普100指数)的研究表明,根据模型选择标准,最佳模型是模型4,这表明数据序列遵循ARMA过程。然而,由于所有的选择标准都对模型4有强烈的偏好,即使真实的模型不是模型4,选择这个模型作为最佳模型可能是一个错误。因此,次好的模型,模型2(非零预期收益模型),也是真实模型的良好候选。
在我们的研究中,我们使用马尔科夫链蒙特卡洛方法来拟合我们的随机波动率模型,并随后使用五个不同的模型选择标准(DIC,nWAIC,nIS,iWAIC,iIS)来评估模型。为了检验模型拟合算法的可靠性和模型选择方法的一致性,在使用任何真实数据之前,对模拟数据集做了初步研究。在模拟研究中,总共有100个数据集是由模型6单独生成的,参数如下:µ = -10,φ = 0.96,τ = 0.345,β = 0.1,κ = 0.08,δ = 0.03。通过数据生成过程,我们既知道真实的模型,也知道模型参数的真实值。因此,我们能够评估模型拟合方法的优劣,以及模型选择标准的一致性。
参考文献
Alder, B. J. and Wainwright, T. (1959), “Studies in molecular dynamics. I. General method,” The Journal of Chemical Physics, 31, 459–466.
Andersen, H. C. (1980), “Molecular dynamics simulations at constant pressure and/or temperature,” The Journal of Chemical Physics, 72, 2384–2393.
Andersen, T. G., Chung, H.-J., and Sørensen, B. E. (1999), “Efficient method of moments estimation of a stochastic volatility model: A Monte Carlo study,” Journal of Econometrics, 91, 61–87.
Andrews, D. F. and Mallows, C. L. (1974), “Scale mixtures of normal distributions,” Journal of the Royal Statistical Society. Series B (Methodological), 36, 99–102.
最受欢迎的见解
1.HAR-RV-J与递归神经网络(RNN)混合模型预测和交易大型股票指数的高频波动率
2.WinBUGS对多元随机波动率模型:贝叶斯估计与模型比较
4.R语言ARMA-EGARCH模型、集成预测算法对SPX实际波动率进行预测