Volatilitate și valori extreme

Managementul Cantitativ al Riscului în Python

Jamsheed Shorish

Computational Economist

Ipotezele testului Chow

  • Testul Chow: identifică semnificația statistică a unui posibil punct de ruptură structurală
  • Necesită: un punct de ruptură prestabilit
  • Necesită: o relație liniară (ex. model de factori) $$ \log(\text{Population}_t) = \alpha + \beta * \text{Year}_t + u_t $$

Imagine a creșterii populației Chinei cu punct de ruptură structurală

Managementul Cantitativ al Riscului în Python

Indicii ale rupturii structurale

  • Vizualizarea tendinței poate să nu indice un punct de ruptură
  • Alternativă: analizați volatilitatea în loc de tendință
    • Schimbările structurale sunt adesea însoțite de incertitudine crescută => volatilitate
    • Permite utilizarea unor modele mai complexe (ex. modele de volatilitate stochastică)

Imagine a volatilității lunare cu posibile puncte de ruptură structurală

Managementul Cantitativ al Riscului în Python

Volatilitate cu fereastră glisantă

  • Fereastră glisantă: calculați volatilitatea în timp și detectați variațiile
  • Reamintire: fereastră glisantă de 30 de zile

    • Creați fereastra glisantă cu metoda .rolling()
    • Calculați volatilitatea ferestrei (eliminați datele lipsă)
    • Calculați statistica dorită, ex. .mean(), .min() etc.

     

rolling = portfolio_returns.rolling(30)

volatility = rolling.std().dropna()
vol_mean = volatility.resample("M").mean()
Managementul Cantitativ al Riscului în Python

Volatilitate cu fereastră glisantă

  • Vizualizați volatilitatea rezultată (varianță sau deviație standard)
import matplotlib.pyplot as plt
vol_mean.plot(
  title="Monthly average volatility"
).set_ylabel("Standard deviation")
plt.show()

Imagine a volatilității medii lunare

Managementul Cantitativ al Riscului în Python

Volatilitate cu fereastră glisantă

  • Vizualizați volatilitatea rezultată (varianță sau deviație standard)
  • Variații mari ale volatilității => posibile puncte de ruptură structurală
  • Utilizați punctele propuse într-un model liniar al volatilității
    • Variantă a testului Chow
  • Ghid pentru aplicarea modelelor ARCH, de volatilitate stochastică etc.
vol_mean.pct_change().plot(
  title="$\Delta$ average volatility"
).set_ylabel("% $\Delta$ stdev")
plt.show()

Imagine a variației procentuale a volatilității lunare

Managementul Cantitativ al Riscului în Python

Valori extreme

  • VaR, CVaR: pierderea maximă, respectiv shortfall-ul așteptat la un nivel de încredere dat
  • Vizualizați variațiile pierderii maxime prin reprezentarea VaR?
    • Util pentru seturi mari de date
    • Seturi mici: informații insuficiente
  • Alternativă: identificați pierderile care depășesc un prag
  • Exemplu: $\text{VaR}_{95}$ este pierderea maximă în 95% din cazuri
    • Astfel, în 5% din cazuri, pierderile pot depăși $\text{VaR}_{95}$
  • Backtesting: utilizarea datelor anterioare ex-post pentru evaluarea estimării de risc
    • Utilizat pe scară largă în managementul riscului
Managementul Cantitativ al Riscului în Python

Backtesting

  • Presupuneți că $\text{VaR}_{95} = 0.03$
  • Pierderile ce depășesc 3% sunt valori extreme
  • Backtesting: aproximativ 5% (100% - 95%) din pierderile anterioare ar trebui să depășească 3%
    • Mai mult de 5%: distribuție cu cozi mai largi („grele")
    • Mai puțin de 5%: distribuție cu cozi mai înguste
  • CVaR pentru backtesting: surprinde mai bine coada distribuției decât VaR

Imagine a pierderilor și pragului VaR 95%

Managementul Cantitativ al Riscului în Python

Să exersăm!

Managementul Cantitativ al Riscului în Python

Preparing Video For Download...