Marginal Expected Shortfall#

Introduction#

The firm’s average return during the 5% worst days for the market.

MES measures how exposed a firm is to aggregate tail shocks and, interestingly, together with leverage, it has a significant explanatory power for which firms contribute to a potential crisis as noted by Acharya, Pedersen, Philippon, and Richardson (2017).

It is used to construct the Systemic Expected Shortfall.

References#

API#

class frds.measures.MarginalExpectedShortfall(firm_returns: ndarray, market_returns: ndarray)[source]#

Marginal Expected Shortfall

__init__(firm_returns: ndarray, market_returns: ndarray) None[source]#
Parameters:
  • firm_returns (np.ndarray) – (n_days,) array of the returns (equity or CDS) for the firm.

  • market_returns (np.ndarray) – (n_days,) array of the returns (equity or CDS) for the market as a whole.

estimate(q: float = 0.05) float[source]#

estiamte

Parameters:

q (float, optional) – The percentile. Range is [0, 1]. Deaults to 0.05.

Returns:

The marginal expected shortfall of firm \(i\) at time \(t\).

Return type:

float

Examples#

>>> from numpy.random import RandomState
>>> from frds.measures import MarginalExpectedShortfall

Let’s simulate some returns for the firm and the market.

>>> rng = RandomState(0)
>>> firm_returns = rng.normal(0,1,100)
>>> mkt_returns = rng.normal(0,1,100)

Compute the MES.

>>> mes = MarginalExpectedShortfall(firm_returns, mkt_returns)
>>> mes.estimate()
0.13494025343324562