Введение в управление портфельными рисками на Python
Dakota Wixom
Quantitative Analyst | QuantCourse.com
Хвостовой риск — это риск экстремальных инвестиционных исходов, прежде всего в отрицательной части распределения.
Просадка — это процентные потери относительно максимального накопленного исторического значения.
$$ \text{Drawdown} = \frac{r_t}{RM} - 1$$

Предполагается, что cum_rets — это np.array накопленной доходности за период
running_max = np.maximum.accumulate(cum_rets)
running_max[running_max < 1] = 1
drawdown = (cum_rets) / running_max - 1
drawdown
Date Return
2007-01-03 -0.042636
2007-01-04 -0.081589
2007-01-05 -0.073062
Value at Risk, или VaR, — это пороговое значение с заданным уровнем доверия, при котором потери исторически не превышают определённой величины.
VaR обычно вычисляется для квантилей 95, 99 и 99,9.
Пример: VaR(95) = −2,3%

С вероятностью 95% потери не превысят −2,3% в день на основе исторических данных.
var_level = 95
var_95 = np.percentile(StockReturns, 100 - var_level)
var_95
-0.023
Conditional Value at Risk, или CVaR, — это оценка ожидаемых потерь в худших 1 − x% сценариев.
CVaR обычно вычисляется для квантилей 95, 99 и 99,9.
Пример: CVaR(95) = −2,5%

В худших 5% случаев потери в среднем превышали −2,5% исторически.
Предполагается, что StockReturns — это временной ряд доходностей акций.
Для вычисления исторического CVaR(95):
var_level = 95
var_95 = np.percentile(StockReturns, 100 - var_level)
cvar_95 = StockReturns[StockReturns <= var_95].mean()
cvar_95
-0.025
Введение в управление портфельными рисками на Python