# Z-score#

## Introduction#

A measure of bank insolvency risk, defined as:

$\text{Z-score} = \frac{\text{ROA}+\text{CAR}}{\sigma_{\text{ROA}}}$

where $$\text{ROA}$$ is the bank’s ROA, $$\text{CAR}$$ is the bank’s capital ratio, and $$\sigma_{\text{ROA}}$$ is the standard deviation of bank ROA.

The rationale behind Z-score is simple. A bank is insolvent when its loss $$-\pi$$ exceeds equity $$E$$, i.e., $$-\pi>E$$. The probability of insolvency is $$P(-\pi>E)$$.

If bank assets is $$A$$, then $$P(-\pi>E)=P(-\frac{\pi}{A}>\frac{E}{A})=P(-ROA>CAR)$$.

Assuming profits are normally distributed, then scaling $$(\text{ROA}+\text{CAR})$$ by $$\sigma_{\text{ROA}}$$ yields an estimate of the distance to insolvency.

A higher Z-score implies that larger shocks to profitability are required to cause the losses to exceed bank equity.

## API#

frds.measures.z_score(roa: float, capital_ratio: float, past_roas: ndarray) float[source]#

Z-score

Parameters:
• roa (float) – the current bank ROA.

• capital_ratio (float) – the current bank equity to asset ratio.

• past_roas (np.ndarray) – (n_periods,) array of past bank ROAs used to calculate the standard deviation.

Returns:

The bank’s Z-score

Return type:

float

## Examples#

>>> from frds.measures import z_score
>>> import numpy as np
>>> roas = np.array([0.1,0.2,0.15,0.18,0.2])
>>> z_score.estimate(roa=0.2, capital_ratio=0.5, past_roas=roas)
18.549962900111296