pricing.Mbbefd
The MBBEFD exposure curve and destruction-rate distribution (Bernegger,
Usage
pricing.Mbbefd()1997), with b >= 0 and g >= 1; 1/g is the probability of a total loss.
G(x) is the share of a risk’s expected loss below the fraction x of its maximum possible loss (MPL). Mbbefd.swiss_re(c) gives Bernegger’s one-parameter family: c = 1.5, 2, 3, 4 are the Swiss Re curves and c = 5 the Lloyd’s curve.
Parameters
b: floatg: float
Examples
>>> from prospicio.pricing import Mbbefd
>>> c3 = Mbbefd.swiss_re(3.0)
>>> top = c3.layer_share(5e6, 5e6, 10e6)
>>> bottom = c3.layer_share(5e6, 0.0, 10e6)
>>> round(top + bottom, 12), top < bottom(1.0, True)
Attributes
| Name | Description |
|---|---|
| b | Parameter b. |
| g | Parameter g. |
b
Parameter b.
b: float
g
Parameter g.
g: float
Methods
| Name | Description |
|---|---|
| cdf() | Distribution function of the destruction rate at each x. |
| curve() |
The exposure curve G(x) at each x (clamped to [0, 1]).
|
| layer_share() | Share of a risk’s expected loss in the layer limit xs |
| mean() |
Mean destruction rate, 1 / G'(0).
|
| rate_quantile() |
Destruction rate (loss over MPL) at each probability u in
|
| swiss_re() |
Bernegger’s curve c: b = exp(3.1 - 0.15 (1 + c) c),
|
| total_loss_probability() |
Probability of a total loss, 1/g.
|
cdf()
Distribution function of the destruction rate at each x.
Usage
cdf(x)Parameters
x: list of float
Returns
list of float
curve()
The exposure curve G(x) at each x (clamped to [0, 1]).
Usage
curve(x)Parameters
x: list of float
Returns
list of float
mean()
Mean destruction rate, 1 / G'(0).
Usage
mean()Returns
float
rate_quantile()
Destruction rate (loss over MPL) at each probability u in
Usage
rate_quantile(u)(0, 1): draws with this curve as their exposure curve.
Parameters
u: list of float
Returns
list of float
swiss_re()
Bernegger’s curve c: b = exp(3.1 - 0.15 (1 + c) c),
Usage
swiss_re(c)g = exp((0.78 + 0.12 c) c).
Parameters
c: float- Non-negative; 0 is the straight line.
Returns
Mbbefd
total_loss_probability()
Probability of a total loss, 1/g.
Usage
total_loss_probability()Returns
float