mysql查询发生变化的股价_最近半年股价涨跌统计

本文介绍了如何使用MySQL查询A股股价变化,通过获取个股最高点、最低点及其出现时间,进行股市复盘。作者分享了从Tushare导出数据到MySQL的困难与解决过程,以及数据清洗、涨幅统计和时间分布的分析结果,揭示了股价涨跌的集中时段。
摘要由CSDN通过智能技术生成

1、提出问题

想要获得数据的目的

对于最近一段时间的A股,如果能通过筛选个股的最高点、最低点,以及这些个股出现最高点、最低点的时间,来做复盘,找到该阶段个股涨跌的时间和集中度,对于后续搞清楚个股所处的阶段(上涨、下跌、低位盘整、高位盘整)是非常有帮助的。

获取数据的艰难历程(该部分纯属个人心理历程,没兴趣的可以跳过)

自从设定要查看一段时间,A股中个股最高点、最低点及出现的时间,分析在本轮上涨过程中,股票大致经历的阶段,如何获取数据成为我最烦心的事情。先后经历了两个阶段:

第一阶段,试图用Python从Tushare导出数据到MySQL,然后从MySQL中提取数据,形成Excel表。

由于本人的Python没基础,在网上搜了十几种利用Python从Tushare导出数据到MySQL的程序代码,但无论是直接用,还是进行改造,都无法得到我想要的数据——或者执行不下去,或者执行后报错,未能获取到数据。

被逼无奈,开始自学Python和MySQL,希望能看明白这些代码。因为是基于寻求数据导出这一目的,所以跳着看了一些教程和示例,很多都是囫囵吞枣,没看明白。

这一过程从4月11日一直到4.25日,经历了15天的摸索,最终放弃了。

第二阶段,干脆使用最笨的办法,一条数据一条数据的排序、复制粘贴。

先是从证券交易软件中导出txt格式的个股交易前复权数据,总共形成txt文件3618个,导出日期2018年4月26日;

再利用已经尝试过的Excel宏运算对一条一条的数据进行排序,大概40秒可以搞定一条数据,需要40.2个小时完成,而我每天只能抽出1个小时来做,需要40天才能做完。。。当时算完这个需要的时间,心情是崩溃的。

但还是埋头开始做了,并在做的过程中,逐步优化步骤,修改宏,最终可以达到20秒完成一条记录,且早晚都做,周末投入时间达到4、5个小时,终于在5月11日晚将3618条数据都搞定了。

回头看,像做梦一样,埋头苦干的时间,和想走捷径的时间基本一致;但两个结果,一个是弄出了十来个半截的Python代码,数据是没有任何进展的;一个是做出了一个291k的excel文件,内含3618条数据,A股个股2018年10月8日-2019年4月26日期间最高点、最低点及出现的日期数据。当然,这些数据是一次性的,如果增加一天的数据,那相当于要重新来过。而代码掌握了,就可以随时取数更新了。所以,更加增强了我学习的渴望。

在这里鸡汤一下:埋头苦干比天天想着走捷径,要靠谱。

在这里感叹一下:如果掌握了工具,埋头苦干花了15天做的事情,也许利用工具只需要一个小时就能搞定。

2、理解数据

通过计算最高点、最低点的价格差,可以找到涨幅各自不同区间的个股;

通过比较最低点出现的时间,看出个股低点相对集中出现的时间;

通过比较最高点出现的时间,看出个股高点集中出现的时间。

3、数据清洗

第一步,通过日期数据来查验,看看数据日期是否都在2018年10月8日-2019年4月26日范围内;

经过检查,发现情况如下:

空白数据为在该期间内完全无交易(停牌、退市、刚过会未上市交易等各种情况);

超出时间范围的数据,暂时不确定是我操作过程中的失误,还是导出数据本身有问题;

通过证券交易软件,重新查看了上述4只个股在该期间的前复权数据,并进行了手动更改。

经过检查,剔除了无交易数据,得到数据如下:

个股数据3600条,数据期间2018年10月8日-2019年4月26日,前复权,最低点、最高点价格以及出现的时间。

第二步,通过最高点、最低点之间的时间来筛选,找到最高点出现在最低点之前的股票(这个属于下跌而不是上涨了),识别出股票的涨幅数据;

因为部分个股最高点出现在最低点之前,导致涨幅数据是负数(而如果不注意,直接用最高价格减去最低价格,涨幅是正数),此类个股258个。

4、构建模型

涨幅统计

第一步,先秀一下明星个股:

该期间涨幅超过500%的个股9个(时间跨度为自然日):

第二步,再看看市场个股涨跌情况:

涨幅超过100%,低于500%的个股953个;

涨幅超50%,低于100%的个股1892个;

上涨,但涨幅不超过50%的个股488个;

下跌个股258个。

看到这个数据,再看看我的期间收益,感觉是崩溃的。。。

最低点、最高点出现的时间分布

最低点出现的时间分布

说明:

有69.83%的个股最低点出现在2018年10月,23.33%的个股最低点出现在2019年1月;

其中:

涨幅超过500%的9只,有7只个股都在2018年10月到达期间最低点;

涨幅超过100%的953只,有766只个股都在2018年10月到达期间最低点;

涨幅超过50%的1892只,有1426只个股都在2018年10月到达期间最低点;

最高点出现的时间分布

说明:

有58.19%的个股最高点出现在2019年4月,30.36%的个股最高点出现在2019年3月;

其中:

涨幅超过500%的9只,有6只个股都在2019年4月到达期间最高点;

涨幅超过100%的953只,有766只个股都在2019年4月到达期间最高点;

涨幅超过50%的1892只,有1426只个股都在2019年4月到达期间最高点。

5、数据可视化

涨幅统计饼图

股价最低点出现日期

从上图可以看出,2018年10月19日,39.61%的个股都出现了区间的最低价格。

股价最高点出现日期

可以看出,虽然3、4月出现最高点个股达到88.53%,但出现的日期较为分散,最多的一天是2019年4月8日,也只有8.19%,这也是该区间上证指数的最高点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值