Zacznij terazZacznij za darmo

KDE rozkładu strat

Jądrowe estymowanie gęstości (KDE) pozwala dopasowywać rozkłady z „grubymi ogonami", czyli rozkłady, w których od czasu do czasu pojawiają się duże odchylenia od średniej (tak jak w rozkładzie strat portfela).

W rozdziale 2 poznałeś rozkład T Studenta, który przy niskiej liczbie stopni swobody również potrafi uchwycić tę właściwość strat portfelowych.

Porównasz gaussowskie KDE z rozkładem T, z których każdy zostanie dopasowany do dostarczonych danych portfelowych losses z lat 2008–2009. Względną jakość dopasowania zwizualizujesz za pomocą histogramu. (Przypomnij sobie, że rozkład T korzysta z dopasowanych parametrów params, natomiast gaussian_kde, będąc metodą nieparametryczną, zwraca funkcję.)

Funkcja gaussian_kde() jest dostępna, podobnie jak rozkład t – oba pochodzą z scipy.stats. Wykresy można dodawać do dostarczonego obiektu axis.

To ćwiczenie jest częścią kursu

Ilościowe zarządzanie ryzykiem w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Dopasuj rozkład t do danych portfelowych losses.
  • Dopasuj gaussowskie KDE do losses, używając funkcji gaussian_kde().
  • Narysuj funkcje gęstości prawdopodobieństwa (PDF) obu estymatorów na tle losses, korzystając z obiektu axis.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# Generate a fitted T distribution over losses
params = t.____(losses)

# Generate a Gaussian kernal density estimate over losses
kde = ____(____)

# Add the PDFs of both estimates to a histogram, and display
loss_range = np.linspace(np.min(losses), np.max(losses), 1000)
axis.plot(loss_range, t.____(loss_range, *params), label = 'T distribution')
axis.____(loss_range, kde.pdf(____), label = 'Gaussian KDE')
plt.legend(); plt.show()
Edytuj i uruchom kod