การกระจายของผลตอบแทนที่ไม่เป็นโปรดปกติ

การวิเคราะห์พอร์ตโฟลิโอด้วย Python

Charlotte Werger

Data Scientist

ในโลกอุดมคติ ผลตอบแทนจะกระจายแบบปกติ

การกระจายแบบปกติของผลตอบแทน S&P500

1 ที่มา: การกระจายของผลตอบแทนรายเดือนจาก S&P500 จาก evestment.com
การวิเคราะห์พอร์ตโฟลิโอด้วย Python

แต่การใช้ค่าเฉลี่ยและส่วนเบี่ยงเบนมาตรฐานอาจทำให้เข้าใจผิดได้

การกระจายสองแบบที่มีค่าเฉลี่ยและส่วนเบี่ยงเบนมาตรฐานเท่ากัน

1 ที่มา: "An Introduction to Omega, Con Keating and William Shadwick, The Finance Development Center, 2002
การวิเคราะห์พอร์ตโฟลิโอด้วย Python

ความเบ้: การเอียงไปทางด้านลบ

การกระจายที่มีค่าความเบ้แตกต่างกัน

การวิเคราะห์พอร์ตโฟลิโอด้วย Python

สัมประสิทธิ์ความเบ้ของเพียร์สัน

$ $ $ Skewness = \frac{3(mean - median)}{\sigma} $ $ $

หลักเกณฑ์เบื้องต้น:

  • $ Skewness < -1 $ หรือ $ Skewness > 1 \Rightarrow$ การกระจายมีความเบ้มาก
  • $ -1 < Skewness < -0.5 $ หรือ $ 0.5 < Skewness < 1 \Rightarrow$ การกระจายมีความเบ้ปานกลาง
  • $ -0.5 < Skewness < 0.5 \Rightarrow$ การกระจายที่สมมาตรโดยประมาณ
1 Source: https://brownmath.com/stat/shape.htm
การวิเคราะห์พอร์ตโฟลิโอด้วย Python

ความโด่ง: การกระจายแบบหางหนา

การกระจายหางหนาเปรียบเทียบกับการกระจายปกติ

1 ที่มา: Pimco
การวิเคราะห์พอร์ตโฟลิโอด้วย Python

การตีความค่าความโด่ง

"ค่าความโด่งที่สูงขึ้นหมายความว่าความแปรปรวนส่วนใหญ่เกิดจากค่าเบี่ยงเบนสุดขีดที่เกิดขึ้นไม่บ่อย มากกว่าค่าเบี่ยงเบนขนาดปานกลางที่เกิดขึ้นบ่อย"

  • การกระจายแบบปกติมีค่าความโด่งเท่ากับ 3 เรียกว่า (mesokurtic)
  • การกระจายที่มีค่าความโด่ง <3 เรียกว่า platykurtic หางสั้นและบาง ยอดกลางต่ำและกว้าง
  • การกระจายที่มีค่าความโด่ง >3 เรียกว่า leptokurtic หางยาวและหนา ยอดกลางสูงและแหลม (หางหนา)
1 Source: https://brownmath.com/stat/shape.htm
การวิเคราะห์พอร์ตโฟลิโอด้วย Python

การคำนวณความเบ้และความโด่ง

apple_returns=apple_price.pct_change()
apple_returns.head(3)

date
2015-01-02         NaN
2015-01-05   -0.028172
2015-01-06    0.000094
Name: AAPL, dtype: float64
apple_returns.hist()
การวิเคราะห์พอร์ตโฟลิโอด้วย Python

ฮิสโตแกรมของผลตอบแทน Apple ล่าสุด

การวิเคราะห์พอร์ตโฟลิโอด้วย Python

การคำนวณความเบ้และความโด่ง

print("mean : ", apple_returns.mean())
print("vol  : ", apple_returns.std())
print("skew : ", apple_returns.skew())
print("kurt : ", apple_returns.kurtosis())
mean :  0.0006855391415724799
vol  :  0.014459504468360529
skew :  -0.012440851735057878
kurt :  3.197244607586669
การวิเคราะห์พอร์ตโฟลิโอด้วย Python

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

การวิเคราะห์พอร์ตโฟลิโอด้วย Python

Preparing Video For Download...