Aan de slagGa gratis aan de slag

KDE van een verliesverdeling

Kernel density estimation (KDE) kan verdelingen met 'dikke staarten' fitten, dus verdelingen met af en toe grote afwijkingen van het gemiddelde (zoals de verdeling van portefeuilleverliezen).

In hoofdstuk 2 leerde je over de Student's T-verdeling, die bij een laag aantal vrijheidsgraden ook dit kenmerk van portefeuilleverliezen kan vastleggen.

Je vergelijkt een Gaussische KDE met een T-verdeling, beide gefit op de gegeven portefeuille-losses uit 2008 - 2009. Je visualiseert hoe goed ze passen met een histogram. (Onthoud dat de T-verdeling de gefitte parameters params gebruikt, terwijl de gaussian_kde, als niet-parametrische methode, een functie teruggeeft.)

De functie gaussian_kde() is beschikbaar, net als de t-verdeling, beide uit scipy.stats. Je kunt grafieken toevoegen aan het meegegeven axis-object.

Deze oefening maakt deel uit van de cursus

Kwantitatief risicobeheer in Python

Cursus bekijken

Oefeninstructies

  • Fit een t-verdeling op de portefeuille-losses.
  • Fit een Gaussische KDE op losses met gaussian_kde().
  • Plot de kansdichtheidsfuncties (PDF's) van beide schattingen ten opzichte van losses met het axis-object.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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()
Code bewerken en uitvoeren