常態性的數值檢定
moments 套件提供計算資料的 峰度(kurtosis) 與 偏態(skewness) 的函式,並可執行 Jarque-Bera 檢定。Jarque-Bera 檢定是根據這些高階動差來檢驗常態性。它會在一個指令中,將資料的偏態與峰度與常態分配的理論值進行比較,分別是 0 與 3。
jarque.test(x)
skewness(x, na.rm = FALSE)
kurtosis(x, na.rm = FALSE)
在本練習中,你將計算 2008-2011 年道瓊指數 djx 的偏態與峰度,並套用 Jarque-Bera 常態性檢定。接著,你會將相同的方法套用到 djreturns,其中包含同期道瓊工業指數的 29 檔成分股。
回想一下,你可以用 apply(X, MARGIN, FUN, …) 在陣列的不同邊界套用函式。MARGIN 參數是一個向量,用來指定函式套用的位置;在這裡,你將使用 2,表示把函式 FUN 套用到矩陣 X 的「欄」。
moments 套件已為你匯入,djx 與 djreturns 資料已在你的工作空間中。
本練習屬於課程
R 的量化風險管理
練習說明
- 分別使用
skewness()與kurtosis()計算djx中道瓊指數報酬的偏態與峰度。 - 使用
jarque.test()對djx進行 Jarque-Bera 常態性檢定。 - 使用
apply()計算djreturns中各檔股票報酬的偏態與峰度,並分別將結果指定給s與k。 - 在
plot()中填入參數,繪製k對s的散佈圖,並設定參數type = "n",接著用text()將股票代號標示在各點上(此步驟已為你準備好)。 - 使用
apply()對djreturns中每一檔道瓊成分股執行 Jarque-Bera 檢定。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Calculate skewness and kurtosis of djx
___(___)
___(___)
# Carry out a Jarque-Bera test for djx
___(___)
# Calculate skewness and kurtosis of djreturns
s <- ___(___)
k <- ___(___)
# Plot k against s and add text labels to identify stocks
plot(___, ___, ___)
text(s, k, names(s), cex = 0.6)
# Carry out Jarque-Bera tests for each constituent in djreturns
___(___)