在这个例子中,我们考虑马尔可夫转换随机波动率模型。
让
是因变量和
未观察到的对数波动率
. 随机波动率模型定义如下
区制变量
遵循具有转移概率的二态马尔可夫过程
表示均值的正态分布
和方差
.
文件“ssv.bug”的内容:
file = 'ssv.bug'; % BUGS模型文件名
model
{
x\[1\] ~ dnorm(mm\[1\], 1/sig^2)
y\[1\] ~ dnorm(0, exp(-x\[1\]))
for (t in 2:tmax)
{
c\[t\] ~ dcat(ifelse(c\[t-1\]==1, pi\[1,\], pi\[2,\]))
mm\[t\] <- alp\[1\] * (c\[t\]==1) + alp\[2\]*(c\[t\]==2) + ph*x\[t-1\]
addpath(path)
lightblue
lightred
% 设置随机数生成器的种子以实现可重复性
if eLan 'matlab', '7.2')
rnd('state', 0)
else
rng('default')
end
tmax = 100;
sig = .4;
解析编译BUGS模型,以及样本数据
model(file, data, 'sample', true);
data = model;
绘制数据
figure('nae', 'Lrtrs')
plot(1:tmax, dt.y)