# fxmonitor

##### Monitor Exchange Rate Regressions

Score-based monitoring of exchange rate regression models (Frankel-Wei models).

- Keywords
- regression

##### Usage

`fxmonitor(formula, data, start, end = 3, alpha = 0.05, meat. = NULL)`# S3 method for 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.

- ylim, xlab, ylab, main, ...
graphical parameters.

##### Details

`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.

##### Value

An object of class `"fxmonitor"`

which is a list including components:

the fitted empirical fluctuation process,

the number of observations in the history period,

the formula used,

the data used,

start of the monitoring period,

end of monitoring period,

significance level of monitoring procedure,

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

##### Examples

```
# NOT RUN {
## load package and data
library("fxregime")
data("FXRatesCHF", package = "fxregime")
## compute returns for CNY (and explanatory currencies)
## for one year after abolishing fixed USD regime
cny <- 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
## visualization
plot(mon)
plot(mon, aggregate = FALSE)
plot(mon, which = "(Variance)")
## query breakpoint/date
breakpoints(mon)
breakdates(mon)
# }
```

*Documentation reproduced from package fxregime, version 1.0-4, License: GPL-2 | GPL-3*