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
Oefeninstructies
- Fit een
t-verdeling op de portefeuille-losses. - Fit een Gaussische KDE op
lossesmetgaussian_kde(). - Plot de kansdichtheidsfuncties (PDF's) van beide schattingen ten opzichte van
lossesmet hetaxis-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()