Introduktion till portföljriskhantering i Python
Dakota Wixom
Quantitative Analyst | QuantCourse.com
Svansrisk är risken för extrema investeringsutfall, framför allt på förlustsidan av en fördelning.
Drawdown är den procentuella förlusten från det högsta kumulativa historiska värdet.
$$ \text{Drawdown} = \frac{r_t}{RM} - 1$$

Förutsatt att cum_rets är en np.array med kumulativ avkastning över tid
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, eller VaR, är ett tröskelvärde med en given konfidensnivå som anger att förluster inte kommer att överstiga en viss nivå (mer exakt: inte historiskt har överstigit den).
VaR anges vanligtvis med kvantiler som 95, 99 och 99,9.
Exempel: VaR(95) = -2,3%

95% säkert att förlusterna inte överstiger -2,3% under en given dag, baserat på historiska värden.
var_level = 95
var_95 = np.percentile(StockReturns, 100 - var_level)
var_95
-0.023
Conditional Value at Risk, eller CVaR, är en skattning av den förväntade förlusten i de värsta 1 - x% av scenarierna.
CVaR anges vanligtvis med kvantiler som 95, 99 och 99,9.
Exempel: CVaR(95) = -2,5%

I de värsta 5% av fallen översteg förlusterna i genomsnitt -2,5% historiskt.
Förutsatt att du har ett objekt StockReturns som är en tidsserie med aktieavkastningar.
Så här beräknar du historisk CVaR(95):
var_level = 95
var_95 = np.percentile(StockReturns, 100 - var_level)
cvar_95 = StockReturns[StockReturns <= var_95].mean()
cvar_95
-0.025
Introduktion till portföljriskhantering i Python