KDE ของการแจกแจงการขาดทุน
การประมาณค่าความหนาแน่นด้วย Kernel (KDE) สามารถ fit การแจกแจงที่มี 'หางอ้วน' ได้ กล่าวคือ การแจกแจงที่บางครั้งมีค่าเบี่ยงเบนจากค่าเฉลี่ยมาก (เช่น การแจกแจงของการขาดทุนของพอร์ตโฟลิโอ)
ในบทที่ 2 คุณได้เรียนรู้เกี่ยวกับการแจกแจงแบบ Student's T ซึ่งเมื่อมีองศาแห่งอิสระต่ำ ก็สามารถ จับลักษณะ นี้ของการขาดทุนของพอร์ตโฟลิโอได้เช่นกัน
แบบฝึกหัดนี้จะให้เปรียบเทียบ Gaussian KDE กับการแจกแจงแบบ T โดย fit ทั้งคู่กับข้อมูล losses ของพอร์ตโฟลิโอในช่วงปี 2008 - 2009 แล้ววิเคราะห์ความเหมาะสมของแต่ละแบบผ่านฮิสโตแกรม (โปรดจำไว้ว่าการแจกแจงแบบ T ใช้พารามิเตอร์ที่ fit แล้วในรูปแบบ params ในขณะที่ gaussian_kde เป็นแบบ non-parametric จึงคืนค่าเป็นฟังก์ชัน)
ฟังก์ชัน gaussian_kde() และการแจกแจง t พร้อมใช้งานแล้ว โดยทั้งคู่นำเข้าจาก scipy.stats และสามารถเพิ่มกราฟลงในออบเจกต์ axis ที่เตรียมไว้ให้
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การบริหารความเสี่ยงเชิงปริมาณด้วย Python
คำแนะนำการฝึกหัด
- Fit การแจกแจงแบบ
tกับข้อมูลlossesของพอร์ตโฟลิโอ - Fit Gaussian KDE กับ
lossesโดยใช้gaussian_kde() - พล็อตฟังก์ชันความหนาแน่นของความน่าจะเป็น (PDF) ของทั้งสองการประมาณค่าเทียบกับ
lossesโดยใช้ออบเจกต์axis
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# 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()