Ước lượng tham số

Quản trị Rủi ro Định lượng với Python

Jamsheed Shorish

Computational Economist

Một lớp phân phối

  • Phân phối lỗ: không biết chắc
  • Lớp phân phối khả dĩ?
    • Giả sử lớp phân phối $f(x; \theta)$
    • $x$ là lỗ (biến ngẫu nhiên)
    • $\theta$ là vector tham số chưa biết
  • Ví dụ: Phân phối Chuẩn
    • Tham số: $\theta = (\mu, \sigma)$, trung bình $\mu$ và độ lệch chuẩn $\sigma$
  • Ước lượng tham số: tìm $\theta^\star$ “tốt nhất” từ dữ liệu
  • Phân phối lỗ: $f(x,\theta^\star)$
Quản trị Rủi ro Định lượng với Python

Khớp một phân phối

  • Khớp phân phối theo tiêu chí tối thiểu hóa sai số
    • Ví dụ: scipy.stats.norm.fit(), khớp phân phối Chuẩn với dữ liệu
      • Kết quả: trung bình và độ lệch chuẩn tối ưu
  • Ưu điểm:
    • Có thể trực quan hóa chênh lệch giữa dữ liệu và ước lượng bằng histogram
    • Có thể cung cấp kiểm định mức độ phù hợp
Quản trị Rủi ro Định lượng với Python

Mức độ phù hợp (Goodness of fit)

  • Phân phối ước lượng khớp dữ liệu mức nào?
  • Trực quan: vẽ histogram lỗ danh mục

ảnh histogram lỗ

Quản trị Rủi ro Định lượng với Python

Mức độ phù hợp (Goodness of fit)

  • Phân phối ước lượng khớp dữ liệu mức nào?
  • Trực quan: vẽ histogram lỗ danh mục
  • Phân phối Chuẩn với norm.fit()

ảnh histogram lỗ với phân phối chuẩn

Quản trị Rủi ro Định lượng với Python

Mức độ phù hợp (Goodness of fit)

  • Phân phối ước lượng khớp dữ liệu mức nào?
  • Trực quan: vẽ histogram lỗ danh mục
  • Ví dụ:
    • Phân phối Chuẩn với norm.fit()
    • Phân phối t của Student với t.fit()
    • Histogram bất đối xứng?

ảnh histogram lỗ với phân phối chuẩn

Quản trị Rủi ro Định lượng với Python

Kiểm định Anderson–Darling

  • Kiểm định thống kê về mức độ phù hợp
    • Giả thuyết không: dữ liệu phân phối Chuẩn
    • Bác bỏ Chuẩn nếu thống kê kiểm định > critical_values
  • Import scipy.stats.anderson
  • Tính kết quả trên dữ liệu loss
from scipy.stats import anderson

anderson(loss)
AndersonResult(statistic=11.048641503898523,
critical_values=array([0.57 , 0.649, 0.779, 0.909, 1.081]),
significance_level=array([15. , 10. ,  5. ,  2.5,  1. ]))
Quản trị Rủi ro Định lượng với Python

Độ lệch (Skewness)

  • Độ lệch (skewness): mức độ phân phối không đối xứng
    • Phân phối Chuẩn: đối xứng

phân phối chuẩn

Quản trị Rủi ro Định lượng với Python

Độ lệch (Skewness)

  • Độ lệch: mức độ phân phối không đối xứng
    • Phân phối Chuẩn: đối xứng
    • Phân phối t của Student: đối xứng

phân phối chuẩn và t

Quản trị Rủi ro Định lượng với Python

Độ lệch (Skewness)

  • Độ lệch: mức độ phân phối không đối xứng
    • Phân phối Chuẩn: đối xứng
    • Phân phối t của Student: đối xứng
  • Phân phối Chuẩn lệch (Skewed Normal): bất đối xứng
    • Chứa Chuẩn như trường hợp đặc biệt
    • Hữu ích cho dữ liệu danh mục, ví dụ lỗ xảy ra thường hơn lãi
    • Có trong scipy.statsskewnorm

chuẩn, t và chuẩn lệch

Quản trị Rủi ro Định lượng với Python

Kiểm tra độ lệch

  • Kiểm tra mức độ lệch khỏi phân phối đối xứng: scipy.stats.skewtest
  • Giả thuyết không: không có độ lệch
  • Import skewtest từ scipy.stats
  • Tính kết quả trên dữ liệu loss
    • Có ý nghĩa thống kê => dùng lớp phân phối có độ lệch
from scipy.stats import skewtest

skewtest(loss)
SkewtestResult(statistic=-7.786120875514511,
pvalue=6.90978472959861e-15)
Quản trị Rủi ro Định lượng với Python

Ayo berlatih!

Quản trị Rủi ro Định lượng với Python

Preparing Video For Download...