midas_sim function

Simulate simple MIDAS regression response variable

Simulate simple MIDAS regression response variable

Given the predictor variable and the coefficients simulate MIDAS regression response variable.

midas_sim(n, x, theta, rand_gen = rnorm, innov = rand_gen(n, ...), ...)

Arguments

  • n: The sample size
  • x: a ts object with MIDAS regression predictor variable
  • theta: a vector with MIDAS regression coefficients
  • rand_gen: the function which generates the sample of innovations, the default is rnorm
  • innov: the vector with innovations, the default is NULL, i.e. innovations are generated using argument rand_gen
  • ...: additional arguments to rand_gen.

Returns

a ts object

Details

MIDAS regression with one predictor variable has the following form:

yt=j=0hθjxtmj+ut, y_t=\sum_{j=0}^{h}\theta_jx_{tm-j}+u_t,

where mm is the frequency ratio and hh is the number of high frequency lags included in the regression.

MIDAS regression involves times series with different frequencies. In R the frequency property is set when creating time series objects ts. Hence the frequency ratio mm which figures in MIDAS regression is calculated from frequency property of time series objects supplied.

Examples

##The parameter function theta_h0 <- function(p, dk) { i <- (1:dk-1)/100 pol <- p[3]*i + p[4]*i^2 (p[1] + p[2]*i)*exp(pol) } ##Generate coefficients theta0 <- theta_h0(c(-0.1,10,-10,-10),4*12) ##Plot the coefficients plot(theta0) ##Generate the predictor variable, leave 4 low frequency lags of data for burn-in. xx <- ts(arima.sim(model = list(ar = 0.6), 600 * 12), frequency = 12) ##Simulate the response variable y <- midas_sim(500, xx, theta0) x <- window(xx, start=start(y)) midas_r(y ~ mls(y, 1, 1) + fmls(x, 4*12-1, 12, theta_h0), start = list(x = c(-0.1, 10, -10, -10)))

Author(s)

Virmantas Kvedaras, Vaidotas Zemlys

  • Maintainer: Vaidotas Zemlys-Balevičius
  • License: GPL-2 | MIT + file LICENCE
  • Last published: 2021-02-23