关于数据挖掘:R语言股票收益分布一致性检验KS检验KolmogorovSmirnov置换检验Permutation-Test可视化

42次阅读

共计 2115 个字符,预计需要花费 6 分钟才能阅读完成。

原文链接:http://tecdat.cn/?p=25086 

往年的收益是否真的与典型年份的预期不同?差别实际上与典型年份的预期不同吗?这些都是相当轻的、容易答复的问题。咱们能够应用均值相等或方差相等的测试。
然而上面这个问题呢。

往年的收益详情与个别年份的预期状况是否不同?

这是一个更加广泛和重要的问题,因为它包含所有的时刻和尾部行为。而且它的答案也不那么简略。

当我写完那篇文章后,我在想肯定有一种办法能够正式测验收益密度之间的差别,而不仅仅是量化、可视化和用眼睛看。的确有这样的办法。这篇文章的目标是展现如何正式测验密度之间的平等。

事实上,至多有两种办法能够测验两个密度或两个散布之间的平等。第一种是比拟经典的。这种测验被称为 Kolmogorov-Smirnov 测验。另一种是比拟古代的,应用 Permutation Test 置换测验(须要模仿)。咱们展现这两种办法。让咱们先拉出一些价格数据。

end<- format(Sy.D, "%Y-%m-%d")
l = lenh
da0 <- lay
Time <- index                   
ret <- as.numeric/as.numeric -1
tail(rt)
# 失去直到 2018 年的指数。# 咱们随后将 2018 年与其余年份进行比拟
tid<- which(index)
# 每日收益的平均值和 SD(2018 年除外)> mean(100*rt\[1:pd\])

> SD(100*retd\[1:tid\])

> # 2008 年(到目前为止)每日回报的平均值和 SD 值

> mean(100*rtd\[-c(1:tpd)\])

> SD(100*red\[-c(1:mid)\])

咱们能够看到,2018 年每日收益的均值和标准差与其余的均值和标准差略有不同。这是预计密度的样子:

Kolmogorov-Smirnov 测验

 咱们能够做的是计算每个密度的累积散布函数 。2018 年的那个和不包含 2018 年的那个。说 散布是针对 2018 年的,散布是针对其余的。咱们计算每个 X 的差别。咱们晓得这些(相对)差别的最大值是如何散布的,所以咱们能够用这个最大值作为测试统计量,如果它在尾部的散布太远,咱们就认为这两个散布是不同的。从模式上看。

 介于 0 和 1 之间(通过结构,因为咱们减去两个概率并取绝对值)。 是一个 Brownian bridge.(最大)差别具备已知散布。这是一个极限散布,所以咱们须要大量的观测值 n 能力对这个测验有信念。

Kolmogorov-Smirnov 测试 – R 代码

让咱们将 2018 年的每日收益与其余收益进行比拟,看看基于 Kolmogorov-Smirnov 测验的散布是否雷同:

# Kolmogorov-Smirnov 测试 ####
ks.test

咱们看到,最大值是 0.067,依据极限散布,P 值是 0.3891。所以没有证据表明 2018 年的散布与其余的散布有任何不同。

让咱们来看看置换测验。次要起因是,鉴于 Kolmogorov-Smirnov 测验是基于极限散布的,为了使其无效,咱们须要大量的察看后果。然而当初咱们不用像过来那样依赖渐进法,因为咱们能够应用计算机。

两个密度相等的置换测验 Permutation Test

直观地说,如果密度完全相同,咱们能够把它们放在一起,从 “ 捆绑数据 “ 中取样。在咱们的例子中,因为咱们把收益率汇集在一个向量中,对向量进行排列意味着 2018 年的每日收益率当初扩散在向量中,所以像下面的方程那样取一个差值,就像从一个无效假设中进行模仿:2018 年每日收益率的散布与其余的完全相同。当初,对于每个 x,咱们将有一个在原假如下的差别。咱们也有每个 x 的理论差别,来自咱们的察看数据。咱们当初能够将密度之间的理论差别(每个 x)平方(或取绝对值),并将其与咱们从 “ 数据 “ 生成的模仿后果进行比拟。通过观察理论差别落在模仿差别的哪个四分位数,能够预计出 p 值。如果理论数据远远超出了原假如下的散布范畴,那么咱们将回绝散布雷同的假如。

密度比拟置换测验 – R 代码

咱们来执行刚刚形容的操作。两个参数 boot 和grid 是您想要的模仿数量以及您在计算 x 时想要应用的网格点数 . 因而 ngrid=100

# 咱们须要两组的索引,2018 年和其余的。id <- substr
tmnd <- i1 == 2018
sme

咱们能够看到 p 值与咱们应用 Kolmogorov-Smirnov 测验失去的值差异不大。这是它的样子:

等密度测验:p 值 = 0.326


最受欢迎的见解

1.Matlab 马尔可夫链蒙特卡罗法(MCMC)预计随机稳定率(SV,Stochastic Volatility)模型

2. 基于 R 语言的疾病制图中自适应核密度估计的阈值抉择办法

3.WinBUGS 对多元随机稳定率模型:贝叶斯预计与模型比拟

4.R 语言回归中的 hosmer-lemeshow 拟合优度测验

5.matlab 实现 MCMC 的马尔可夫切换 ARMA – GARCH 模型预计

6.R 语言区间数据回归剖析

7.R 语言 WALD 测验 VS 似然比测验

8.python 用线性回归预测股票价格

9.R 语言如何在生存剖析与 Cox 回归中计算 IDI,NRI 指标

正文完
 0