① 拓端tecdat|R语言股票收益分布一致性检验KS检验Kolmogorov-Smirnov、置换检验Permutation Test可视化
今年的收益是否真的与典型年份的预期不同?这是一个常见的问题,可以通过均值相等或方差相等的测试来回答。然而,问题进一步深化时,我们开始关注收益密度之间的差异,这涉及所有时刻和尾部行为的比较。这个问题的答案往往不那么直观。
在正式检验收益密度之间差异的方法中,Kolmogorov-Smirnov检验和置换检验(Permutation Test)是两种常用手段。Kolmogorov-Smirnov检验基于经典的统计理论,通过比较两个分布的累积分布函数(CDF)来评估它们的相似性。置换检验则是一种现代方法,它通过模拟来评估两个样本是否来自相同的分布。
首先,我们从价格数据中提取每日收益。通过计算均值和标准差,我们可以观察到2018年与其它年份的收益存在轻微差异。为了更直观地理解这些差异,我们可以估算收益密度。
接下来,我们通过Kolmogorov-Smirnov检验来评估2018年收益分布与其它年份收益分布之间的差异。这一检验通过计算累积分布函数之间的最大差异来量化分布的相似性。最大差异的分布已知,且作为检验统计量,如果该值在理论分布的尾部显着,则可以推断分布存在差异。
在R语言中,我们能够轻松执行Kolmogorov-Smirnov检验,得到最大差异为0.067和P值为0.3891,表明没有证据表明2018年的分布与其他年份的分布存在显着差异。
置换检验作为另一种方法,同样能够用于比较两个密度或分布的相似性。相比于Kolmogorov-Smirnov检验依赖于极限分布,置换检验通过模拟提供了一种不依赖于渐进性的方法。通过在假设下排列数据,我们可以估计实际差异是否显着大于预期差异,从而得出分布是否相同的结论。
在R语言中,执行置换检验后,我们得到的P值与Kolmogorov-Smirnov检验结果相当,进一步验证了我们的假设,即2018年的每日收益分布与其它年份的分布没有显着差异。
此外,我们还介绍了两种方法的R语言代码实现,以便读者能够直接在自己的环境中进行操作和验证。
最后,提及了关于Matlab、R语言在疾病制图、随机波动率模型、贝叶斯估计、生存分析等领域应用的其他文章,旨在提供更广泛的统计分析工具和方法。
② R语言怎么把股票日收盘价转换成对数收益率
知道一系列收盘价向量X,length=1000,求对数收益率的R语言代码
acf(int[,2], lag.max = 15,type = "correlation", plot = TRUE,main='int monthly
acf(int.l[,2], lag.max = 15,type = "correlation", plot = TRUE,main='int monthly
log return')
Box.test(int[,2], lag = 5, type = "Ljung-Box")
Box.test(int[,2], lag = 10, type = "Ljung-Box")
Box.test(int.l[,2], lag = 5, type = "Ljung-Box")
Box.test(int.l[,2], lag = 10, type = "Ljung-Box")
运行结错误办
> int <- read.table("d-intc7208.txt", head=T)
错误于file(file, "rt") : 打链结
外: 警告信息:
In file(file, "rt") :
打文件'd-intc7208.txt': No such file or directory
+ acf(int.l[,2], lag.max = 15,type = "correlation", plot = TRUE,main='int monthly
错误: 意外符号 in:
"
acf(int.l[,2], lag.max = 15,type = "correlation", plot = TRUE,main='int"
> log return')
错误: 意外符号 in "log return"