正态性的数值检验
moments 包提供用于计算数据的峰度和偏度的函数,并实现了基于这些高阶矩的Jarque-Bera 检验。该检验在一条命令中将数据的偏度与峰度与正态分布的理论值进行比较,二者分别为 0 和 3。
jarque.test(x)
skewness(x, na.rm = FALSE)
kurtosis(x, na.rm = FALSE)
在本练习中,您将计算 djx(2008-2011 年的道琼斯指数)的偏度和峰度,并应用 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(),以参数type = "n"绘制k相对于s的散点框架,然后用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
___(___)