TemperedEstim {TempStable} | R Documentation |
Estimation function
Description
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.
Usage
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,
...
)
Arguments
TemperedType |
A String. Either "CTS", "TSS", "NTS", "MTS", "GTS", "KRTS", "RDTS". |
EstimMethod |
A String. Either "ML", "GMM", "Cgmm", or "GMC". |
data |
Data used to perform the estimation: numeric vector of length n. |
theta0 |
A vector of numeric values corresponding to the pattern of the
|
ComputeCov |
Logical flag: If set to TRUE, the asymptotic covariance
matrix is computed. |
HandleError |
Logical flag: If set to |
eps |
Numerical error tolerance. |
algo |
algorithm: For GMM: |
regularization |
regularization scheme to be used for moment methods,
one of |
WeightingMatrix |
type of weighting matrix used to compute the
objective function for the GMM and GMC methods, one of |
t_scheme |
scheme used to select the points for the GMM method where the
moment conditions are evaluated, one of |
alphaReg |
value of the regularisation parameter; numeric. Example Value could be ==0.01. |
t_free |
sequence, if |
nb_t |
integer, if you set |
subdivisions |
Number of subdivisions used to compute the different integrals involved in the computation of the objective function for the Cgmm method (to minimise); numeric. |
IntegrationMethod |
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). |
randomIntegrationLaw |
Probability measure associated to the Hilbert space spanned by the moment conditions for the Cgmm method. |
s_min , s_max |
Lower and Upper bounds of the interval where the moment conditions are considered for the Cgmm method; numeric. |
ncond |
Integer. Number of moment conditions (until order |
IterationControl |
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. |
Details
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:
- TSS
Tempered stabel subordinator: See
charTSS()
for details.- CTS
Classical tempered stable distribution: See
charCTS()
for details.- GTS
Generalized classical tempered stable distribution: See
charGTS()
for details.- NTS
Normal tempered stable distribution: See
charNTS()
for details.- MTS
Modified tempered stable distribution: See
charMTS()
for details.- RDTS
Rapid decreasing tempered stable distribution: See
charRDTS()
for details.- KRTS
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.
- For ML:
See usage of Maximum likelihood estimation in Kim et al. (2008). No additional parameters are needed.
- For GMM:
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":
equally placed points in
min_t,max_t
. When provided, user'smin_t
andmax_t
will be used (whenCoinstrained == FALSE
).- "NonOptAr":
non optimal arithmetic placement.
- "uniformOpt":
uniform optimal placement.
- "ArithOpt":
arithmetic optimal placement.
- "Var Opt":
optimal variance placement as explained above.
- "free":
user needs to pass own set of points in
t_free
.
Parameter
WeightingMatrix
: One can choose among 3 different options:- "OptAsym":
the optimal asymptotic choice.
- "DataVar":
the covariance matrix of the data provided.
- "Id":
the identity matrix.
- For Cgmm:
Continuum Generalized Methods of Moments by Carrasco & Kotchoni (2017). The parameters
algo, alphaReg, subdivisions, IntegrationMethod, randomIntegrationLaw, s_min, and s_max
must be specified.- For GMC:
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
- par:
Object of class "
numeric
"; Value of the estimated parameters.- par0:
Object of class "
numeric
"; Initial guess for the parameters.- vcov:
Object of class "
matrix
" representing the covariance matrix.- confint:
Object of class "
matrix
" representing the confidence interval computed at a specific level (attribute of the object).- data:
Object of class "
numeric
" used to compute the estimation.- sampleSize:
Object of class "
numeric
" ; length of the data.- others:
Object of class "
list
" ; more information about the estimation method.- duration:
Object of class "
numeric
" ; duration in seconds.- failure:
Object of class "
numeric
" representing the status of the procedure: 0 failure or 1 success.- method:
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:
- NbIter
maximum number of iteration. The loop stops when NBIter is reached; default = 10.
- PrintIterlogical
if set to TRUE, the value of the current parameter estimation is printed to the screen at each iteration; default = TRUE.
- RelativeErrMax
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.
Value
Object of a estim-class. See details for more information.
References
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' doi:10.1016/j.jbankfin.2007.11.004
Hansen, L. P. (1982), 'Large sample properties of generalized method of moments estimators' doi:10.2307/1912775
Hansen, L. P.; Heaton, J. & Yaron, A. (1996), 'Finite-Sample Properties of Some Alternative GMM Estimators' doi:10.1080/07350015.1996.10524656
Carrasco, M. & Kotchoni, R. (2017), 'Efficient estimation using the characteristic function' doi:10.1017/S0266466616000025
Kuechler, U. & Tappe, S. (2013), 'Tempered stable distribution and processes' doi:10.1016/j.spa.2013.06.012
Feuerverger, A. & McDunnough, P. (1981), 'On the efficiency of empirical characteristic function procedures' doi:10.1111/j.2517-6161.1981.tb01143.x
See Also
https://github.com/GeoBosh/StableEstim/blob/master/R/Simulation.R
Examples
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));