# kurtosis

##### Kurtosis

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) = \frac{1}{n}*\sum^{n}_{i=1}(\frac{r_i - \overline{r}}{\sigma_P})^4$$ $$Kurtosis(excess) = \frac{1}{n}*\sum^{n}_{i=1}(\frac{r_i - \overline{r}}{\sigma_P})^4 - 3$$ $$Kurtosis(sample) = \frac{n*(n+1)}{(n-1)*(n-2)*(n-3)}*\sum^{n}_{i=1}(\frac{r_i - \overline{r}}{\sigma_{S_P}})^4 $$ $$Kurtosis(fisher) = \frac{(n+1)*(n-1)}{(n-2)*(n-3)}*(\frac{\sum^{n}_{i=1}\frac{(r_i)^4}{n}}{(\sum^{n}_{i=1}(\frac{(r_i)^2}{n})^2} - \frac{3*(n-1)}{n+1})$$ $$Kurtosis(sample excess) = \frac{n*(n+1)}{(n-1)*(n-2)*(n-3)}*\sum^{n}_{i=1}(\frac{r_i - \overline{r}}{\sigma_{S_P}})^4 - \frac{3*(n-1)^2}{(n-2)*(n-3)}$$

where \(n\) is the number of return, \(\overline{r}\) is the mean of the return distribution, \(\sigma_P\) is its standard deviation and \(\sigma_{S_P}\) is its sample standard deviation

##### References

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

##### See Also

##### Examples

```
# NOT RUN {
## 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"))
# }
```

*Documentation reproduced from package PerformanceAnalytics, version 2.0.4, License:*