前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python Panads获取股票数据及处理

python Panads获取股票数据及处理

作者头像
多凡
发布2019-11-01 09:20:13
2.4K0
发布2019-11-01 09:20:13
举报
文章被收录于专栏:sringbootsringboot

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_44580977/article/details/101994640

pandas库在金融量化分析中优势明显, 它提供了专门处理金融数据的模块,pandas-datareader包, 所以在使用之前需要导入pandas-datareader模块

代码语言:javascript
复制
import pandas_datareader.data as web

具体获取股票数据的接口为web.DataReader()。下面分别介绍下接口的几个关键参数:

  • 第一个参数:指定股票代码,如果是苹果公司这样的国外股票,股票代码直接用"AAPL"缩写表示,如果是国内A股市场的股票代码,则需要在代码末尾加上市场代码,比如上证股票在股票代码后面加上.SS,深圳股票在股票代码后面加上.SZ(创业板、中小板为深圳交易所下子板块)。
  • 第二个参数:指定股票数据的网站,DataReader可从多个金融网站上获取到股票数据,"yahoo"指定从雅虎网站获取股票数据,"google"指定从谷歌网站获取股票数据。
  • 第三、四个参数:指定股票数据的起始时间,默认是从2010年1月1日至今。
从雅虎网站获取股票信息例程
代码语言:javascript
复制
import pandas_datareader.data as web
import datetime
#获取上证指数的2017.1.1日至今的交易数据
df_stockload = web.DataReader("000001.SS", "yahoo", datetime.datetime(2017,1,1), datetime.date.today())

print(df_stockload.head())  # 查看前几行
"""
              High     Low    Open   Close  Volume  Adj Close
Date                                                         
2017-01-03  3136.5  3105.3  3105.3  3135.9  141600     3135.9
2017-01-04  3160.1  3130.1  3133.8  3158.8  167900     3158.8
2017-01-05  3168.5  3154.3  3157.9  3165.4  174700     3165.4
2017-01-06  3172.0  3153.0  3163.8  3154.3  183700     3154.3
2017-01-09  3173.1  3147.7  3148.5  3171.2  171700     3171.2
"""
print(df_stockload.tail())  # 查看末尾几行
"""
              High     Low    Open   Close  Volume  Adj Close
Date                                                         
2019-03-04  3090.8  3006.9  3015.9  3027.6  525600     3027.6
2019-03-05  3055.0  3009.4  3019.9  3054.2  424100     3054.2
2019-03-06  3103.8  3050.1  3060.4  3102.1  555000     3102.1
2019-03-07  3129.9  3075.0  3103.7  3106.4  583800     3106.4
2019-03-08  3075.0  2969.6  3038.3  2969.9  577900     2969.9
"""

print (df_stockload.columns)#查看列索引信息
"""
Index(['High', 'Low', 'Open', 'Close', 'Volume', 'Adj Close'], dtype='object')
"""
print (df_stockload.index)#查看行索引信息
"""
DatetimeIndex(['2017-01-03', '2017-01-04', '2017-01-05', '2017-01-06',
               '2017-01-09', '2017-01-10', '2017-01-11', '2017-01-12',
               '2017-01-13', '2017-01-16',
               ...
               '2019-02-25', '2019-02-26', '2019-02-27', '2019-02-28',
               '2019-03-01', '2019-03-04', '2019-03-05', '2019-03-06',
               '2019-03-07', '2019-03-08'],
              dtype='datetime64[ns]', name='Date', length=530, freq=None)
"""
print(df_stockload.shape)#查看形状
"""
(530, 6)
"""
# 接下来查看各列交易数据描述性的统计信息,如最小值、最大值、均值、标准差等
print (df_stockload.describe())#查看各列数据描述性统计
"""
         High     Low    Open   Close    Volume  Adj Close
count   530.0   530.0   530.0   530.0     530.0      530.0
mean   3079.9  3044.5  3061.5  3064.8  172601.3     3064.8
std     281.0   286.0   283.5   284.1   62788.0      284.1
min    2488.5  2440.9  2446.0  2464.4   88200.0     2464.4
25%    2802.3  2754.8  2776.8  2786.1  134200.0     2786.1
50%    3164.6  3134.3  3148.2  3153.9  159200.0     3153.9
75%    3290.1  3261.5  3274.5  3275.9  193600.0     3275.9
max    3587.0  3534.2  3563.6  3559.5  583800.0     3559.5
"""

# 接下来查看交易数据概览信息,如每列数据的类型、个数、是否存在缺失等等
print(df_stockload.info())#查看缺失及每列数据类型
"""
<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 530 entries, 2017-01-03 to 2019-03-08
Data columns (total 6 columns):
High         530 non-null float64
Low          530 non-null float64
Open         530 non-null float64
Close        530 non-null float64
Volume       530 non-null int64
Adj Close    530 non-null float64
dtypes: float64(5), int64(1)
memory usage: 29.0 KB
None
"""

pandas封装了matplotlib绘图功能,因此我们可以在pandas中更直接、更简单的方式绘制数据曲线,在使用时需要导入matplotlib库中的pyplot模块,此处以绘制上证指数的收盘价为例,用可视化的方式了解下上证指数走势,如下所示:

代码语言:javascript
复制
import matplotlib.pyplot as plt

#绘制收盘价
df_stockload.Close.plot(c='b')
plt.legend(['Close','30ave','60ave'],loc='best')
plt.show()
在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-10-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 从雅虎网站获取股票信息例程
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档