CgmmParametersEstim | R Documentation |
Estimate the four parameters of stable laws using generalised method of moments based on a continuum of complex moment conditions (Cgmm) due to Carrasco and Florens. Those moments are computed by matching the characteristic function with its sample counterpart. The resulting (ill-posed) estimation problem is solved by a regularisation technique.
CgmmParametersEstim(x, type = c("2S", "IT", "Cue"), alphaReg = 0.01, subdivisions = 50, IntegrationMethod = c("Uniform", "Simpson"), randomIntegrationLaw = c("unif", "norm"), s_min = 0, s_max = 1, theta0 = NULL, IterationControl = list(), pm = 0, PrintTime = FALSE,...)
x |
Data used to perform the estimation: a vector of length n. |
type |
Cgmm algorithm: |
alphaReg |
Value of the regularisation parameter; numeric, default = 0.01. |
subdivisions |
Number of subdivisions used to compute the different integrals involved in the computation of the objective function (to minimise); numeric. |
IntegrationMethod |
Numerical integration method to be used to approximate the
(vectorial) integrals. Users can choose between |
randomIntegrationLaw |
Probability measure associated to the Hilbert space spanned by the moment conditions. See Carrasco and Florens (2003) for more details. |
s_min,s_max |
Lower and Upper bounds of the interval where the moment conditions are considered; numeric. |
theta0 |
Initial guess for the 4 parameters values: vector of length 4. |
IterationControl |
Only used with |
pm |
Parametrisation, an integer (0 or 1); default: |
PrintTime |
Logical flag; if set to TRUE, the estimation duration is printed out to the screen in a readable format (h/min/sec). |
... |
Other arguments to be passed to the optimisation function and/or to the integration function. |
The moment conditions The moment conditions are given by:
g_t(X,θ)=g(t,X;θ)= e^{itX} - φ_{θ}(t)
If one has a sample x_1,…,x_n of i.i.d realisations of the same random variable X, then:
\hat{g}_n(t,θ) = \frac{1}{n}∑_{i=1}^n g(t,x_i;θ) = φ_n(t) -φ_θ(t),
where φ_n(t) is the eCF associated with the sample x_1,…,x_n, defined by φ_n(t)= \frac{1}{n} ∑_{j=1}^n e^{itX_j}. Objective function
Following \insertCite@@carrasco2007efficientCont, Proposition 3.4;textualStableEstim, the objective function to minimise is given by:
obj(θ)=\overline{\underline{v}^{\prime}}(θ)[α_{Reg} \mathcal{I}_n+C^2]^{-1}\underline{v}(θ)
where:
v_i(θ) = \int_I \overline{g_i}(t;\hat{θ}^1_n) \hat{g}(t;θ) π(t) dt.
is the identity matrix of size n.
is a n \times n matrix with (i,j)th element given by c_{ij} = \frac{1}{n-4}\int_I \overline{g_i}(t;\hat{θ}^1_n) g_j(t;\hat{θ}^1_n) π(t) dt.
To compute C and v_i() we will use the function
IntegrateRandomVectorsProduct
.
The IterationControl
If type = "IT"
or type = "Cue"
, the user can control
each iteration using argument IterationControl
, which should be
a list
which contains the following elements:
NbIter
:maximum number of iterations.
The loop stops when NBIter
is reached; default = 10.
PrintIterlogical
:if set to TRUE the values of the current parameter estimates are printed to the screen at each iteration; default = TRUE.
RelativeErrMax
:the loop stops if the relative error
between two consecutive estimation steps is smaller then
RelativeErrMax
; default = 1e-3.
a list with the following elements:
Estim |
output of the optimisation function, |
duration |
estimation duration in numerical format, |
method |
|
nlminb
as used to minimise the Cgmm objective function.
carrasco2000generalizationStableEstim
\insertRefcarrasco2002efficientStableEstim
\insertRefcarrasco2003asymptoticStableEstim
\insertRefcarrasco2007efficientContStableEstim
\insertRefcarrasco2010efficientStableEstim
Estim
,
GMMParametersEstim
,
IntegrateRandomVectorsProduct
## general inputs theta <- c(1.45, 0.55, 1, 0) pm <- 0 set.seed(2345) x <- rstable(50, theta[1], theta[2], theta[3], theta[4], pm) ## GMM specific params alphaReg <- 0.01 subdivisions <- 20 randomIntegrationLaw <- "unif" IntegrationMethod <- "Uniform" ## Estimation twoS <- CgmmParametersEstim(x = x, type = "2S", alphaReg = alphaReg, subdivisions = subdivisions, IntegrationMethod = IntegrationMethod, randomIntegrationLaw = randomIntegrationLaw, s_min = 0, s_max = 1, theta0 = NULL, pm = pm, PrintTime = TRUE) twoS
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.