目前,此仓库已经停止更新很久了。新的分析工具:https://gitee.com/az13js/satool,可以做到更好的前后相关性分析。
准备文件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
且k<K
,K
是数据总列数。其中每一列的第一行是表头,表头也不会被分析,也就是如果一共有I
行,那么第i=1
行不会被处理。表格的K>1
且I>100
,使得至少有一个股票被处理,被处理的数据大于99个,因为比较大的数据量可以使统计结果相对合理。
处理过程是:每次分析按顺序取三行数据出来(数据不重复使用,最后不够三个的丢弃),第i
、i+1
和i+2
行,那么存在事件A
:i+1
行的值大于i
行,事件B
:i+2
行的值大于i+1
行(暂时不考虑存在不增不减的样本)。如果股票的价格的变化与先前的价格变化无关,对事件A
和B
进行独立性检验的结果应该是A
和B
彼此没有联系,相反如果股票价格变化前后有关系,那么事件A
和B
就不是独立的。这里用来分析独立性的依据是卡方统计量。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。