python 可视化数据分析

Posted 啥是py

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 可视化数据分析相关的知识,希望对你有一定的参考价值。

导入必要的模块

首先,我们导入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 可视化数据分析的主要内容,如果未能解决你的问题,请参考以下文章

Python 数据可视化工具以及数据分析开发架构

小白学 Python 数据分析(15):数据可视化概述

Python TVTK 标量数据可视化与矢量数据可视化

Python数据可视化的10种技能

Python大作业——爬虫+可视化+数据分析+数据库(数据分析篇)

Python图表数据可视化Seaborn:2. 分类数据可视化