python股票相关性分析_GitHub - az13js/chi-square-statistic-python: 卡方统计量的股票价格变化前后相关性分析工具...

股票价格变化前后相关性分析工具

使用方法

准备文件data_stocks.csv,格式(至少每个股票需要100个样本数据):

时间,股票A,股票B

"2020-01-01",120.01,98.12

"2020-01-02",126.01,98.01

"2020-01-03",124.5,100.12

在终端执行

$ python data_process.py

效果

以下是我运行时输出的部分结果

文件 "data_stocks.csv" 一共有 502 列。

分析第 2 列的数据

卡方检验的表格:

3394 3416 6810

3255 3236 6491

6649 6652 13301

连续增加的概率是 25.516878 %

先减少后增加 25.682280 %

先增加后减少 24.471844 %

连续减少的概率是 24.328998 %

卡方统计量是:0.12601078613703862

有百分之 0.000 的把握认为第 2 列的数据前后变化存在关联关系

--------------------完成--------------------

分析第 3 列的数据

卡方检验的表格:

2691 2840 5531

2836 2656 5492

5527 5496 11023

连续增加的概率是 24.412592 %

先减少后增加 25.764311 %

先增加后减少 25.728023 %

连续减少的概率是 24.095074 %

卡方统计量是:9.826308069266396

有百分之 99.500 的把握认为第 3 列的数据前后变化存在关联关系

--------------------完成--------------------

原理

data_stocks.csv是包含待分析数据的csv格式文件,包含表头,表头是第一行且其它行都是数字组成的数据,且不存在空的内容。每一行的列数都是一样的。这些数据就是股票的价格,每一列就是一个股票,每一列的行从上到下按时间从早到晚顺序排列。其中第一列是时间,时间不会被分析。

对data_stocks.csv的数据进行提取分析,过程如下:每一列单独分析一次,如果有k列就分析k次。第一列是时间,第一列不会被分析,也就是分析的列k>1且k1且I>100,使得至少有一个股票被处理,被处理的数据大于99个,因为比较大的数据量可以使统计结果相对合理。

处理过程是:每次分析按顺序取三行数据出来(数据不重复使用,最后不够三个的丢弃),第i、i+1和i+2行,那么存在事件A:i+1行的值大于i行,事件B:i+2行的值大于i+1行(暂时不考虑存在不增不减的样本)。如果股票的价格的变化与先前的价格变化无关,对事件A和B进行独立性检验的结果应该是A和B彼此没有联系,相反如果股票价格变化前后有关系,那么事件A和B就不是独立的。这里用来分析独立性的依据是卡方统计量。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值