VaR ในการบริหารความเสี่ยงทางการเงิน

GARCH Models ใน Python

Chelsea Yang

Data Science Instructor

แนวคิดด้านการบริหารความเสี่ยง

กฎข้อที่ 1: อย่าขาดทุน

กฎข้อที่ 2: อย่าลืมกฎข้อที่ 1

-- Warren Buffett

การ์ตูน Buffett

GARCH Models ใน Python

VaR คืออะไร

  • VaR ย่อมาจาก Value at Risk

  • องค์ประกอบหลัก 3 ส่วน:

    1. พอร์ตโฟลิโอ
    2. ช่วงเวลา
    3. ความน่าจะเป็น
GARCH Models ใน Python

ตัวอย่าง VaR

VaR 5% ใน 1 วัน มูลค่า $1 ล้าน

มีโอกาส 5% ที่พอร์ตโฟลิโอจะสูญเสียมูลค่า 1 ล้านดอลลาร์หรือมากกว่านั้นภายใน 1 วัน

VaR 1% ใน 10 วัน มูลค่า $9 ล้าน

มีโอกาส 1% ที่พอร์ตโฟลิโอจะสูญเสียมูลค่า 9 ล้านดอลลาร์หรือมากกว่านั้นภายใน 10 วัน

GARCH Models ใน Python

VaR ในการบริหารความเสี่ยง

  • กำหนดขีดจำกัดความเสี่ยง
  • VaR exceedance: ความสูญเสียของพอร์ตโฟลิโอเกินค่า VaR

VaR exceedances

GARCH Models ใน Python

Dynamic VaR ด้วย GARCH

  • การประมาณ VaR ที่สมจริงยิ่งขึ้นด้วย GARCH

  • VaR = mean + (GARCH vol) * quantile

VaR = mean_forecast.values + np.sqrt(variance_forecast).values * quantile
GARCH Models ใน Python

การคำนวณ Dynamic VaR

  • ขั้นตอนที่ 1: ใช้โมเดล GARCH เพื่อพยากรณ์ variance
# Specify and fit a GARCH model
basic_gm = arch_model(bitcoin_data['Return'], p = 1, q = 1, 
                      mean = 'constant', vol = 'GARCH', dist = 't')
gm_result = basic_gm.fit()
# Make variance forecast
gm_forecast = gm_result.forecast(start = '2019-01-01')
GARCH Models ใน Python

การคำนวณ Dynamic VaR (ต่อ)

  • ขั้นตอนที่ 2: ใช้โมเดล GARCH เพื่อหาค่า mean และ volatility เชิงพยากรณ์

    mean_forecast = gm_forecast.mean['2019-01-01':]
    variance_forecast = gm_forecast.variance['2019-01-01':]
    

     

  • ขั้นตอนที่ 3: หา quantile ตามระดับความเชื่อมั่น

    1. Parametric VaR
    2. Empirical VaR
GARCH Models ใน Python

Parametric VaR

ประมาณ quantile จากการแจกแจงที่ GARCH กำหนดไว้สำหรับ standardized residuals

# Assume a Student's t-distribution 
# ppf(): Percent point function

q_parametric = garch_model.distribution.ppf(0.05, nu)
GARCH Models ใน Python

Empirical VaR

ประมาณ quantile จากการแจกแจงเชิงสังเกตของ GARCH standardized residuals

q_empirical = std_resid.quantile(0.05)
GARCH Models ใน Python

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

GARCH Models ใน Python

Preparing Video For Download...