开始使用免费开始使用

正态性的数值检验

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 包已为您导入,djxdjreturns 数据已在您的工作区中。

本练习是课程的一部分

R 中的定量风险管理

查看课程

练习说明

  • 使用 skewness()kurtosis() 分别计算 djx 中道琼斯指数收益的偏度和峰度。
  • 使用 jarque.test()djx 进行 Jarque-Bera 正态性检验。
  • 使用 apply() 计算 djreturns 中各只股票收益的偏度与峰度,并分别将结果赋给 sk
  • 填写 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
___(___)
编辑并运行代码