id.st: Identification of SVAR models by means of a smooth transition...

View source: R/id.st.R

id.stR Documentation

Identification of SVAR models by means of a smooth transition (ST) in covariance

Description

Given an estimated VAR model, this function uses a smooth transition in the covariance to identify the structural impact matrix B of the corresponding SVAR model

y_t=c_t+A_1 y_{t-1}+...+A_p y_{t-p}+u_t =c_t+A_1 y_{t-1}+...+A_p y_{t-p}+B ε_t.

Matrix B corresponds to the decomposition of the pre-break covariance matrix Σ_1=B B'. The post-break covariance corresponds to Σ_2=BΛ B' where Λ is the estimated heteroskedasticity matrix.

Usage

id.st(
  x,
  c_lower = 0.3,
  c_upper = 0.7,
  c_step = 5,
  c_fix = NULL,
  transition_variable = NULL,
  gamma_lower = -3,
  gamma_upper = 2,
  gamma_step = 0.5,
  gamma_fix = NULL,
  nc = 1,
  max.iter = 5,
  crit = 0.001,
  restriction_matrix = NULL,
  lr_test = FALSE
)

Arguments

x

An object of class 'vars', 'vec2var', 'nlVar'. Estimated VAR object

c_lower

Numeric. Starting point for the algorithm to start searching for the volatility shift. Default is 0.3*(Total number of observations)

c_upper

Numeric. Ending point for the algorithm to stop searching for the volatility shift. Default is 0.7*(Total number of observations). Note that in case of a stochastic transition variable, the input requires an absolute value

c_step

Integer. Step width of c. Default is 5. Note that in case of a stochastic transition variable, the input requires an absolute value

c_fix

Numeric. If the transition point is known, it can be passed as an argument where transition point = Number of observations - c_fix

transition_variable

A numeric vector that represents the transition variable. By default (NULL), the time is used as transition variable. Note that c_lower,c_upper, c_step and/or c_fix have to be adjusted to the specified transition variable

gamma_lower

Numeric. Lower bound for gamma. Small values indicate a flat transition function. Default is -3

gamma_upper

Numeric. Upper bound for gamma. Large values indicate a steep transition function. Default is 2

gamma_step

Numeric. Step width of gamma. Default is 0.5

gamma_fix

Numeric. A fixed value for gamma, alternative to gamma found by the function

nc

Integer. Number of processor cores Note that the smooth transition model is computationally extremely demanding.

max.iter

Integer. Number of maximum GLS iterations

crit

Numeric. Critical value for the precision of the GLS estimation

restriction_matrix

Matrix. A matrix containing presupposed entries for matrix B, NA if no restriction is imposed (entries to be estimated). Alternatively, a K^2*K^2 matrix can be passed, where ones on the diagonal designate unrestricted and zeros restricted coefficients. (as suggested in Luetkepohl, 2017, section 5.2.1).

lr_test

Logical. Indicates whether the restricted model should be tested against the unrestricted model via a likelihood ratio test

Value

A list of class "svars" with elements

Lambda

Estimated heteroscedasticity matrix Λ

Lambda_SE

Matrix of standard errors of Lambda

B

Estimated structural impact matrix B, i.e. unique decomposition of the covariance matrix of reduced form residuals

B_SE

Standard errors of matrix B

n

Number of observations

Fish

Observed Fisher information matrix

Lik

Function value of likelihood

wald_statistic

Results of pairwise Wald tests

iteration

Number of GLS estimations

method

Method applied for identification

est_c

Structural break (number of observations)

est_g

Transition coefficient

transition_variable

Vector of transition variable

comb

Number of all grid combinations of gamma and c

transition_function

Vector of transition function

A_hat

Estimated VAR parameter via GLS

type

Type of the VAR model e.g., 'const'

y

Data matrix

p

Number of lags

K

Dimension of the VAR

restrictions

Number of specified restrictions

restriction_matrix

Specified restriction matrix

lr_test

Logical, whether a likelihood ratio test is performed

lRatioTest

Results of likelihood ratio test

VAR

Estimated input VAR object

References

Luetkepohl H., Netsunajev A., 2017. Structural vector autoregressions with smooth transition
in variances. Journal of Economic Dynamics and Control, 84, 43 - 57. ISSN 0165-1889.

See Also

For alternative identification approaches see id.cv, id.garch, id.cvm, id.dc, or id.ngml

Examples


# data contains quartlery observations from 1965Q1 to 2008Q2
# x = output gap
# pi = inflation
# i = interest rates
set.seed(23211)
v1 <- vars::VAR(USA, lag.max = 10, ic = "AIC" )
x1 <- id.st(v1, c_fix = 80, gamma_fix = 0)
summary(x1)
plot(x1)

# switching columns according to sign patter
x1$B <- x1$B[,c(3,2,1)]
x1$B[,3] <- x1$B[,3]*(-1)

# Impulse response analysis
i1 <- irf(x1, n.ahead = 30)
plot(i1, scales = 'free_y')

# Example with same data set as in Luetkepohl and Nestunajev 2017
v1 <- vars::VAR(LN, p = 3, type = 'const')
x1 <- id.st(v1, c_fix = 167, gamma_fix = -2.77)
summary(x1)
plot(x1)

# Using a lagged endogenous transition variable
# In this example inflation with two lags
inf <- LN[-c(1, 449, 450), 2]*(1/sd(LN[-c(1, 449, 450), 2]))
x1_inf <- id.st(v1, c_fix = 4.41, gamma_fix = 0.49, transition_variable = inf)
summary(x1_inf)
plot(x1_inf)



svars documentation built on Feb. 16, 2023, 7:52 p.m.