Learn R Programming

strucchange (version 1.5-4)

GermanM1: German M1 Money Demand

Description

German M1 money demand.

Usage

data("GermanM1")

Arguments

Format

GermanM1 is a data frame containing 12 quarterly time series from 1961(1) to 1995(4) and two further variables. historyM1 is the subset of GermanM1 up to 1990(2), i.e., the data before the German monetary unification on 1990-06-01. monitorM1 is the complement of historyM1, i.e., the data after the unification. All three data frames contain the variables

m

time series. Logarithm of real M1 per capita,

p

time series. Logarithm of a price index,

y

time series. Logarithm of real per capita gross national product,

R

time series. Long-run interest rate,

dm

time series. First differences of m,

dy2

time series. First differences of lag 2 of y,

dR

time series. First differences of R,

dR1

time series. First differences of lag 1 of R,

dp

time series. First differences of p,

m1

time series. Lag 1 of m,

y1

time series. Lag 1 of y,

R1

time series. Lag 1 of R,

season

factor coding the seasonality,

ecm.res

vector containing the OLS residuals of the Lütkepohl et al. (1999) model fitted in the history period.

Details

Lütkepohl et al. (1999) investigate the linearity and stability of German M1 money demand: they find a stable regression relation for the time before the monetary union on 1990-06-01 but a clear structural instability afterwards.

Zeileis et al. (2005) use a model with ecm.res instead of m1, y1 and R1, which leads to equivalent results in the history period but slightly different results in the monitoring period. The reason for the replacement is that stationary regressors are needed for the structural change tests. See references and the examples below for more details.

References

Lütkepohl H., Teräsvirta T., Wolters J. (1999), Investigating Stability and Linearity of a German M1 Money Demand Function, Journal of Applied Econometrics, 14, 511-525.

Zeileis A., Leisch F., Kleiber C., Hornik K. (2005), Monitoring Structural Change in Dynamic Econometric Models, Journal of Applied Econometrics, 20, 99--121.

Examples

Run this code
data("GermanM1")
## Lütkepohl et al. (1999) use the following model
LTW.model <- dm ~ dy2 + dR + dR1 + dp + m1 + y1 + R1 + season
## Zeileis et al. (2005) use
M1.model <- dm ~ dy2 + dR + dR1 + dp + ecm.res + season


## historical tests
ols <- efp(LTW.model, data = GermanM1, type = "OLS-CUSUM")
plot(ols)
re <- efp(LTW.model, data = GermanM1, type = "fluctuation")
plot(re)
fs <- Fstats(LTW.model, data = GermanM1, from = 0.1)
plot(fs)

## monitoring
M1 <- historyM1
ols.efp <- efp(M1.model, type = "OLS-CUSUM", data = M1)
newborder <- function(k) 1.5778*k/118
ols.mefp <- mefp(ols.efp, period = 2)
ols.mefp2 <- mefp(ols.efp, border = newborder)
M1 <- GermanM1
ols.mon <- monitor(ols.mefp)
ols.mon2 <- monitor(ols.mefp2)
plot(ols.mon)
lines(boundary(ols.mon2), col = 2)

## dating
bp <- breakpoints(LTW.model, data = GermanM1)
summary(bp)
plot(bp)

plot(fs)
lines(confint(bp))

Run the code above in your browser using DataLab