Score-based monitoring of exchange rate regression models (Frankel-Wei models).
fxmonitor(formula, data, start, end =3, alpha =0.05, meat. =NULL)## S3 method for class 'fxmonitor'plot(x, which =NULL, aggregate =NULL, ylim =NULL, xlab ="Time", ylab ="Empirical fluctuation process", main ="Monitoring of FX model",...)
Arguments
formula: a "formula" describing the linear model to be fit (as in fxlm.
data: a "zoo" time series (including history and monitoring time period).
start: starting time (typically in "Date" format) of the monitoring period.
end: end of the monitoring period (in scaled time, i.e., total length divided by length of history period).
alpha: significance level of the monitoring procedure.
meat.: optionally the meat of an alternative covariance matrix.
x: an object of class "fxmonitor" as fitted by fxmonitor.
which: name or number of parameter/process to plot.
aggregate: logical. Should the multivariate monitoring process be aggregated (using the absolute maximum)? Default is to aggregate for multivariate series.
fxmonitor is a function for monitoring exchange rate regression models (also known as Frankel-Wei models). It fits the model on the history period (before start) and computes the predicted scores (or estimating functions) on the monitoring period. The scaled and decorrelated process can be employed for monitoring as described by Zeileis (2005) using a double-maximum-type procedure with linear boundary. The critical values are interpolated from Table III in Zeileis et al. (2005).
Because the model just has to be fitted once (and not updated with every incoming observation), the interface of fxmonitor is much simpler than that of mefp: The data should just include all available observations (including history and monitoring period). Instead of updating the model with each incoming observation, the whole procedure has to be repeated.
The plot method visualizes the monitoring process along with its boundaries. The print method reports the breakdate (time of the first boundary crossing, if any), which can also be queried by the breakpoints and breakdates methods.
Returns
An object of class "fxmonitor" which is a list including components: - process: the fitted empirical fluctuation process,
n: the number of observations in the history period,
formula: the formula used,
data: the data used,
monitor: start of the monitoring period,
end: end of monitoring period,
alpha: significance level of monitoring procedure,
critval: the critical value (for a linear boundary).
References
Zeileis A., Leisch F., Kleiber C., Hornik K. (2005), Monitoring Structural Change in Dynamic Econometric Models, Journal of Applied Econometrics, 20 , 99--121.
Zeileis A. (2005), A Unified Approach to Structural Change Tests Based on ML Scores, F Statistics, and OLS Residuals. Econometric Reviews, 24 , 445--466.
Shah A., Zeileis A., Patnaik I. (2005), What is the New Chinese Currency Regime?, Report 23, Department of Statistics and Mathematics, Wirtschaftsuniversitaet Wien, Research Report Series, November 2005. http://epub.wu.ac.at.
Zeileis A., Shah A., Patnaik I. (2010), Testing, Monitoring, and Dating Structural Changes in Exchange Rate Regimes, Computational Statistics and Data Analysis, 54(6), 1696--1706. http://dx.doi.org/10.1016/j.csda.2009.12.005.
See Also
fxlm, fxregimes
Examples
## load package and datalibrary("fxregime")data("FXRatesCHF", package ="fxregime")## compute returns for CNY (and explanatory currencies)## for one year after abolishing fixed USD regimecny <- fxreturns("CNY", frequency ="daily", start = as.Date("2005-07-25"), end = as.Date("2006-07-24"), other = c("USD","JPY","EUR","GBP"))## monitor CNY regression as in Shah et al. (2005)mon <- fxmonitor(CNY ~ USD + JPY + EUR + GBP, data = cny, start = as.Date("2005-11-01"))mon
## visualizationplot(mon)plot(mon, aggregate =FALSE)plot(mon, which ="(Variance)")## query breakpoint/datebreakpoints(mon)breakdates(mon)