Nothing
# VAR----------------------------------
test_that("Test for varlse and vharlse forecast", {
skip_on_cran()
num_col <- 3
etf_train <- etf_vix[1:50, 1:num_col]
etf_x <- etf_vix[1:50, (num_col + 1):(num_col + 2)]
fit_var <- var_lm(etf_train, 2)
fit_vhar <- vhar_lm(etf_train)
fit_varx <- var_lm(etf_train, 2, exogen = etf_x)
fit_vharx <- vhar_lm(etf_train, exogen = etf_x)
num_forecast <- 2
pred_var <- predict(fit_var, num_forecast)
pred_varx <- predict(fit_varx, num_forecast, newxreg = etf_vix[51:(50 + num_forecast), (num_col + 1):(num_col + 2)])
pred_vhar <- predict(fit_vhar, num_forecast)
pred_vharx <- predict(fit_vharx, num_forecast, newxreg = etf_vix[51:(50 + num_forecast), (num_col + 1):(num_col + 2)])
expect_s3_class(pred_var, "predbvhar")
expect_s3_class(pred_vhar, "predbvhar")
expect_equal(
nrow(pred_var$forecast),
num_forecast
)
expect_equal(
ncol(pred_var$forecast),
num_col
)
expect_equal(
nrow(pred_vhar$forecast),
num_forecast
)
expect_equal(
ncol(pred_vhar$forecast),
num_col
)
expect_error(
predict(fit_varx, num_forecast),
"'newxreg' should be supplied when using VARX model."
)
expect_error(
predict(fit_vharx, num_forecast),
"'newxreg' should be supplied when using VHARX model."
)
})
help_var_bayes_pred <- function(bayes_spec, cov_spec, sparse) {
num_forecast <- 3
etf_train <- etf_vix[1:50, 1:2]
etf_exog_train <- etf_vix[1:50, 3:4]
etf_exog_new <- etf_vix[51:(50 + num_forecast), 3:4]
set.seed(1)
fit_test <- var_bayes(
etf_train,
p = 1,
num_iter = 3,
num_burn = 0,
coef_spec = bayes_spec,
contem_spec = bayes_spec,
cov_spec = cov_spec,
include_mean = TRUE
)
set.seed(1)
fit_bvarx <- var_bayes(
etf_train,
p = 1,
exogen = etf_exog_train,
num_iter = 3,
num_burn = 0,
coef_spec = bayes_spec,
contem_spec = bayes_spec,
cov_spec = cov_spec,
include_mean = TRUE
)
set.seed(1)
predict(fit_test, num_forecast, sparse = sparse)
set.seed(1)
predict(fit_bvarx, num_forecast, newxreg = etf_exog_new)
}
test_that("Forecast - VAR-HS-LDLT", {
skip_on_cran()
test_pred_dense <- help_var_bayes_pred(set_horseshoe(), set_ldlt(), FALSE)
test_pred_sparse <- help_var_bayes_pred(set_horseshoe(), set_ldlt(), TRUE)
expect_s3_class(test_pred_dense, "predbvhar")
expect_s3_class(test_pred_sparse, "predbvhar")
})
help_vhar_bayes_pred <- function(bayes_spec, cov_spec, sparse) {
num_forecast <- 3
etf_train <- etf_vix[1:50, 1:2]
etf_exog_train <- etf_vix[1:50, 3:4]
etf_exog_new <- etf_vix[51:(50 + num_forecast), 3:4]
set.seed(1)
fit_test <- vhar_bayes(
etf_train,
num_iter = 3,
num_burn = 0,
coef_spec = bayes_spec,
contem_spec = bayes_spec,
cov_spec = cov_spec,
include_mean = TRUE
)
set.seed(1)
fit_bvharx <- vhar_bayes(
etf_train,
exogen = etf_exog_train,
num_iter = 3,
num_burn = 0,
coef_spec = bayes_spec,
contem_spec = bayes_spec,
cov_spec = cov_spec,
include_mean = TRUE
)
set.seed(1)
predict(fit_test, num_forecast, sparse = sparse)
set.seed(1)
predict(fit_bvharx, num_forecast, newxreg = etf_exog_new)
}
test_that("Forecast - VHAR-Minn-LDLT", {
skip_on_cran()
test_pred_dense <- help_vhar_bayes_pred(set_bvhar(), set_ldlt(), FALSE)
test_pred_sparse <- help_vhar_bayes_pred(set_bvhar(), set_ldlt(), TRUE)
expect_s3_class(test_pred_dense, "predbvhar")
expect_s3_class(test_pred_sparse, "predbvhar")
})
#> Test passed 🌈
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.