stable: Stable Distribution

Description Usage Arguments Details Functions Author(s) References See Also Examples

Description

These functions provide information about the stable distribution with the location, the dispersion, the skewness and the tail thickness respectively modelled by the parameters loc, disp, skew and tail.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
dstable(x, loc = 0, disp = 1/sqrt(2), skew = 0, tail = 2,
  npt = 501, up = 10, eps = 1e-06, integration = "Romberg")

pstable(q, loc = 0, disp = 1/sqrt(2), skew = 0, tail = 2,
  eps = 1e-06)

qstable(p, loc = 0, disp = 1/sqrt(2), skew = 0, tail = 2,
  eps = 1e-06)

rstable(n = 1, loc = 0, disp = 1/sqrt(2), skew = 0, tail = 2,
  eps = 1e-06)

hstable(x, loc = 0, disp = 1/sqrt(2), skew = 0, tail = 2,
  eps = 1e-06)

Arguments

x, q

vector of quantiles.

loc

vector of (real) location parameters.

disp

vector of (positive) dispersion parameters.

skew

vector of skewness parameters (in [-1,1]).

tail

vector of parameters (in [0,2]) related to the tail thickness.

npt, up, integration

As detailed herein – only available when using dstable.

eps

scalar giving the required precision in computation.

p

vector of probabilites.

n

number of observations.

Details

dstable, pstable, qstable and hstable compute the density, the distribution, the quantile and the hazard functions of a stable variate. rstable generates random deviates with the prescribed stable distribution.

loc is a location parameter in the same way as the mean in the normal distribution: it can take any real value.

disp is a dispersion parameter in the same way as the standard deviation in the normal distribution: it can take any positive value.

skew is a skewness parameter: it can take any value in (-1,1). The distribution is right-skewed, symmetric and left-skewed when skew is negative, null or positive respectively.

tail is a tail parameter (often named the characteristic exponent): it can take any value in (0,2) (with tail=1 and tail=2 yielding the Cauchy and the normal distributions respectively when symmetry holds).

If loc, disp, skew, or tail are not specified they assume the default values of 0, 1/sqrt(2), 0 and 2 respectively. This corresponds to a normal variate with mean=0 and variance=1/2 disp^2.

The stable characteristic function is given by

phi(t) = i loc t - disp |t|^tail [1+i skew sign(t) omega(t,tail)]

where

omega(t,tail) = (2/pi) log|t|

when tail=1, and

omega(t,tail) = tan(pi alpha / 2)

otherwise.

The characteristic function is inverted using Fourier's transform to obtain the corresponding stable density. This inversion requires the numerical evaluation of an integral from 0 to infinity. Two algorithms are proposed for this. The default is Romberg's method (integration="Romberg") which is used to evaluate the integral with an error bounded by eps. The alternative method is Simpson's integration (integration="Simpson"): it approximates the integral from 0 to infinity by an integral from 0 to up with npt points subdividing (O, up). These three extra arguments – integration, up and npt – are only available when using dstable. The other functions are all based on Romberg's algorithm.

Functions

Author(s)

Philippe Lambert (Catholic University of Louvain, Belgium, phlambert@stat.ucl.ac.be)

Jim Lindsey

References

Lambert, P. and Lindsey, J.K. (1999) Analysing financial returns using regression models based on non-symmetric stable distributions. Applied Statistics, 48, 409-424.

See Also

stablereg to fit generalized nonlinear regression models for the stable distribution parameters.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
par(mfrow=c(2,2))
x <- seq(-5,5,by=0.1)

# Influence of loc (location)
plot(x,dstable(x,loc=-2,disp=1/sqrt(2),skew=-0.8,tail=1.5),
  type="l",ylab="",main="Varying LOCation")
lines(x,dstable(x,loc=0,disp=1/sqrt(2),skew=-0.8,tail=1.5))
lines(x,dstable(x,loc=2,disp=1/sqrt(2),skew=-0.8,tail=1.5))

# Influence of disp (dispersion)
plot(x,dstable(x,loc=0,disp=0.5,skew=0,tail=1.5),
  type="l",ylab="",main="Varying DISPersion")
lines(x,dstable(x,loc=0,disp=1/sqrt(2),skew=0,tail=1.5))
lines(x,dstable(x,loc=0,disp=0.9,skew=0,tail=1.5))

# Influence of skew (skewness)
plot(x,dstable(x,loc=0,disp=1/sqrt(2),skew=-0.8,tail=1.5),
  type="l",ylab="",main="Varying SKEWness")
lines(x,dstable(x,loc=0,disp=1/sqrt(2),skew=0,tail=1.5))
lines(x,dstable(x,loc=0,disp=1/sqrt(2),skew=0.8,tail=1.5))

# Influence of tail (tail)
plot(x,dstable(x,loc=0,disp=1/sqrt(2),skew=0,tail=0.8),
  type="l",ylab="",main="Varying TAIL thickness")
lines(x,dstable(x,loc=0,disp=1/sqrt(2),skew=0,tail=1.5))
lines(x,dstable(x,loc=0,disp=1/sqrt(2),skew=0,tail=2))

stabledist::dstable(x=1, 1, 0)

stable documentation built on May 2, 2019, 6:39 a.m.