歪度と尖度

Pythonで学ぶポートフォリオ・リスク管理入門

Dakota Wixom

Quantitative Analyst | QuantCourse.com

歪度は分布の第3モーメントです。

  • 負の歪度: 分布の質量が右側に集中。通常、右に偏った曲線
  • 正の歪度: 分布の質量が左側に集中。通常、左に偏った曲線
  • ファイナンスでは、正の歪度が望ましい

 

Pythonで学ぶポートフォリオ・リスク管理入門

Pythonによる歪度

StockData オブジェクトに株式リターンデータが読み込まれていると仮定します。

リターンの歪度を計算するには:

from scipy.stats import skew
skew(StockData["Returns"].dropna())
0.225

この例では歪度が0より大きく、非正規性が示唆されます。

Pythonで学ぶポートフォリオ・リスク管理入門

尖度は分布の裾の厚さを表す指標です。

  • ファイナンスのリターンの多くは尖峰性(レプトカーティック)を示す
  • 尖峰性(レプトカーティック): 超過尖度が正(尖度が3より大)の分布
  • 超過尖度: 標本尖度から3を引いた値

 

Pythonで学ぶポートフォリオ・リスク管理入門

Pythonによる超過尖度

StockData オブジェクトに株式リターンデータが読み込まれていると仮定します。リターンの超過尖度を計算するには:

from scipy.stats import kurtosis
kurtosis(StockData["Returns"].dropna())
2.44

この例では超過尖度が0より大きく、非正規性が示唆されます。

Pythonで学ぶポートフォリオ・リスク管理入門

Pythonによる正規性検定

正規性の統計的検定はどのように行うか?

シャピロ・ウィルク検定の帰無仮説は、データが正規分布に従うというものです。

# Run the Shapiro-Wilk normality test in Python 
from scipy import stats
p_value = stats.shapiro(StockData["Returns"].dropna())[1]
if p_value <= 0.05:
     print("Null hypothesis of normality is rejected.")
else:
     print("Null hypothesis of normality is accepted.")

p値はリストの2番目の要素です。p値が0.05以下の場合、データが非正規である可能性が高いため、帰無仮説は棄却されます。

Pythonで学ぶポートフォリオ・リスク管理入門

練習しましょう!

Pythonで学ぶポートフォリオ・リスク管理入門

Preparing Video For Download...