bekk_fit {BEKKs} | R Documentation |

## Estimating multivariate BEKK-type volatility models

### Description

Method for fitting a variety of N-dimensional BEKK models.

### Usage

```
bekk_fit(spec, data, QML_t_ratios = FALSE, max_iter = 50, crit = 1e-09)
```

### Arguments

`spec` |
An object of class "bekkSpec" from function bekk_spec. |

`data` |
A multivariate data object. Can be a numeric matrix or ts/xts/zoo object. |

`QML_t_ratios` |
Logical. If QML_t_ratios = 'TRUE', the t-ratios of the BEKK parameter matrices are exactly calculated via second order derivatives. |

`max_iter` |
Maximum number of BHHH algorithm iterations. |

`crit` |
Determines the precision of the BHHH algorithm. |

### Details

The BEKK optimization routine is based on the Berndt–Hall–Hall–Hausman (BHHH) algorithm and is inspired by the study of Hafner and Herwartz (2008). The authors provide analytical formulas for the score and Hessian of several MGARCH models in a QML framework and show that analytical derivations significantly outperform numerical methods.

### Value

Returns a S3 class "bekkFit" object containing the estimated parameters, t-values, standard errors and volatility process of the model defined by the BEKK_spec object.

### References

Hafner and Herwartz (2008). Analytical quasi maximum likelihood inference in multivariate volatility models. Metrika, 67, 219-239.

### Examples

```
data(StocksBonds)
# Fitting a symmetric BEKK model
obj_spec <- bekk_spec()
x1 <- bekk_fit(obj_spec, StocksBonds, QML_t_ratios = FALSE, max_iter = 50, crit = 1e-9)
summary(x1)
plot(x1)
# Fitting an asymmetric BEKK model
obj_spec <- bekk_spec(model = list(type = "bekk", asymmetric = TRUE))
x1 <- bekk_fit(obj_spec, StocksBonds)
summary(x1)
plot(x1)
# Fitting a symmetric diagonal BEKK model
obj_spec <- bekk_spec(model = list(type = "dbekk", asymmetric = FALSE))
x1 <- bekk_fit(obj_spec, StocksBonds, QML_t_ratios = FALSE, max_iter = 50, crit = 1e-9)
summary(x1)
plot(x1)
# Fitting a symmetric scalar BEKK model
obj_spec <- bekk_spec(model = list(type = "sbekk", asymmetric = FALSE))
x1 <- bekk_fit(obj_spec, StocksBonds, QML_t_ratios = FALSE, max_iter = 50, crit = 1e-9)
summary(x1)
plot(x1)
```

*BEKKs*version 1.4.4 Index]