Learn R Programming

BEKKs (version 1.4.5)

bekk_spec: BEKK specification method

Description

Method for creating a N-dimensional BEKK model specification object prior to fitting and/or simulating.

Usage

bekk_spec(
  model = list(type = "bekk", asymmetric = FALSE),
  init_values = NULL,
  signs = NULL,
  N = NULL
)

Value

Returns a S3 class "bekkSpec" object containing the specifications of the model to be estimated.

Arguments

model

A list containing the model type specification: Either "bekk" "dbekk" or "sbekk". Moreover it can be specified whether the model should be estimated allowing for asymmetric volatility structure.

init_values

initial values for bekk_fit during BHHH algorithm. It can be either a numerical vector of suitable dimension, 'NULL' (default) to use a simple grid search algorithm, or a character vector i.e. "random" to use a random starting value generator (set a seed in advance for reproducible results), or "simple" for relying on a simple initial values generator based on typical values for BEKK parameter found in the literature. If the object from this function is passed to simulate, "init_values" are used as parameters for data generating process.

signs

An N-dimensional vector consisting of "1" or "-1" to indicate the asymmetric effects to be considered. Setting the i-th element of the vector to "1" or "-1" means that the model takes into account additional volatility if the returns of the i-th column in the data matrix are either positive or negative. If "asymmetric = TRUE", the default is set to "rep(-1, N)" i.e. it is assumed that excess volatility occurs for all series if the returns are negative.

N

Integer specifying the dimension of the BEKK model. Only relevant when this object of class "bekkSpec"" is used for simulating BEKK processes by applying it to simulate.

Examples

Run this code
# \donttest{

data(StocksBonds)

# Fitting a symmetric BEKK model using default starting values
# - i.e. fixed values
obj_spec_fixed <- bekk_spec(init_values = NULL)
x1 <- bekk_fit(obj_spec_fixed, StocksBonds, QML_t_ratios = FALSE,
max_iter = 50, crit = 1e-9)
# Fitting a symmetric BEKK model using initial values originating from a
# random grid search algorithm
obj_spec_random <- bekk_spec(init_values = "random")
x2 <- bekk_fit(obj_spec_random, StocksBonds, QML_t_ratios = FALSE,
max_iter = 50, crit = 1e-9)
summary(x1)
summary(x2)
plot(x1)
plot(x2)
# Fitting an asymmetric BEKK model with default starting values
obj_spec_fix <- bekk_spec(model = list(type = "bekk", asymmetric = TRUE),
init_values = NULL)
x1 <- bekk_fit(obj_spec_fix, StocksBonds)
obj_spec_random <- bekk_spec(model = list(type = "bekk", asymmetric = TRUE),
init_values = "random")
x2 <- bekk_fit(obj_spec_random, StocksBonds)
summary(x1)
summary(x2)
# }

Run the code above in your browser using DataLab