码迷,mamicode.com
首页 > 编程语言 > 详细

python 可视化数据分析

时间:2020-06-03 20:42:40      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:其他   财务   入门   没有   价格   绘制   com   否则   序列   

导入必要的模块

首先,我们导入numpy、pandas和用于作图的matplotlib库:

 技术图片

 

 从雅虎财经获取特斯拉、通用和福特的每日收盘价数据

技术图片

 

 技术图片

 

 可视化数据,并对有趣的事件进行可视化检查,并画蜡烛图

在同一张图中画出特斯拉、通用和福特股票的开盘价曲线:

技术图片

 

 每支股票的最大成交量是发生在哪一天?

技术图片

从开盘价格的时间序列可视化来看,似乎特斯拉的股价一直都要比通用和福特的股价更有高。但至于为什么特斯拉的股价一直高于其他两支股票,这个问题的答案不是单由股价决定,我们还需要考虑公司的总市值。尽管我们目前的数据并没有关于目前股票总单位的信息。但是,我们可以做一个简单的计算,在这里我们假设总的交易金额将是成交量列乘以开盘价格。这只是对市值的粗略估计而不是真实的市场价值,我们只是使用时间序列来直观地表示交易的总金额。(例如,100股,每股10美元,而100000股,每股1美元)

 

为每个dataframe创建一个名为“总交易量”新的一列,即开盘价格与成交量的乘积。

 

技术图片

 

 

从上图可以看出:在2018年初,特斯拉交易了巨额资金。我们很自然的想知道那是什么日子,发生了什么事:

技术图片

 

 

特斯拉股价暴涨10%,此前埃隆•马斯克(Elon Musk)在推特上发布了一条关于特斯拉私有化的消息,令市场震惊,特斯拉股价在停牌一个多小时后飙升逾10%。马斯克发布了一系列推文,称可能以每股420美元的价格将公司私有化。

 

接下来,我们画出一些移动平均线(MA):分别为通用股票的50日均线(MA50)和200日均线(MA200)。

技术图片

 

 

为了探寻这三支股票之间的关系,我们使用pandas.plotting库中的scatter_matrix函数来创建三支股票收盘价的散点矩阵图。将列重新排列为新的单个股票的收盘价格。

技术图片

 

 

技术图片

 

 接下来,我们来绘制福特的蜡烛图:

技术图片

 

 技术图片

 

 通过计算和比较每日收益来进行基本财务分析,并绘制每支股票的每日收益分布图来识别三者之间的关系。

每日百分比变化可以通过下面的公式计算所得:

技术图片

从“收盘价”列计算收益。

 

技术图片

 

 

技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 同时,我们用一些box plot来比较三支股票的收益范围。

技术图片

 

 

比较股票的日收益:

 

我们绘制散点矩阵图,以查看每个股票日收益率之间的相关性。

技术图片

 

 从上面的scatter矩阵图,我们可以看出只有通用和特斯拉回报率关系图和其他4对关系图看起来不一样(其他对关系图为正交,即两支股票回报率没有明显相关性),所以我们可以推断特斯拉和通用确实有某种可能的关系。

技术图片

 

 

累计日收益

 

日收益:日收益是指股票价格相对于前一日的损益。

 

累积回报:累积回报是相对于投资计算的。如果累计回报超过一,你就是在盈利,否则就是亏损。

 

累积日收益的公式为:

df[daily_cumulative_return] = ( 1+df[pct_daily_return] ).cumprod()

 

假设我们从2012年1月3日开始买入这三支股票并一直持有,则我们的累计日均收益为:

技术图片

 

技术图片

 

 下面,我们来可视化一下三支股票的累计收益率,可以发现购入特斯拉后,它的价格涨了14倍!

技术图片

 

 以上就是一个简单的python数据分析股票市场的入门项目

 

python 可视化数据分析

标签:其他   财务   入门   没有   价格   绘制   com   否则   序列   

原文地址:https://www.cnblogs.com/fjn839199790/p/13039741.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!