Python 与金融科技7|绘制股票间的相关性图表

上一期将同一类数据汇总到了一个文件中,并保存到了本地。这一期,我们继续以上证50股票的成交价数据为例,分析股票间的相关性,并将其以可视化的形式展现出来。

前言

在这个系列中,我们将共同学习如何借助Python这个强大的工具处理金融数据。在正式开始这个系列的学习之前,需要您具有Python编程的基础知识,至少需要将Python安装好。如果暂时还不满足这一要求的,建议先关注公众号 IT信息教室,学习 Python入门教程。

内容首发于微信公众号IT信息教室,如果您想学习更多AI相关的技能,欢迎搜索关注或微信扫描下方二维码关注~~

在这里插入图片描述

绘制相关性表格

在这一期的内容中要绘制可视化的图形,需要使用 matplotlib 这个工具包.

首先导入工具包并设置图表的风格:

import matplotlib.pyplot as plt
from matplotlib import style
# 设置图表风格
style.use('ggplot')

接下来,使用函数 visualizeData 来实现本期的功能:

def visualizeData():

我们使用上一期汇总好的复权成交价的数据,首先读取本地数据文档:

dataFrame = pd.read_csv('SS50JoinedClose.csv')

这时,我们已经可以绘制任意股票复权成交价曲线,例如,绘制 ‘600104.SS’ 这只股票:

dataFrame['600104.SS'].plot()
plt.show()

调用并运行这个函数后,就可以观察到类似下图这样的走势图:

在这里插入图片描述

不过这个走势图不是我们这一期要关注的,这一期我们的任务是绘制相关性图表。

在 Pandas 中有可以直接调用的获取相关性表格的方法 corr()。

例如,希望获取 dataFrame 对应的相关性数据,只需要:

dataFrameCorr = dataFrame.corr()

然后我们使用 print 输出前几行观察一下:

print(dataFrameCorr.head())

输出的内容如下:

           600036.SS  601229.SS  600031.SS  601166.SS  ...  600000.SS  601328.SS  601939.SS  600340.SS
600036.SS   1.000000  -0.155727   0.516900   0.896172  ...   0.763529   0.763135   0.944877   0.771134
601229.SS  -0.155727   1.000000  -0.066185   0.244406  ...   0.503282   0.036439  -0.296631   0.054638
600031.SS   0.516900  -0.066185   1.000000   0.248895  ...   0.041619   0.118011   0.325628   0.013470
601166.SS   0.896172   0.244406   0.248895   1.000000  ...   0.943753   0.890189   0.940535   0.932636
600104.SS   0.818535  -0.275266   0.140796   0.871803  ...   0.847518   0.844942   0.926855   0.883369

这里获得的相关性表格输出的是一个 50x50 的 dataFrame 格式的数据,数值越接近 1,则表示正相关性越大,数值越接近 -1,则表示负相关性越大,数值越接近 0,则表示相关性越小。

对角线处的数值都是 1,因为一支股票和它自身一定是正

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值