Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

kurtosis

Kurtosis


Description

compute kurtosis of a univariate distribution

Usage

kurtosis(
  x,
  na.rm = FALSE,
  method = c("excess", "moment", "fisher", "sample", "sample_excess"),
  ...
)

Arguments

x

a numeric vector or object.

na.rm

a logical. Should missing values be removed?

method

a character string which specifies the method of computation. These are either "moment", "fisher", or "excess". If "excess" is selected, then the value of the kurtosis is computed by the "moment" method and a value of 3 will be subtracted. The "moment" method is based on the definitions of kurtosis for distributions; these forms should be used when resampling (bootstrap or jackknife). The "fisher" method correspond to the usual "unbiased" definition of sample variance, although in the case of kurtosis exact unbiasedness is not possible. The "sample" method gives the sample kurtosis of the distribution.

...

arguments to be passed.

Details

This function was ported from the RMetrics package fUtilities to eliminate a dependency on fUtilties being loaded every time. This function is identical except for the addition of checkData and additional labeling.

kurtosis(moment) = sum((x-mean(x))^4/var(x)^2)/length(x)

kurtosis(excess) = sum((x-mean(x))^4/var(x)^2)/length(x) - 3

kurtosis(sample) = sum(((x-mean(x))/var(x))^4)*n*(n+1)/((n-1)*(n-2)*(n-3))

kurtosis (fisher) = ((n+1)*(n-1)*((sum(x^4)/n)/(sum(x^2)/n)^2 - (3*(n-1))/(n+1)))/((n-2)*(n-3))

kurtosis(sample excess) = sum(((x-mean(x))/var(x))^4)*n*(n+1)/((n-1)*(n-2)*(n-3)) - 3*(n-1)^2/((n-2)*(n-3))

where n is the number of return, \overline{r} is the mean of the return distribution, σ_P is its standard deviation and σ_{S_P} is its sample standard deviation

Author(s)

Diethelm Wuertz, Matthieu Lestel

References

Carl Bacon, Practical portfolio performance measurement and attribution, second edition 2008 p.84-85

See Also

Examples

## mean -
## var -
   # Mean, Variance:
   r = rnorm(100)
   mean(r)
   var(r)

## kurtosis -
   kurtosis(r)

data(managers)
kurtosis(managers[,1:8])

data(portfolio_bacon)
print(kurtosis(portfolio_bacon[,1], method="sample")) #expected 3.03
print(kurtosis(portfolio_bacon[,1], method="sample_excess")) #expected -0.41
print(kurtosis(managers['1996'], method="sample"))
print(kurtosis(managers['1996',1], method="sample"))

PerformanceAnalytics

Econometric Tools for Performance and Risk Analysis

v2.0.4
GPL-2 | GPL-3
Authors
Brian G. Peterson [cre, aut, cph], Peter Carl [aut, cph], Kris Boudt [ctb, cph], Ross Bennett [ctb], Joshua Ulrich [ctb], Eric Zivot [ctb], Dries Cornilly [ctb], Eric Hung [ctb], Matthieu Lestel [ctb], Kyle Balkissoon [ctb], Diethelm Wuertz [ctb], Anthony Alexander Christidis [ctb], R. Douglas Martin [ctb], Zeheng 'Zenith' Zhou [ctb], Justin M. Shea [ctb]
Initial release
2020-02-05

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.