Learn R Programming

dynlm (version 0.3-6)

M1Germany: German M1 Money Demand

Description

German M1 money demand.

Usage

data(M1Germany)

Arguments

Format

M1Germany is a "zoo" series containing 4 quarterly time series from 1960(1) to 1996(3).

logm1

logarithm of real M1 per capita,

logprice

logarithm of a price index,

loggnp

logarithm of real per capita gross national product,

interest

long-run interest rate,

Details

This is essentially the same data set as GermanM1, the important difference is that it is stored as a zoo series and not as a data frame. It does not contain differenced and lagged versions of the variables (as GermanM1) does, because these do not have to be computed explicitly before applying dynlm.

The (short) story behind the data is the following (for more detailed information see GermanM1): L<U+34AE5C2F>hl 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) re-analyze this data set in a monitoring situation.

References

L<U+34AE5C2F>hl H., Ter<e4>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.

See Also

GermanM1

Examples

Run this code
# NOT RUN {
data("M1Germany")
## fit the model of Luetkepohl et al. (1999) on the history period
## before the monetary unification 
histfm <- dynlm(d(logm1) ~ d(L(loggnp, 2)) + d(interest) + d(L(interest)) + d(logprice) +
                           L(logm1) + L(loggnp) + L(interest) +
                           season(logm1, ref = 4),
                data = M1Germany, start = c(1961, 1), end = c(1990, 2))

## fit on extended sample period
fm <- update(histfm, end = c(1995, 4))

if(require("strucchange")) {
  scus <- gefp(fm, fit = NULL)
  plot(scus, functional = supLM(0.1))
}
# }

Run the code above in your browser using DataLab