Simulating a Stochastic Volatility Process
svsim
is used to produce realizations of a stochastic volatility (SV)
process.
svsim(len, mu = -10, phi = 0.98, sigma = 0.2, nu = Inf, rho = 0)
len |
length of the simulated time series. |
mu |
level of the latent log-volatility AR(1) process. The defaults
value is |
phi |
persistence of the latent log-volatility AR(1) process. The
default value is |
sigma |
volatility of the latent log-volatility AR(1) process. The
default value is |
nu |
degrees-of-freedom for the conditional innovations distribution.
The default value is |
rho |
correlation between the observation and the increment of the
log-volatility. The default value is |
This function draws an initial log-volatility h_0
from the stationary
distribution of the AR(1) process defined by phi
, sigma
, and mu
.
Then the function jointly simulates the log-volatility series
h_1,...,h_n
with the given AR(1) structure, and the “log-return” series
y_1,...,y_n
with mean 0 and standard deviation exp(h/2)
.
Additionally, for each index i
, y_i
can be set to have a conditionally heavy-tailed
residual (through nu
) and/or to be correlated with (h_{i+1}-h_i)
(through rho
, the so-called leverage effect, resulting in asymmetric “log-returns”).
The output is a list object of class svsim
containing
y |
a vector of length |
vol |
a vector of length
|
vol0 |
The initial volatility |
para |
a named list with five elements |
The function generates the “log-returns” by
y <- exp(-h/2)*rt(h, df=nu)
. That means that in the case of nu < Inf
the (conditional) volatility is sqrt(nu/(nu-2))*exp(h/2)
, and that corrected value
is shown in the print
, summary
and plot
methods.
To display the output use print
, summary
and plot
. The
print
method simply prints the content of the object in a moderately
formatted manner. The summary
method provides some summary statistics
(in %), and the plot
method plots the the simulated 'log-returns'
y
along with the corresponding volatilities vol
.
Gregor Kastner gregor.kastner@wu.ac.at
## Simulate a highly persistent SV process of length 500 sim <- svsim(500, phi = 0.99, sigma = 0.1) print(sim) summary(sim) plot(sim) ## Simulate an SV process with leverage sim <- svsim(200, phi = 0.94, sigma = 0.15, rho = -0.6) print(sim) summary(sim) plot(sim) ## Simulate an SV process with conditionally heavy-tails sim <- svsim(250, phi = 0.91, sigma = 0.05, nu = 5) print(sim) summary(sim) plot(sim)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.