Nothing
context("test-sim_sv")
test_that("Test sim_sv", {
# Data --------------------------------------------------------------------
param <- list(phi = 0.9,
sigma_h = 0.4,
sigma_y = 0.2,
df = 5,
alpha = 5,
rho = -0.7)
nobs <- 1000
models <- c("gaussian", "t", "leverage", "skew_gaussian")
for (model in models) {
data <- sim_sv(param = param, nobs = nobs, model = model)
# Tests -------------------------------------------------------------------
expect_equal(nrow(data), nobs)
expect_equal(ncol(data), 2)
expect_named(data, c("y", "h"))
expect_type(data$y, "double")
expect_type(data$h, "double")
expect_equal(attributes(data)$param, param)
expect_equal(attributes(data)$model, model)
}
expect_error(sim_sv(param = c(1, 2, 3)))
expect_error(sim_sv(model = "tmp"))
# Check error if parameters are outside their domain
param$phi <- 1.1
expect_error(sim_sv(param, model = "gaussian"))
param$phi <- 0.9
param$df <- 1.9
expect_error(sim_sv(param, model = "t"))
param$rho <- -1.2
expect_error(sim_sv(param, model = "leverage"))
})
test_that("Test simulate_parameters", {
# Data ------------------------------------------------------------------------------------------------------------
data(spy)
mod <- estimate_parameters(spy$log_return)
sim <- simulate_parameters(mod, nsim = 1000)
rep <- summary(mod, report = "transformed")
sim_mean <- as.vector(apply(sim, 2, mean))
sim_sd <- as.vector(apply(sim, 2, sd))
mod_est <- rep$estimate
mod_sd <- rep$std_error
# Tests -----------------------------------------------------------------------------------------------------------
expect_equal(ncol(sim), 3)
expect_equal(nrow(sim), 1000)
# Simulated values should be equal to estimated
expect_equal(sim_mean, mod_est, tolerance = 1e-03)
expect_equal(sim_sd, mod_sd, tolerance = 1e-03)
expect_equal(colnames(sim), rep$parameter)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.