Main estimation function for the tempered stabled distributions offered within this package. It allows the user to select the preferred estimation method and several related options.
TemperedEstim(
TemperedType = c("CTS", "TSS", "NTS", "MTS", "GTS", "KRTS", "RDTS"),
EstimMethod = c("ML", "GMM", "Cgmm", "GMC"),
data,
theta0 = NULL,
ComputeCov = FALSE,
HandleError = TRUE,
eps = 1e-06,
algo = NULL,
regularization = NULL,
WeightingMatrix = NULL,
t_scheme = NULL,
alphaReg = NULL,
t_free = NULL,
nb_t = NULL,
subdivisions = NULL,
IntegrationMethod = NULL,
randomIntegrationLaw = NULL,
s_min = NULL,
s_max = NULL,
ncond = NULL,
IterationControl = NULL,
...
)
Object of a estim-class. See details for more information.
A String. Either "CTS", "TSS", "NTS", "MTS", "GTS", "KRTS", "RDTS".
A String. Either "ML", "GMM", "Cgmm", or "GMC".
Data used to perform the estimation: numeric vector of length n.
A vector of numeric values corresponding to the pattern of the
TemperedType
.
Logical flag: If set to TRUE, the asymptotic covariance
matrix is computed. FALSE
by default.
Logical flag: If set to TRUE
and if an error occurs
during the estimation procedure, the computation will carry on and NA will be
returned. Useful for Monte Carlo simulations.TRUE
by default.
Numerical error tolerance. 1e-06
by default.
algorithm: For GMM: "2SGMM"
is the two step GMM proposed
by Hansen (1982). "CueGMM"
and "ITGMM"
are respectively the
continuous updated and the iterative GMM proposed by Hansen, Eaton et Yaron
(1996) and adapted to the continuum case. For GMC: "2SGMC", "CueGMC"
.
For Cgmm: "2SCgmm", "CueCgmm", ...
.
regularization scheme to be used for moment methods,
one of "Tikhonov"
(Tikhonov), "LF"
(Landweber-Fridmann) and
"cut-off"
(spectral cut-off).
type of weighting matrix used to compute the
objective function for the GMM and GMC methods, one of "OptAsym"
(the
optimal asymptotic), "DataVar"
(the data driven, only for GMM) and
"Id"
(the identity matrix).
scheme used to select the points for the GMM method where the
moment conditions are evaluated, one of "equally"
(equally placed),
"NonOptAr"
(non optimal arithmetic placement), "uniformOpt"
(uniform optimal placement), "ArithOpt"
(arithmetic optimal
placement), "Var Opt"
(optimal variance placement) and "free"
(users need to pass their own set of points in ...).
value of the regularisation parameter; numeric. Example Value could be ==0.01.
sequence, if t_scheme=="free"
.
integer, if you set t_scheme <- "equally"
. nb_t could be
== 20 for example.
Number of subdivisions used to compute the different integrals involved in the computation of the objective function for the Cgmm method (to minimise); numeric.
Numerical integration method to be used to approximate the (vectorial) integrals for the Cgmm method. Users can choose between "Uniform" discretization or the "Simpson"'s rule (the 3-point Newton-Cotes quadrature rule).
Probability measure associated to the Hilbert space spanned by the moment conditions for the Cgmm method.
Lower and Upper bounds of the interval where the moment conditions are considered for the Cgmm method; numeric.
Integer. Number of moment conditions (until order ncond
)
for the GMC method. Must not be less than 3 for TSS, 6 for CTS, 5 for NTS.
only used if algo = "IT..." or algo = "Cue..." to control the iterations. See Details.
Other arguments to be passed to the estimation function or the asymptotic confidence level.
TemperedType Detailed documentation of the individual tempered stable distributions can be viewed in the respective characteristic function. With the parameter 'TemperedTyp' you can choose the tempered stable distribution you want to use. Here is a list of distribution you can choose from:
Tempered stabel subordinator: See charTSS()
for details.
Classical tempered stable distribution: See charCTS()
for
details.
Generalized classical tempered stable distribution: See
charGTS()
for details.
Normal tempered stable distribution: See charNTS()
for
details.
Modified tempered stable distribution: See charMTS()
for
details.
Rapid decreasing tempered stable distribution: See charRDTS()
for details.
Kim-Rachev tempered stable distribution: See charKRTS()
for
details.
Estimfct Additional parameters are needed for different estimation
functions. These are listed below for each function. The list of additional
parameters starts after the parameter eps
in the parameter list.
See usage of Maximum likelihood estimation in Kim et al. (2008). No additional parameters are needed.
Generalized Method of Moments by Feuerverger (1981).
The parameters algo, alphaReg, regularization, WeightingMatrix, and
t_scheme
must be specified.
Parameter t_scheme
: One of the most important features of this
method is that it allows the user to choose how to place the points where
the moment conditions are evaluated. One can choose among 6 different
options. Depending on the option, further parameters have to be passed.
equally placed points in min_t,max_t
. When
provided, user's min_t
and max_t
will be used (when
Coinstrained == FALSE
).
non optimal arithmetic placement.
uniform optimal placement.
arithmetic optimal placement.
optimal variance placement as explained above.
user needs to pass own set of points in t_free
.
Parameter WeightingMatrix
: One can choose among 3 different options:
the optimal asymptotic choice.
the covariance matrix of the data provided.
the identity matrix.
Continuum Generalized Methods of Moments by Carrasco &
Kotchoni (2017). The parameters algo, alphaReg, subdivisions,
IntegrationMethod, randomIntegrationLaw, s_min, and s_max
must be
specified.
Generalized Method of Cumulants (GMC) by Massing, T.
(2022). The parameters algo, alphaReg, regularization,
WeightingMatrix, and ncond
must be specified.
Estim-Class Class storing all the information about the estimation method; output of this function.
Slots of the return class
Object of class "numeric
"; Value of the estimated
parameters.
Object of class "numeric
"; Initial guess for the
parameters.
Object of class "matrix
" representing the covariance
matrix.
Object of class "matrix
" representing the confidence
interval computed at a specific level (attribute of the object).
Object of class "numeric
" used to compute the
estimation.
Object of class "numeric
" ; length of the data.
Object of class "list
" ; more information about the
estimation method.
Object of class "numeric
" ; duration in seconds.
Object of class "numeric
" representing the status of
the procedure: 0 failure or 1 success.
Object of class "character
" description of the
parameter used in the estimation.
IterationControl If algo = "IT..."
or algo =
"Cue..."
the user can control each iteration by setting up the list
IterationControl which contains the following elements:
maximum number of iteration. The loop stops when NBIter is reached; default = 10.
if set to TRUE, the value of the current parameter estimation is printed to the screen at each iteration; default = TRUE.
the loop stops if the relative error between two consecutive estimation steps is smaller than RelativeErrMax; default = 1e-3.
Since this package is structurally based on the "StableEstim" package by Tarak Kharrat and Georgi N. Boshnakov, more detailed documentation can be found in their documentation.
Massing, T. (2023), 'Parametric Estimation of Tempered Stable Laws'
Kim, Y. s., Rachev, S. T., Bianchi, M. L. & Fabozzi, F. J. (2008), 'Financial market models with levy processes and time-varying volatility' tools:::Rd_expr_doi("10.1016/j.jbankfin.2007.11.004")
Hansen, L. P. (1982), 'Large sample properties of generalized method of moments estimators' tools:::Rd_expr_doi("10.2307/1912775")
Hansen, L. P.; Heaton, J. & Yaron, A. (1996), 'Finite-Sample Properties of Some Alternative GMM Estimators' tools:::Rd_expr_doi("10.1080/07350015.1996.10524656")
Carrasco, M. & Kotchoni, R. (2017), 'Efficient estimation using the characteristic function' tools:::Rd_expr_doi("10.1017/S0266466616000025")
Kuechler, U. & Tappe, S. (2013), 'Tempered stable distribution and processes' tools:::Rd_expr_doi("10.1016/j.spa.2013.06.012")
Feuerverger, A. & McDunnough, P. (1981), 'On the efficiency of empirical characteristic function procedures' tools:::Rd_expr_doi("10.1111/j.2517-6161.1981.tb01143.x")
# \donttest{
TemperedEstim(TemperedType = "CTS", EstimMethod = "ML",
data = rCTS(2,1.5,1,1,1,1,0),
theta0 = c(1.5,1,1,1,1,0) - 0.1);
TemperedEstim("TSS", "GMM", rTSS(20,0.5,1,1), algo = "2SGMM",
alphaReg = 0.01, regularization = "cut-off",
WeightingMatrix = "OptAsym", t_scheme = "free",
t_free = seq(0.1,2,length.out = 12));
TemperedEstim("NTS", "Cgmm", rNTS(20,0.5,1,1,1,0), algo = "2SCgmm",
alphaReg = 0.01, subdivisions = 50,
IntegrationMethod = "Uniform", randomIntegrationLaw = "unif",
s_min = 0, s_max= 1);
TemperedEstim("TSS", "GMC", rTSS(20, 0.5, 1, 1), algo = "2SGMC",
alphaReg = 0.01, WeightingMatrix = "OptAsym",
regularization = "cut-off", ncond = 8, theta0 = c(0.5,1,1));
# }
Run the code above in your browser using DataLab