distributions.GeneralizedPareto
Generalized Pareto severity with a location (Riegel’s parameterization
Usage
distributions.GeneralizedPareto()via GeneralizedPareto.riegel()): P(X > x) = (1 + xi (x - location) / beta) ** (-1 / xi) above the location.
For tail estimation from draws, see prospicio.risk.Gpd; this class is the same distribution as a pricing severity.
Parameters
xi: float-
Shape.
beta: float-
Scale; finite and positive.
location: float = 0.0
Examples
>>> from prospicio.distributions import GeneralizedPareto
>>> g = GeneralizedPareto.riegel(1000.0, 2.0, 1.5)
>>> round(g.survival(2000.0), 12) == round((7 / 3) ** -1.5, 12)True
Attributes
| Name | Description |
|---|---|
| beta | Scale beta. |
| location | Location, where the support starts. |
| xi | Shape xi. |
beta
Scale beta.
beta: float
location
Location, where the support starts.
location: float
xi
Shape xi.
xi: float
Methods
| Name | Description |
|---|---|
| cdf() |
Distribution function P(X <= x).
|
| fit_riegel() | Maximum likelihood fit of Riegel’s generalized Pareto with threshold |
| layer() | Expected loss to the layer limit xs attachment. |
| layer_second_moment() | Second moment of the loss to the layer limit xs |
| layer_variance() | Variance of the loss to the layer limit xs attachment. |
| lev() |
Limited expected value E[min(X, limit)].
|
| mean() |
Mean of the distribution (inf if it does not exist).
|
| quantile() |
Quantile: the smallest x with P(X <= x) >= p.
|
| riegel() |
Riegel’s generalized Pareto: local alpha alpha_ini at the
|
| sample() |
n draws from stream stream of the generator keyed by
|
| std() | Standard deviation of the distribution. |
| stop_loss() |
Expected excess over a retention, E[max(X - retention, 0)].
|
| survival() |
Survival function P(X > x), accurate far into the tail.
|
| variance() |
Variance of the distribution (inf if it does not exist).
|
cdf()
Distribution function P(X <= x).
Usage
cdf(x)Parameters
x: float
Returns
float
fit_riegel()
Maximum likelihood fit of Riegel’s generalized Pareto with threshold
Usage
fit_riegel(losses, t, reporting_thresholds=None, censored=None, weights=None)Parameters
losses: list of floatt: floatreporting_thresholds: list of float = Nonecensored: list of bool = Noneweights: list of float = None
Returns
GeneralizedPareto-
Read the alphas as
t / beta(initial) and1 / xi(tail).
layer()
Expected loss to the layer limit xs attachment.
Usage
layer(limit, attachment)Parameters
limit: float-
inffor an unlimited layer. attachment: float
Returns
float
layer_second_moment()
Second moment of the loss to the layer limit xs
Usage
layer_second_moment(limit, attachment)Parameters
limit: floatattachment: float
Returns
float
layer_variance()
Variance of the loss to the layer limit xs attachment.
Usage
layer_variance(limit, attachment)Parameters
limit: floatattachment: float
Returns
float
lev()
Limited expected value E[min(X, limit)].
Usage
lev(limit)Parameters
limit: float
Returns
float
mean()
Mean of the distribution (inf if it does not exist).
Usage
mean()Returns
float
quantile()
Quantile: the smallest x with P(X <= x) >= p.
Usage
quantile(p)Parameters
p: float-
Probability in
[0, 1].
Returns
float
Raises
ValueError-
If p is outside
[0, 1].
riegel()
Riegel’s generalized Pareto: local alpha alpha_ini at the
Usage
riegel(t, alpha_ini, alpha_tail)threshold t, tending to alpha_tail far out.
Parameters
t: floatalpha_ini: floatalpha_tail: float
Returns
GeneralizedPareto
sample()
n draws from stream stream of the generator keyed by
Usage
sample(n, seed, stream=0)seed.
Parameters
n: intseed: intstream: int = 0
Returns
list of float
std()
Standard deviation of the distribution.
Usage
std()Returns
float
stop_loss()
Expected excess over a retention, E[max(X - retention, 0)].
Usage
stop_loss(retention)Parameters
retention: float
Returns
float
survival()
Survival function P(X > x), accurate far into the tail.
Usage
survival(x)Parameters
x: float
Returns
float
variance()
Variance of the distribution (inf if it does not exist).
Usage
variance()Returns
float