sv_posterior | R Documentation |
This function computes the logarithm of the posterior density for stochastic volatility models without leverage (symmetric stochastic volatility models):
sv_posterior(H, Theta, Theta_star, Y, iM = NULL, vHyper = NULL)
H |
T x 1 vector of latent log volatilities to start the reduced MCMC run to compute the log posterior density. |
Theta |
a vector of parameters to start the reduced MCMC run to compute the log posterior density. Theta = c(mu, phi, sigma_eta) |
Theta_star |
a vector of parameters to evaluate the log posterior density. Theta_star = c(mu, phi, sigma_eta) |
Y |
T x 1 vector of returns |
iM |
the number of iterations for the reduced MCMC run. Default is 5000. |
vHyper |
a vector of hyper-parameters to evaluate the log posterior density. vHyper = c(mu_0, sigma_0, a_0, b_0, n_0, S_0). Defaults is (0,1000, 1, 1, 0.01, 0.01) |
2 x 1 vector. The first element is the logarithm of the posterior density, and the second element is its standard error.
Yasuhiro Omori
Chib, S., and Jeliazkov, I. (2001). Marginal likelihood from the Metropolis-Hastings output. Journal of the American statistical association, 96(453), 270-281.
set.seed(111)
nobs = 80; # n is often larger than 1000 in practice.
mu = 0; phi = 0.97; sigma_eta = 0.3;
h = 0; Y = c();
for(i in 1:nobs){
eps = rnorm(1, 0, 1)
eta = sigma_eta*rnorm(1, 0, 1)
y = eps * exp(0.5*h)
h = mu + phi * (h-mu) + eta
Y = append(Y, y)
}
# This is a toy example. Increase nsim and nburn
# until the convergence of MCMC in practice.
nsim = 500; nburn = 100;
vhyper = c(0.0,1000,1.0,1.0,0.01,0.01)
out = sv_mcmc(Y, nsim, nburn, vhyper)
vmu = out[[1]]; vphi = out[[2]]; vsigma_eta = out[[3]]; mh = out[[4]];
mu = mean(vmu); phi = mean(vphi); sigma_eta = mean(vsigma_eta);
#
h = mh[nsim,]
theta = c(vmu[nsim],vphi[nsim],vsigma_eta[nsim])
theta_star = c(mu, phi, sigma_eta)
# Increase iM in practice (such as iM =5000).
sv_posterior(h, theta, theta_star, Y, 100, vhyper)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.