今天的内容有点无聊,主要是几个统计检验方法的应用,都是scipy模块中的stas子模块中的函数。几个统计检验分别是K-S检验,A-D检验,W检验和正态性检验。
(1)K-S检验
K-S检验是基于累计分布函数,用以检验一个分布是否服从某种理论分布,或比较两个分布是否存在显著差异。
K-S检验所使用的函数是kstest,使用格式为:
kstest(rvs,cdf,args,alternative)
rvs是待检验样本,cdf指定检验的分布类型,args以元组形式输入分布函数中的相关参数,alternative默认为双尾检验,也可以使用less或greater做单尾检验。
(2)A-D检验
A-D检验相当于K-S检验的增强版,其原理是将所收集的数据从小到大排列,得出经验累积分布(ECDF),并与目标分布的理论累积分布(CDF)进行比较,得出所谓的AD统计量,这个统计量越小,数据的分布就越接近目标分布,越大则数据服从目标分布的可能性就越小。
A-D检验所使用的函数是anderson,使用格式为:
anderson(x,dist)
x是待检验样本,dist是指定检验的分布类型。
(3)W检验
该检验是由S.S.Shapiro与M.B.Wilk提出的,又被称之为W检验,主要检验研究对象是否符合正态分布。
W检验所使用的函数是shapiro,使用格式为:
shapiro(x)
x为待检验样本
(4)正态性检验
仅用于检验是否服从正态分布。使用格式为:
normaltest(x,axis)
x为待检验样本,axis=0时为按行检验,axis=1时按列检验。

接着我们想把上证指数2017-2019年的波动数据提取出来,检验一下这个数据是否服从正态分布。
首先利用Tushare获取上证指数2017-2019年的波动数据:

import tushare as ts
ts.set_token('****************************************')
pro=ts.pro_api()
#获取所有指数的信息
index=pro.index_basic()


可以看到上证指数的代码(ts_code)是000001.SH
接着提取2017-2019年的指数行情:

data1=pro.index_daily(ts_code='000001.SH',start_date='20170101',end_date='20191231')
data1


一共拿到了731条数据,说多不多,说少也不少。指数的波动我们用涨跌幅来表示,也即是change这一列数据。
接下来我们分别进行4种检验:
(1)K-S检验

import scipy.stats as sm
sm.kstest(rvs=data1['change'],cdf='norm',args=(0,0.01))

结果为:
KstestResult(statistic=0.5294117647058766, pvalue=1.1924100364470399e-191)
可以看到p值非常小,接近于0,表明在1%水平上拒绝原假设,也即认为样本不服从正态分布。
(2)A-D检验

sm.anderson(x=data1['change'],dist='norm')

结果为:
AndersonResult(statistic=8.071818761956024, critical_values=array([0.573, 0.652, 0.783, 0.913, 1.086]), significance_level=array([15. , 10. , 5. , 2.5, 1. ]))
可以看到上面的统计值在1%水平上被拒绝,也即认为样本不服从正态分布
(3)W检验

sm.shapiro(data1['change'])

结果为:
ShapiroResult(statistic=0.9408900737762451, pvalue=1.8531769308344827e-16),p值也是非常小,认为样本不服从正态分布。
(4)正态性检验

sm.normaltest(data1['change'],axis=0)

结果为:
NormaltestResult(statistic=112.03096823690633, pvalue=4.70743515392237e-25),同样也是p值非常小,认为样本不服从正态分布。
检验完毕后确认,4种方法均得到了一致结果。

