midas_sim {midasr}R Documentation

Simulate simple MIDAS regression response variable

Description

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

Usage

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.

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.

Value

a ts object

Author(s)

Virmantas Kvedaras, Vaidotas Zemlys

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)))


[Package midasr version 0.8 Index]