前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【数据分析与可视化】股票市场分析实战之历史趋势分析

【数据分析与可视化】股票市场分析实战之历史趋势分析

作者头像
瑞新
发布2020-07-07 14:20:31
3550
发布2020-07-07 14:20:31
举报
文章被收录于专栏:用户3288143的专栏
代码语言:javascript
复制
# 基本信息
import numpy as np
import pandas as pd
from pandas import Series, DataFrame

# 股票数据读取
import pandas_datareader as pdr

# 可视化
import matplotlib.pyplot as plt
import seaborn as sns
#%matplotlib inline

# time
from datetime import datetime
代码语言:javascript
复制
start = datetime(2015,9,20)
# 获取阿里股票数据
alibaba = pdr.get_data_yahoo('BABA', start=start)
# 获取亚马逊数据
amazon = pdr.get_components_yahoo('AMZN')
代码语言:javascript
复制
# 数据存储alibaba.to_csv('url')
# 读取本地数据
alibaba = pd.read_csv('/Users/bennyrhys/Desktop/数据分析可视化-数据集/homework/BABA.csv',index_col=0)
amazon = pd.read_csv('/Users/bennyrhys/Desktop/数据分析可视化-数据集/homework/AMZN.csv',index_col=0)
代码语言:javascript
复制
alibaba.head()

Open

High

Low

Close

Adj Close

Volume

Date

2015-09-21

65.379997

66.400002

62.959999

63.900002

63.900002

22355100

2015-09-22

62.939999

63.270000

61.580002

61.900002

61.900002

14897900

2015-09-23

61.959999

62.299999

59.680000

60.000000

60.000000

22684600

2015-09-24

59.419998

60.340000

58.209999

59.919998

59.919998

20645700

2015-09-25

60.630001

60.840000

58.919998

59.240002

59.240002

17009100

代码语言:javascript
复制
amazon.head()

Open

High

Low

Close

Adj Close

Volume

Date

2015-09-21

544.330017

549.780029

539.590027

548.390015

548.390015

3283300

2015-09-22

539.710022

543.549988

532.659973

538.400024

538.400024

3841700

2015-09-23

538.299988

541.210022

534.000000

536.070007

536.070007

2237600

2015-09-24

530.549988

534.559998

522.869995

533.750000

533.750000

3501000

2015-09-25

542.570007

542.799988

521.400024

524.250000

524.250000

4031000

代码语言:javascript
复制
# 闭盘走势 
alibaba['Adj Close'].plot(legend=True)
代码语言:javascript
复制
<matplotlib.axes._subplots.AxesSubplot at 0x1a252e4ad0>
在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
# 交易量
alibaba['Volume'].plot(legend=True)
代码语言:javascript
复制
<matplotlib.axes._subplots.AxesSubplot at 0x1a216b9790>
在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
# 闭盘走势-两家公司
alibaba['Adj Close'].plot()
amazon['Adj Close'].plot()
代码语言:javascript
复制
<matplotlib.axes._subplots.AxesSubplot at 0x1a26641290>
在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
# 统计每日差值
alibaba['high-low'] = alibaba['High'] - alibaba['Low']
alibaba.head()

Open

High

Low

Close

Adj Close

Volume

high-low

Date

2015-09-21

65.379997

66.400002

62.959999

63.900002

63.900002

22355100

3.440003

2015-09-22

62.939999

63.270000

61.580002

61.900002

61.900002

14897900

1.689998

2015-09-23

61.959999

62.299999

59.680000

60.000000

60.000000

22684600

2.619999

2015-09-24

59.419998

60.340000

58.209999

59.919998

59.919998

20645700

2.130001

2015-09-25

60.630001

60.840000

58.919998

59.240002

59.240002

17009100

1.920002

代码语言:javascript
复制
alibaba['high-low'].plot()
代码语言:javascript
复制
<matplotlib.axes._subplots.AxesSubplot at 0x1a26668a90>
在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
# 每天的改变
alibaba['daily-return'] = alibaba['Adj Close'].pct_change()
alibaba.head()

Open

High

Low

Close

Adj Close

Volume

high-low

daily-return

Date

2015-09-21

65.379997

66.400002

62.959999

63.900002

63.900002

22355100

3.440003

NaN

2015-09-22

62.939999

63.270000

61.580002

61.900002

61.900002

14897900

1.689998

-0.031299

2015-09-23

61.959999

62.299999

59.680000

60.000000

60.000000

22684600

2.619999

-0.030695

2015-09-24

59.419998

60.340000

58.209999

59.919998

59.919998

20645700

2.130001

-0.001333

2015-09-25

60.630001

60.840000

58.919998

59.240002

59.240002

17009100

1.920002

-0.011348

代码语言:javascript
复制
alibaba['daily-return'].plot()
代码语言:javascript
复制
<matplotlib.axes._subplots.AxesSubplot at 0x1a28c20410>
在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
# 美化图
alibaba['daily-return'].plot(figsize=(10,4),linestyle='--',marker='o')
代码语言:javascript
复制
<matplotlib.axes._subplots.AxesSubplot at 0x1a29240a90>
在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
# 直方图
alibaba['daily-return'].plot(kind='hist')
代码语言:javascript
复制
<matplotlib.axes._subplots.AxesSubplot at 0x1a2786f050>
在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
sns.distplot(alibaba['daily-return'].dropna(),bins=100, color='purple')
代码语言:javascript
复制
<matplotlib.axes._subplots.AxesSubplot at 0x1a28bf8710>
在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/05/09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据保险箱
数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档