etf <- etf_vix[1:55, 1:3]
# Split-------------------------------
h <- 5
etf_eval <- divide_ts(etf, h)
etf_train <- etf_eval$train
etf_test <- etf_eval$test
By specifying cov_spec = set_sv()
,
var_bayes()
and vhar_bayes()
fits VAR-SV and
VHAR-SV with shrinkage priors, respectively.
bayes_spec
set_bvar()
set_bvhar()
and
set_weight_bvhar()
set_ssvs()
set_horseshoe()
set_ng()
set_dl()
sv_spec
: prior settings for SV,
set_sv()
intercept
: prior for constant term,
set_intercept()
set_sv()
#> Model Specification for SV with Cholesky Prior
#>
#> Parameters: Contemporaneous coefficients, State variance, Initial state
#> Prior: Cholesky
#> ========================================================
#> Setting for 'shape':
#> [1] rep(3, dim)
#>
#> Setting for 'scale':
#> [1] rep(0.01, dim)
#>
#> Setting for 'initial_mean':
#> [1] rep(1, dim)
#>
#> Setting for 'initial_prec':
#> [1] 0.1 * diag(dim)
(fit_ssvs <- vhar_bayes(etf_train, num_chains = 2, num_iter = 20, bayes_spec = set_ssvs(), cov_spec = set_sv(), include_mean = FALSE, minnesota = "longrun"))
#> Call:
#> vhar_bayes(y = etf_train, num_chains = 2, num_iter = 20, bayes_spec = set_ssvs(),
#> cov_spec = set_sv(), include_mean = FALSE, minnesota = "longrun")
#>
#> BVHAR with Stochastic Volatility
#> Fitted by Gibbs sampling
#> Number of chains: 2
#> Total number of iteration: 20
#> Number of burn-in: 10
#> ====================================================
#>
#> Parameter Record:
#> # A draws_df: 10 iterations, 2 chains, and 177 variables
#> phi[1] phi[2] phi[3] phi[4] phi[5] phi[6] phi[7] phi[8]
#> 1 -0.2154 -0.918 -0.7346 2.1794 1.7256 0.2252 -1.092 0.5860
#> 2 -0.2785 0.361 -0.1798 -0.0515 0.2544 -0.1548 -0.450 -0.3199
#> 3 0.0353 0.931 0.2222 0.0171 -0.2469 -0.0554 0.117 1.4097
#> 4 0.5949 0.525 0.1028 0.0410 0.0271 -0.0455 -0.951 0.7377
#> 5 0.3498 0.290 0.0491 0.2809 -0.0988 -0.1612 -2.714 0.2611
#> 6 0.2042 -0.608 -0.7952 1.0893 -0.2569 0.1259 -0.668 0.0569
#> 7 2.8408 0.429 0.8159 -0.1145 -0.4483 -0.0771 -1.257 0.3496
#> 8 1.2273 0.108 -0.2173 0.6008 0.2836 -0.5716 0.109 0.5889
#> 9 0.8396 -0.286 0.4581 1.8056 -1.0432 0.7261 0.666 0.0355
#> 10 -1.5707 -2.630 2.8384 2.5789 -0.1900 -0.6488 0.906 -0.0653
#> # ... with 10 more draws, and 169 more variables
#> # ... hidden reserved variables {'.chain', '.iteration', '.draw'}
(fit_hs <- vhar_bayes(etf_train, num_chains = 2, num_iter = 20, bayes_spec = set_horseshoe(), cov_spec = set_sv(), include_mean = FALSE, minnesota = "longrun"))
#> Call:
#> vhar_bayes(y = etf_train, num_chains = 2, num_iter = 20, bayes_spec = set_horseshoe(),
#> cov_spec = set_sv(), include_mean = FALSE, minnesota = "longrun")
#>
#> BVHAR with Stochastic Volatility
#> Fitted by Gibbs sampling
#> Number of chains: 2
#> Total number of iteration: 20
#> Number of burn-in: 10
#> ====================================================
#>
#> Parameter Record:
#> # A draws_df: 10 iterations, 2 chains, and 211 variables
#> phi[1] phi[2] phi[3] phi[4] phi[5] phi[6] phi[7] phi[8]
#> 1 0.09387 -0.2328 0.4597 -0.18840 0.8345 0.01655 -0.9590 0.038319
#> 2 -0.09961 -0.6774 0.2270 0.16758 0.5573 0.00551 0.2524 0.064362
#> 3 -0.19695 -0.7337 0.0183 0.40152 -0.2635 -0.00795 0.0042 0.057482
#> 4 -0.09827 -0.1309 -0.1432 -0.00451 0.1331 0.00148 0.0495 0.020706
#> 5 0.11908 0.0935 -0.2156 0.22296 -0.1274 -0.00820 -0.0373 -0.005457
#> 6 -0.02723 0.0708 0.4767 -0.20709 0.1779 -0.00173 0.0112 -0.044320
#> 7 0.03845 -0.0797 0.4981 -0.24877 0.1477 0.02493 0.6637 -0.011321
#> 8 -0.00283 0.1016 0.4239 0.12436 0.0137 -0.01699 0.6482 -0.000937
#> 9 -0.06436 0.1563 0.4189 0.61076 0.1722 -0.01553 0.2497 -0.000081
#> 10 0.07825 0.1444 0.1608 0.70196 0.0251 -0.01597 0.1062 -0.001968
#> # ... with 10 more draws, and 203 more variables
#> # ... hidden reserved variables {'.chain', '.iteration', '.draw'}
(fit_ng <- vhar_bayes(etf_train, num_chains = 2, num_iter = 20, bayes_spec = set_ng(), cov_spec = set_sv(), include_mean = FALSE, minnesota = "longrun"))
#> Call:
#> vhar_bayes(y = etf_train, num_chains = 2, num_iter = 20, bayes_spec = set_ng(),
#> cov_spec = set_sv(), include_mean = FALSE, minnesota = "longrun")
#>
#> BVHAR with Stochastic Volatility
#> Fitted by Metropolis-within-Gibbs
#> Number of chains: 2
#> Total number of iteration: 20
#> Number of burn-in: 10
#> ====================================================
#>
#> Parameter Record:
#> # A draws_df: 10 iterations, 2 chains, and 184 variables
#> phi[1] phi[2] phi[3] phi[4] phi[5] phi[6] phi[7] phi[8]
#> 1 -0.03503 0.4053 0.80020 2.371 -0.00209 -5.31e-03 0.3870 -0.1045
#> 2 0.39979 0.2931 0.91785 1.872 0.00119 2.77e-02 3.3153 -0.1662
#> 3 -0.35569 -0.0641 0.66248 0.597 0.00706 2.32e-03 1.6667 -0.3047
#> 4 0.06540 -0.0491 0.85497 0.114 0.04083 -5.44e-04 2.7827 -0.3749
#> 5 -0.02658 0.0935 0.23675 1.310 -0.00705 -3.19e-01 1.6540 -0.8789
#> 6 0.10168 -0.0181 0.16812 1.184 0.01823 -3.29e-01 0.7259 0.2146
#> 7 0.10309 0.0822 -0.01360 0.860 -0.01033 1.22e-01 -0.2534 0.3281
#> 8 -0.00631 0.3102 -0.03173 -0.237 0.04021 2.47e-01 -0.6211 -0.0877
#> 9 0.01706 0.1839 -0.00247 0.300 0.13999 8.23e-05 0.8887 0.0405
#> 10 0.00980 -0.0195 -0.10148 0.313 -0.13060 -2.48e-02 0.0501 -0.0344
#> # ... with 10 more draws, and 176 more variables
#> # ... hidden reserved variables {'.chain', '.iteration', '.draw'}
(fit_dl <- vhar_bayes(etf_train, num_chains = 2, num_iter = 20, bayes_spec = set_dl(), cov_spec = set_sv(), include_mean = FALSE, minnesota = "longrun"))
#> Call:
#> vhar_bayes(y = etf_train, num_chains = 2, num_iter = 20, bayes_spec = set_dl(),
#> cov_spec = set_sv(), include_mean = FALSE, minnesota = "longrun")
#>
#> BVHAR with Stochastic Volatility
#> Fitted by Gibbs sampling
#> Number of chains: 2
#> Total number of iteration: 20
#> Number of burn-in: 10
#> ====================================================
#>
#> Parameter Record:
#> # A draws_df: 10 iterations, 2 chains, and 178 variables
#> phi[1] phi[2] phi[3] phi[4] phi[5] phi[6] phi[7] phi[8]
#> 1 -0.00311 0.37352 -0.082172 -0.807 1.1321 0.08043 0.12454 0.91372
#> 2 -0.01038 -0.23419 -0.007526 2.195 0.1480 -0.01890 -0.00529 0.27287
#> 3 0.00177 0.03662 0.001190 1.423 0.0979 0.00538 0.08416 0.41598
#> 4 0.01179 0.00554 0.000542 0.279 0.6115 0.02157 0.04629 0.01362
#> 5 -0.02628 -0.28438 0.080120 0.844 0.3990 0.10118 -0.03440 -0.00467
#> 6 0.03825 -0.25445 0.043289 1.368 1.6698 -0.00774 0.05832 -0.07363
#> 7 -0.02246 -0.23139 -0.001047 1.187 1.1587 0.03060 0.02282 0.10864
#> 8 -0.06698 -0.37957 -0.027255 0.824 1.7303 -0.01655 0.02071 -0.14264
#> 9 0.27838 -0.20076 -0.007266 0.903 0.0744 0.11441 0.02485 0.08739
#> 10 0.11393 0.15785 -0.062115 0.493 0.1708 0.07095 -0.00281 -0.14318
#> # ... with 10 more draws, and 170 more variables
#> # ... hidden reserved variables {'.chain', '.iteration', '.draw'}