GARCH modely v Pythonu
Chelsea Yang
Data Science Instructor
Pravidlo č. 1: Nikdy neprodělávejte
Pravidlo č. 2: Nikdy nezapomínejte na pravidlo č. 1
-- Warren Buffett

VaR = Value at Risk (hodnota v riziku)
Tři složky:
1denní 5% VaR ve výši 1 milionu dolarů
5% pravděpodobnost, že hodnota portfolia klesne o 1 milion dolarů nebo více během 1 dne
10denní 1% VaR ve výši 9 milionů dolarů
1% pravděpodobnost, že hodnota portfolia klesne o 9 milionů dolarů nebo více během 10 dnů

Realističtější odhad VaR pomocí GARCH
VaR = střední hodnota + (volatilita GARCH) * kvantil
VaR = mean_forecast.values + np.sqrt(variance_forecast).values * quantile
# Specify and fit a GARCH model
basic_gm = arch_model(bitcoin_data['Return'], p = 1, q = 1,
mean = 'constant', vol = 'GARCH', dist = 't')
gm_result = basic_gm.fit()
# Make variance forecast
gm_forecast = gm_result.forecast(start = '2019-01-01')
Krok 2: Výpočet střední hodnoty a volatility s výhledem do budoucna
mean_forecast = gm_forecast.mean['2019-01-01':]
variance_forecast = gm_forecast.variance['2019-01-01':]
Krok 3: Určení kvantilu podle hladiny spolehlivosti
Odhad kvantilů na základě předpokládaného rozdělení standardizovaných reziduí GARCH
# Assume a Student's t-distribution
# ppf(): Percent point function
q_parametric = garch_model.distribution.ppf(0.05, nu)
Odhad kvantilů na základě pozorovaného rozdělení standardizovaných reziduí GARCH
q_empirical = std_resid.quantile(0.05)
GARCH modely v Pythonu