股票分析课程设计要求:(笔者的实验验收基本都是优)

数据集我免费上传在资料区了!
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
由于实验是大二时候做并验收的了,一些记忆记得有些模糊,具体处理过程如下:
编程环境:jupyter-lab(anaconda的实验室,具体可以搜索网上怎么下载)
(1)导入股票时间序列数据

先将列名设置为中文:(也可以用字典,字典是字符串格式的比这个object的好)
在这里插入图片描述

获取数据基本元属性信息:
在这里插入图片描述

Open为开盘价,High为当天最高价,Low为最低价,Close为当天收盘价,Adj Close为调整后收盘价(比如派发分红,或拆股后进行调整),Volume指当天总共的股票交易数。
在这里插入图片描述

可以看到数据集的每一列的数据类型,总共有5843行,共7列
(注:换成中文列名后才变的object类型,下面自然转回来)

(2)数据预处理
1.缺失值
在这里插入图片描述

发现各列没有缺失值,均为0,不需要填充

2.数据类型转换
在这里插入图片描述

先重新加载,把列名变成英文后改Date这一列的类型为datatime64[ns],为了后面好用索引或者分组聚合
再次查看数据类型

在这里插入图片描述

数据无缺失值,此时数据类型都已经正确,不需要再改变数据类型

(3)绘图
1.绘制股票成交量的时间序列图

全量数据
在这里插入图片描述

年数据
先用df2对单独两列‘Date’和‘Volume’分组拿出来

然后利用apply函数和groupby单独对每年数据求和
再进行画图
在这里插入图片描述

作柱图如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

月数据
截取2020年七月份的数据出来(这里一定要把Date单独放到行索引,不能出现在列索引,不然不能作图,可以用groupby()分组来实现)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

折线图如下:
在这里插入图片描述

也可以对这个月的日期用apply换成1到31号,然后柱图如下:
在这里插入图片描述

3.绘制股票收盘价和成交量的时间序列图

全量数据
在这里插入图片描述

先用groupby决定行索引为Date
作图如下,由于’Volume’和’Close’值差距过大,故用两套纵坐标系来做

行索引为Date,再用fig,x1这个创建窗口
在这里插入图片描述在这里插入图片描述

年数据
把年数据求和后
在这里插入图片描述

再进行绘图如下:
在这里插入图片描述

月数据 (取2020年七月份的)
在这里插入图片描述

绘图如下:

在这里插入图片描述
在这里插入图片描述

4.绘制K线图
首先我们找到该日或某一周期的最高和最低价,垂直地连成一条直线;然后再找出当日或某一周期的开市和收市价,把这二个价位连接成一条狭长的长方柱体。收市价较开市价为高(即低开高收),我们便以红色来表示,这种柱体就称之为"阳线"。如果收市价较开市价为低(即高开低收),我们则以绿色表示,这柱体就是"阴线"。
这里为了数据可观和美感,利于观察,截取2020年的一年数据
在这里插入图片描述

K线图绘图如下:
在这里插入图片描述

可以看到,所有的节假日包括周末,会显示为空白(断层),因为matplotlib会将日期数据理解为连续数据,而连续数据之间的间距是有意义的,所以非交易日即使没有数据,在坐标轴上还是会体现出来。

(4)股票指标相关性分析

1.散点图相关性分析(散点图)和数据发布统计(直方图)

在这里插入图片描述

增加市值来评估
挑选了部分代表性的指标,并使用pandas.scatter_matrix()函数,将各项指标数据两两关联做散点图,对角线是每个指标数据的直方图。指标包括:成交量、市值、调整后的收盘价。

在这里插入图片描述

作图如下:

在这里插入图片描述

相关表和相关图可反映两个变量之间的相互关系及其相关方向,但无法确切地表明两个变量之间相关的程度。

2.相关系数分析:
相关系数是用以反映变量之间相关关系密切程度的统计指标。
可以使用numpy.corrcof()来直接计算各指标数据间的相关系数。
在这里插入图片描述

df2 = df[[‘Volume’,‘Marketvalue’,‘Adj Close’]]

使用matplotlib.pyplot.matshow() 将矩阵可视化。如下图所示,其中用颜色来代表相关系数,如下图所示,其中用颜色来代表相关系数。
在这里插入图片描述

相关性分析总结:用矩阵图表的方式分析多个指标或观察指标间的相关系数矩阵可以迅速找到了强相关的指标。

(5)移动平均线
移动平均线是用统计分析的方法,将一定时期内的证券价格(指数)加以平均,并把不同时间的平均值连接起来,形成一根MA,用以观察证券价格变动趋势的一种技术指标。
1.通常把5天和10天移动平均线称为短期均线,一般供短线投资者参照。
2.一般把20天、30天和60天移动平均线作为中期均线,一般供中线投资者参
考。
3.一般120天和250天(甚至更长)移动平均线称为长期均线,一般供长线投资者参考。

这里采取另一种画K线图的方式来画移动平均线和K线图的整合:
这里选取数据区间在2020年5,6,7月这三个月的

在这里插入图片描述

代码行在5780到5850这个区间内
然后画出K线图
在这里插入图片描述

计算移动平均线并画到一起
在这里插入图片描述

作出的图如下所示:
在这里插入图片描述

移动平均线具有抹平短期波动的作用,更能反映长期的走势。观察上图,比较5日均线和20日均线,特别是关注它们的交叉点,这些是交易的时机。移动平均线策略,最简单的方式就是:当5日均线从下方超越20日均线时,买入股票,当5日均线从上方越到20日均线之下时,卖出股票。

跟着代码敲啊敲,不会的代码就去百度,你会发现你进步的越来越快,理解的也越来越深刻!!!!

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