curve {curvir} | R Documentation |
Reserve demand curve
Description
Fits the reserve demand curve between excess reserves and normalised rates
Usage
curve(x, y, type = "logistic", dummy = NULL, q = NULL, ...)
Arguments
x |
A matrix of explanatory variables. Excess reserve must be the first input.Additional regressor follow (optional). |
y |
A vector of normalised interest rates. |
type |
The type of the reserve demand curve. This can be any of |
dummy |
Optional input to signify a regime change (vertical shifts in the curve). Must be a vector of equal length to the rows of |
q |
Target interval. This is a scalar below 1, for example 0.9 is the 90% interval. If |
... |
Additional arguments passed to optimiser |
Details
For a description of the parametric curves, see the provided reference. Below we list their functions:
-
logisitc
(Logistic) -
redLogistic
(Reduced logistic) -
fixLogistic
(Fixed logistic) -
doubleExp
(Double exponential) -
exponential
(Exponential) -
fixExponential
(Fixed exponential) -
arctan
(Arctangent) -
linear
(Linear)
And , where
,
,
,
are curve parameters,
is a constant togglable by
constant
, are the regressors including the excess reserves.
their coefficients, and finally
is the error term of the curve.
Value
Returns a model of class curvir
. This includes
-
type
the type of the curve. -
constant
a logical indicating the use of a constant. -
w
a list including:mean
the curve parameters for the mean of the curve,upper
andlower
the parameters for the curve at the upper and lower intervals. -
data
a list including they
,x
, anddummy
used for the fitting of the curve. -
mse
the MSE from the fitting of the curve (the mean only). -
q
the interval used in the fitting of the curve.
Note
An additional column for the constant is automatically generated, unless requested otherwise.
Author(s)
Nikolaos Kourentzes, nikolaos@kourentzes.com
References
Chen, Z., Kourentzes, N., & Veyrune, R. (2023). Modeling the Reserve Demand to Facilitate Central Bank Operations. IMF Working Papers, 2023(179).
See Also
predict.curvir
, plot.curvir
, and curveopt
.
Examples
# Use ECB example data
rate <- ecb$rate
x <- ecb$x[,1,drop=FALSE]
curve(x,rate)
# An arctangent curve
curve(x,rate,type="arctan")