เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

VaR สำหรับการแจกแจงแบบ Normal

เพื่อให้คุ้นเคยกับการวัด Value at Risk (VaR) วิธีที่ดีคือนำไปใช้กับการแจกแจงที่รู้จักกันดี การแจกแจงแบบ Normal (หรือ Gaussian) น่าสนใจเป็นพิเศษ เพราะ 1) มีรูปแบบทางคณิตศาสตร์ที่เรียบง่าย และ 2) สามารถอธิบายปรากฏการณ์เชิงประจักษ์ได้หลากหลาย สำหรับแบบฝึกหัดนี้ จะสมมติว่า ความสูญเสีย ของพอร์ตโฟลิโอมีการแจกแจงแบบ Normal กล่าวคือ ยิ่งค่าที่ได้จากการแจกแจงสูงขึ้น ความสูญเสียก็ยิ่งมากขึ้นตามไปด้วย

จะได้เรียนรู้วิธีใช้ฟังก์ชัน ppf() (percent point function) จาก scipy.stats.norm และฟังก์ชัน quantile() จาก numpy เพื่อหาค่า VaR ที่ระดับความเชื่อมั่น 95% และ 99% ตามลำดับ สำหรับการแจกแจง Normal มาตรฐาน นอกจากนี้ยังจะแสดงภาพค่า VaR ในรูปของเส้นขีดแบ่งบนกราฟการแจกแจง Normal

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การบริหารความเสี่ยงเชิงปริมาณด้วย Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • ใช้ฟังก์ชัน .ppf() ของ norm เพื่อหาค่า VaR ที่ระดับความเชื่อมั่น 95%
  • หาค่า VaR ที่ระดับ 99% โดยใช้ฟังก์ชัน quantile() ของ NumPy กับตัวอย่างสุ่มแบบ Normal จำนวน 100,000 ค่าที่เก็บไว้ใน draws
  • เปรียบเทียบค่า VaR ที่ระดับ 95% และ 99% โดยใช้คำสั่ง print
  • พล็อตกราฟการแจกแจง Normal และเพิ่มเส้นแสดงค่า VaR ที่ระดับ 95%

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Create the VaR measure at the 95% confidence level using norm.ppf()
VaR_95 = norm.ppf(____)

# Create the VaR measure at the 99% confidence level using numpy.quantile()
draws = norm.rvs(size = 100000)
VaR_99 = np.quantile(____, 0.99)

# Compare the 95% and 99% VaR
print("95% VaR: ", ____, "; 99% VaR: ", ____)

# Plot the normal distribution histogram and 95% VaR measure
plt.hist(draws, bins = 100)
plt.axvline(x = ____, c='r', label = "VaR at 95% Confidence Level")
plt.legend(); plt.show()
แก้ไขและรันโค้ด