การวัดความเสี่ยง

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

Jamsheed Shorish

CEO, Shorish Research

การกระจายการขาดทุน

  • ตัวอย่าง Forex:
    • มูลค่าพอร์ตโฟลิโอเป็นดอลลาร์สหรัฐ USD 100
    • ปัจจัยความเสี่ยง = อัตราแลกเปลี่ยน EUR / USD
    • มูลค่าพอร์ตโฟลิโอเป็น EURO เมื่อ 1 EUR = 1 USD: USD 100 x EUR 1 / USD 1 = EUR 100
    • มูลค่าพอร์ตโฟลิโอเป็น EURO เมื่อ r EUR = 1 USD: = USD 100 x EUR r / 1 USD = EUR 100 x r
    • ขาดทุน = EUR 100 - EUR 100 x r = EUR 100 x (1 - r)
  • การกระจายการขาดทุน: ค่าสุ่มของ r => การกระจาย ของการขาดทุนพอร์ตโฟลิโอ ในอนาคต

ฮิสโตแกรมของการขาดทุน Forex

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

การขาดทุนสูงสุด

  • การขาดทุนสูงสุดของพอร์ตโฟลิโอคือเท่าใด?
  • ไม่สามารถกำหนดขอบเขตการขาดทุนได้ด้วยความแน่นอน 100%
  • ระดับความเชื่อมั่น: แทนที่ความแน่นอน 100% ด้วย ความน่าจะเป็น ของขอบเขตบน
  • ตอบคำถามเช่น "การขาดทุนสูงสุดที่เกิดขึ้น 95% ของเวลาคือเท่าใด?"
    • ในกรณีนี้ ระดับความเชื่อมั่นคือ 95%
การบริหารความเสี่ยงเชิงปริมาณด้วย Python

Value at Risk (VaR)

  • VaR: สถิติที่วัด การขาดทุนสูงสุดของพอร์ตโฟลิโอ ที่ระดับความเชื่อมั่นหนึ่ง ๆ
  • ระดับความเชื่อมั่นทั่วไป: 95%, 99% และ 99.5% (มักแสดงเป็นทศนิยม)
  • ตัวอย่าง Forex: ถ้า 95% ของเวลา อัตราแลกเปลี่ยน EUR / USD อย่างน้อย 0.40 แล้ว:
    • มูลค่าพอร์ตโฟลิโอ อย่างน้อย USD 100 x 0.40 EUR / USD = EUR 40,
    • การขาดทุนพอร์ตโฟลิโอ สูงสุด EUR 40 - EUR 100 = EUR 60,
    • ดังนั้น VaR ที่ 95% คือ EUR 60

กราฟอนุกรมเวลาของอัตราแลกเปลี่ยน EUR/USD พร้อมเส้นตัด 0.40

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

Conditional Value at Risk (CVaR)

  • CVaR: วัดการขาดทุนที่คาดหวัง เมื่อกำหนดให้ การขาดทุนขั้นต่ำเท่ากับ VaR
  • เท่ากับ ค่าคาดหวัง ของ ส่วนหาง ของการกระจายการขาดทุน:
    • $$\textnormal{CVaR}(\alpha) := \frac{1}{1-\alpha}\mathbb{E} \int_{\textnormal{VaR}(\alpha)}^{\bar{x}} x f(x) dx,$$
    • $f(\cdot)$ = pdf ของการกระจายการขาดทุน
    • $\bar{x}$ = ขอบเขตบนของการขาดทุน (อาจเป็นอนันต์)
    • $\textnormal{VaR}(\alpha)$ = VaR ที่ระดับความเชื่อมั่น $\alpha$
  • ตัวอย่าง Forex:
    • CVaR 95% = การขาดทุนที่คาดหวังใน 5% ของกรณีที่มูลค่าพอร์ตโฟลิโอ น้อยกว่า EUR 40

กราฟการกระจายการขาดทุน แสดงความสัมพันธ์ระหว่างส่วนหาง VaR และ CVaR

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

การคำนวณ VaR

  1. กำหนดระดับความเชื่อมั่น เช่น 95% (0.95)
  2. สร้าง Series ของข้อมูลการขาดทุน loss
  3. คำนวณ loss.quantile() ที่ระดับความเชื่อมั่นที่กำหนด
  4. VaR = ค่า .quantile() ที่ระดับความเชื่อมั่นที่ต้องการ

  5. การกระจายการขาดทุนของ scipy.stats: สามารถใช้ฟังก์ชัน percent point .ppf() ได้เช่นกัน

loss = pd.Series(observations)

VaR_95 = loss.quantile(0.95) print("VaR_95 = ", VaR_95)
Var_95 = 1.6192834157254088
การบริหารความเสี่ยงเชิงปริมาณด้วย Python

การคำนวณ CVaR

  1. กำหนดระดับความเชื่อมั่น เช่น 95% (0.95)
  2. สร้างหรือใช้ตัวอย่างจากการกระจายการขาดทุน
  3. คำนวณ VaR ที่ระดับความเชื่อมั่นที่กำหนด เช่น 0.95
  4. คำนวณ CVaR เป็นการขาดทุนที่คาดหวัง (การกระจายปกติ: ใช้ scipy.stats.norm.expect())
losses = pd.Series(scipy.stats.norm.rvs(size=1000))

VaR_95 = scipy.stats.norm.ppf(0.95)
CVaR_95 = (1/(1 - 0.95))*scipy.stats.norm.expect(lambda x: x, lb = VaR_95)
print("CVaR_95 = ", CVaR_95)
CVaR_95 = 2.153595332530393
การบริหารความเสี่ยงเชิงปริมาณด้วย Python

การแสดงภาพ VaR

  • ฮิสโตแกรมการกระจายการขาดทุนจากการสุ่ม 1000 ครั้งจาก N(1,3)

ฮิสโตแกรมของการขาดทุนที่กระจายแบบปกติ

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

การแสดงภาพ VaR

  • ฮิสโตแกรมการกระจายการขาดทุนจากการสุ่ม 1000 ครั้งจาก N(1,3)
    • VaR$_{95}$ = 5.72 คือ VaR ที่ระดับความเชื่อมั่น 95%

ฮิสโตแกรมของการขาดทุนพร้อม VaR 95%

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

การแสดงภาพ VaR

  • ฮิสโตแกรมการกระจายการขาดทุนจากการสุ่ม 1000 ครั้งจาก N(1,3)
    • VaR$_{95}$ = 5.72 คือ VaR ที่ระดับความเชื่อมั่น 95%
    • VaR$_{99}$ = 7.81 คือ VaR ที่ระดับความเชื่อมั่น 99%

ฮิสโตแกรมของการขาดทุนพร้อม VaR 95% และ 99%

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

การแสดงภาพ VaR

  • ฮิสโตแกรมการกระจายการขาดทุนจากการสุ่ม 1000 ครั้งจาก N(1,3)
    • VaR$_{95}$ = 5.72 คือ VaR ที่ระดับความเชื่อมั่น 95%
    • VaR$_{99}$ = 7.81 คือ VaR ที่ระดับความเชื่อมั่น 99%
    • VaR$_{99.5}$ = 8.78 คือ VaR ที่ระดับความเชื่อมั่น 99.5%
  • ค่า VaR เพิ่มขึ้น เมื่อระดับความเชื่อมั่น สูงขึ้น

ฮิสโตแกรมของการขาดทุนพร้อม VaR 95%, 99% และ 99.5%

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

มาฝึกกันเถอะ!

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

Preparing Video For Download...