股票市场分析

作者:陈丽斌 已发布 2021/03/25 13:15:00 GMT+0, 上次修改时间: 2022-02-18T02:08:07+00:00
利用Python语言,实现股票市场分析,利用pandas、numpy库,并结合seaborn、matplotlib进行股票市场的历史趋势分析和风险分析。

项目描述

         利用Python语言,实现股票市场分析,利用pandas_datareader库实现雅虎财经股票数据的采集;利用pandas、numpy库,并结合seaborn、matplotlib进行股票市场的历史趋势分析和风险分析。

项目功能

       股票数据采集、历史趋势分析、风险分析。

项目展示

一、股票市场数据获取

数据来源为雅虎财经,该网站提供数据下载接口,通过pandas_datareader即可便捷获取数据,分别获取阿里巴巴、亚马逊公司从2015~2017年的股票数据用于历史趋势分析。

采集方法为:

import pandas_datareader as pdr

start = datetime(2015,9,20)
alibaba = pdr.get_data_yahoo('BABA', start=start)
amazon = pdr.get_data_yahoo('AMZN', start=start)

数据格式如下图所示:

数据格式

open(开盘价)、height(最高价)、low(最低价)、close(收盘价)、adj close(收盘价)、colume(交易量)

同时采集了美国5家知名企业(苹果、谷歌、微软、Facebook、亚马逊)2015~2017年的收盘价数据,用于风险分析。

二、历史趋势分析

股市价格历史趋势分析以股票的收盘价走势和每日价格浮动率为主。

阿里巴巴股票价格走势,如下图所示:

alibaba收盘价折线图.png

将收盘价绘制成折线图,可明显看出在2015~2017期间其股市价格明显攀升,且幅度较高。

alibaba成交量折线图.png

查看成交量的折线图,不难发现该股票在发售初期成交量较大。

接着通过pct_change() 查看阿里巴巴股价每日浮动率,如下图所示:

alibaba每日价格浮动折线图-3.png

明显价格浮动集中在-2.5%~2.5%之间,价格变化趋于稳定。

而亚马逊与阿里巴巴相比,起步价低,且升值较为平缓。

阿里巴巴与亚马逊收盘价折线图.png

三、风险分析

股市风险分析以分位数获取股价浮动率的信心度(百分比),此外可通过收盘价和每日股价浮动率的变化分析各公司股价是否存在相关性。

首先查看各股票收盘价走势,如下图所示:

top5价格走势.png

从图中发现谷歌和亚马逊的价格走势非常接近,然后用散点图(x:亚马逊,y:谷歌),下图所示,发现各点较为集中在正向上45度角且细长呈线状,验证上图猜测。

top5相关分析.png

说明谷歌和亚马逊的股价涨跌关系较为密切,可以此相互作为参考。

使用分位数可预测股价涨跌百分比的可信度,如下图所示:

top5分位数.png

微软股价下跌2%的最大希望是95%。

项目优势/特色

  1. 采用jupyter工具,无复杂架构、对于数据探索较为便捷;
  2. 功能扩展便捷。