Construct a TMB::MakeADFun() object for the exponential Ornstein-Uhlenbeck stochastic volatility model.

svc_MakeADFun(
  Xt,
  log_VPt,
  dt,
  log_Vt,
  alpha,
  log_gamma,
  mu,
  log_sigma,
  logit_rho,
  logit_tau,
  logit_omega,
  par_list,
  iasset = "all",
  ...
)

Arguments

Xt

Matrix of nobs x (nasset + 1) asset log prices, where the first column is that of the asset common-factor proxy.

log_VPt

Vector of nobs volatility proxy values on the log standard deviation scale. See 'Details'.

dt

Interobservation time.

log_Vt

Optional vector of nobs x (nasset + 1) volatilities on the log standard deviation scale. See 'Details'.

alpha

Optional vector of (nasset + 1) asset growth rate parameters. See 'Details'.

log_gamma

Optional vector of (nasset + 2) log-volatility mean reversion parameters on the log scale. The first two correspond to the volatility proxy and the common-factor asset's volatility, respectively. See 'Details'.

mu

Optional vector of (nasset + 2) log-volatility mean parameters. See 'Details'.

log_sigma

Optional vector of (nasset + 2) log-volatility diffusion parameters on the log scale. See 'Details'.

logit_rho

Optional vector of (nasset + 1) correlation parameters between asset and volatility innovations, on the logit scale. The first one is that of the common-factor asset proxy. See 'Details'.

logit_tau

Optional vector of (nasset + 1) correlation parameters between the latent volatilities and the volatility proxy. See 'Details'.

logit_omega

Optional vector of nasset correlation parameters between the residual asset price of the common-factor proxy and the other residual asset prices. See 'Details'.

par_list

Optional list with named elements consisting of a subset of log_Vt, alpha, log_gamma, mu, log_sigma, logit_rho, logit_tau, and logit_omega. Values in par_list will supercede those of the corresponding individual argument if both are provided.

iasset

Index of asset for which parameters are to be treated as non-fixed. Either the character string "all" indicating that no parameters are fixed, or an integer in -1:nasset, where -1 denotes the proxy for the volatility factor, 0 denotes the proxy for the asset common factor, and 1:nasset denotes the remaining assets.

...

Additional arguments to TMB::MakeADFun().

Value

The result of a call to TMB::MakeADFun().

Details

The common-factor multivariate stochastic volatility (SVC) model for multiple assets is given by the stochastic differential equation (SDE) ...

svc_MakeADFun implements the Euler approximation to this SDE...

The optional latent variable and parameter inputs log_Vt, alpha, ..., logit_rho can be set to initialize optimization routines. The default values are for each parameter vector to consist of the zero vector of the appropriate length, and the columns of log_Vt to be the log of windowed standard deviation estimates for the corresponding asset as calculated by sv_init().

svc_MakeADFun is a wrapper to TMB::MakeADFun(). This function may be called on the underlying C++ template provided by svcommon via

TMB::MakeADFun(data = list(model = "sv_common", ...),
               parameters = list(...),
               DLL = "svcommon_TMBExports",
               ...)