金融学习之七——统计检验方法的使用相关推荐

  1. 如何选择适合自己数据的统计检验方法

    ## 链接 https://statsandr.com/blog/what-statistical-test-should-i-do/ 偶然间发现的一个博文 ![What-statistical-te ...

  2. 您已关注公众号满1年,诚邀您免费加入金融学习交流群!

    作为一名福利小编,今天我又要营业了 你们懂~ 在后台最多的一类消息就是 "小编在吗?有那种资源吗?" "......" "那种实用又免费的CFA学习资 ...

  3. r语言平均值显著性检验_最全的R语言统计检验方法_数据挖掘中R语言的运用

    最全的R语言统计检验方法_数据挖掘中R语言的运用 统计检验是将抽样结果和抽样分布相对照而作出判断的工作.主要分5个步骤:建立假设 求抽样分布 选择显著性水平和否定域 计算检验统计量 判定 假设检验(h ...

  4. 金融学习之十二——凸性

    今天讨论另外一个概念,叫做凸性.什么是凸性呢?凸性也称为凸度或曲率,是衡量债券价格对债券到期收益率变化的非线性关系的指标,是债券价格对收益率的二阶导数.\为什么需要讨论凸性呢,我们可以看下面的例子(这 ...

  5. FFmpeg学习之七(视音频流缓存)

    FFmpeg学习之七(视音频流缓存) 缓存队列实现 源码下载 1.原理 2.实现细节 2.1 结构体定义 2.2 类定义 2.3 初始化队列 2.4 入队 2.5 出队 2.6 重置空闲队列数据 3. ...

  6. 《中国人工智能学会通讯》——2.27 利用深度学习改进统计机器翻译

    2.27 利用深度学习改进统计机器翻译 利用深度学习改进统计机器翻译的核心思想是以统计机器翻译为主体,使用深度学习改进其中的关键模块,如语言模型[1] .翻译模型 [2] .调序模型 [3] .词语对 ...

  7. 金融学习纲要与相关知识

    金融指货币的发行.流通和回笼,贷款的发放和收回,存款的存入和提取,汇兑的往来等经济活动.金融(FIN)就是对现有资源进行重新整合之后,实现价值和利润的等效流通.(专业的说法是:实行从储蓄到投资的过程, ...

  8. 《深度学习,统计学习,数学基础》人工智能算法工程师手册:程序员写的AI书,50 章一网打尽...

    来源:专知 本文约3400字,建议阅读10+分钟. 免费开源人工智能手册,带你快速上手写代码! [ 导读 ]市面上很多人工智能相关的书籍.大部分的书,面向小白,内容深度不够:小部分教材书或者科研书,内 ...

  9. 【统计学习】统计学习方法概论

    统计学习方法: 本笔记知识来源<统计学习方法>--李航第一章节 1 统计学习 2 监督学习 3 统计学习三要素 4 模型评估与模型选择 5 正则化与交叉验证 6 泛化能力 7 生成模型与判 ...

最新文章

  1. Protocol Buffers简明教程
  2. JavaScript初学者编程题(11)
  3. 纳税服务系统【异常处理、抽取BaseAction】
  4. 【阿里巴巴研发效能峰会】低代码与数智化分论坛在线预约中……
  5. 【项目管理】git和码云的使用
  6. js和css实现手机横竖屏预览思路整理
  7. Prime算法生成迷宫
  8. 10个人做抖音,8个做不起来,为啥?
  9. 【PHP】PHP include()和require()方法的区别
  10. Python 布尔操作(and/or,Boolean operator)与位操作(/|,Bitwise operator)
  11. matlab热应力计算,Matlab在齿轮应力计算中的应用
  12. Arduino Atmega328P烧写bootloader及熔丝
  13. testbed软件测试技巧,基于LDRA Testbed 软件的单元测试
  14. 考研复试(控制工程专硕)及大学本科(物联网工程)知识点回顾(二)——自动控制原理
  15. 考研专业类计算机是什么类别,计算机类考研科目种类都有哪些分别是什么
  16. NVIDIA Jetson TK1学习与开发(一):NVIDIA Jetson TK1介绍
  17. b 站账号快速升级到 Lv6:每天自动签到,观看,分享,投币视频
  18. 【Caffe】简单介绍
  19. 高博14讲--第七讲 视觉里程计-7.3 2D-2D:对极几何
  20. 基于自适应最优多评价神经模糊控制的MIMO人体肌肉骨骼臂模型

热门文章

  1. Redmine详细部署文档
  2. 大连民族大学java期末_大连民族大学期末考试试卷分析(试行).PDF
  3. thermal的cpu cool device
  4. 阿里云万网域名一键签发SSL证书 快捷申请免费SSL证书教程
  5. 多功能单位换算器技术服务支持
  6. python爬虫携程酒店_携程酒店爬虫
  7. matrix67文章学习
  8. Prometheus笔记
  9. 小学奥数思维训练题(十)
  10. log4j-over-slf4j工作原理详解