Python 数据分析中金融数据的来源库和简单操作
金融数据
数据分析离不开数据的获取,这里介绍几种常用的获取金融方面数据的方法。
pandas-datareader
pandas-datareader 库包含了全球最著名的几家公司所整理的金融数据,这些数据库包括:
安装
pip install -U pandas-datareader
使用
引入库:import pandas_datareader.data as web
获取数据:
web.DataReader(name=,data_source=,start=,end=)
通过指定的数据源获取金融数据并返回 DataFrame 类型的数据。
- name:数据集名称,通常是股票代码
- data_source:数据源,yahoo,google,fred,ff 等
- start,end 起始(默认为 2010/01/01)、结束日期(默认为当天)
start_dt = datetime.datetime(2010, 1, 1)
end_dt = datetime.date.today()
google_data = web.DataReader(name='GOOG', data_source='google', start=start_dt, end=end_dt)
TuShare
- 免费、开源的python财经数据接口包
- 实现对股票等金融数据从数据采集、清洗加工到数据存储的过程
- TuShare 返回的绝大部分的数据格式都是 pandas DataFrame 类型
数据类型
- 股票分类数据
http://tushare.org/classifying.html - 基本面数据
http://tushare.org/fundamental.html - 宏观经济
http://tushare.org/macro.html - 新闻事件数据
http://tushare.org/newsevent.html
使用
- 安装:
pip install -U tushare
- 引入
import tushare as ts
- 历史数据获取
ts.get_k_data()
import tushare as ts
start_dt = datetime.datetime(2010, 1, 1)
end_dt = datetime.date.today()
maotai_data = ts.get_k_data(code='600519', start='2010-01-01', end='2017-07-01')
- 实时数据获取
ts.get_today_all()
金融学图表
matplotlib 库自带的画图工具 matplotib.finance
可满足我们的基本使用。
API链接:https://matplotlib.org/api/finance_api.html
常用的方法有:
- candlestick2__ochl,candlestick2_ohlc
- candlestick_ochl,candlestick_ohlc
- plot_day_summary2_ochl,plot_day_summary2_ohlc
- plot_day_summary_oclh,plot_day_summary_ohlc
案例
引入相应库:
import tushare as ts
import matplotlib.pyplot as plt
import matplotlib
from matplotlib.dates import date2num, DateFormatter
import matplotlib.finance as mpf
import pandas as pd
%matplotlib inline
获取数据:
stock_data = ts.get_k_data(code='600519', start='2017-01-01', end='2017-07-01')
candlestick2_ochl
fig, ax = plt.subplots(figsize=(12, 5))
mpf.candlestick2_ochl(ax, stock_data['open'], stock_data['close'], stock_data['high'], stock_data['low'],
width=0.6, colorup='r', colordown='g')
ax.set_xticklabels(stock_data['date'])
plt.grid(True)
plt.xticks(rotation=45)
plt.ylabel('Stock Price')
plt.xlabel('Date')
plt.show()
candlestick_ochl
ochl_data = stock_data[['date', 'open', 'close', 'high', 'low']]
ochl_data['date'] = pd.to_datetime(ochl_data['date'])
ochl_data['date'] = ochl_data['date'].apply(date2num)
fig, ax = plt.subplots(figsize=(12, 5))
# 蜡烛图
mpf.candlestick_ochl(ax, ochl_data.values, width=.6, colorup='r', colordown='g')
ax.xaxis_date()
ax.autoscale_view()
ax.xaxis.set_major_formatter(DateFormatter('%Y-%m-%d'))
plt.grid(True)
plt.xticks(rotation=45)
plt.ylabel('Stock Price')
plt.xlabel('Date')
plt.show()
plot_day_summary2_ochl
fig, ax = plt.subplots(figsize=(12, 5))
mpf.plot_day_summary_ochl(ax, stock_data['open'], stock_data['close'], stock_data['high'], stock_data['low'],
colorup='r', colordown='g')
ax.set_xticklabels(stock_data['date'])
plt.grid(True)
plt.xticks(rotation=45)
plt.ylabel('Stock Price')
plt.xlabel('Date')
plt.show()
plot_day_summary_oclh
oclh_data = stock_data[['date', 'open', 'close', 'low', 'high']]
oclh_data['date'] = pd.to_datetime(oclh_data['date'])
oclh_data['date'] = oclh_data['date'].apply(date2num)
fig, ax = plt.subplots(figsize=(12, 5))
mpf.plot_day_summary_oclh(ax, oclh_data.values, colorup='r', colordown='g')
ax.xaxis_date()
ax.autoscale_view()
ax.xaxis.set_major_formatter(DateFormatter('%Y-%m-%d'))
plt.grid(True)
plt.xticks(rotation=45)
plt.ylabel('Stock Price')
plt.xlabel('Date')
plt.show()
Python 数据分析中金融数据的来源库和简单操作的更多相关文章
- python数据分析中常用的库
Python是数据处理常用工具,可以处理数量级从几K至几T不等的数据,具有较高的开发效率和可维护性,还具有较强的通用性和跨平台性,这里就为大家分享几个不错的数据分析工具,需要的朋友可以参考下 Pyth ...
- Python 数据分析中常用的可视化工具
Python 数据分析中常用的可视化工具 1 Matplotlib 用于创建出版质量图表的绘图工具库,目的是为 Python 构建一个 Matlab 式的绘图接口. 1.1 安装 Anaconada ...
- python数据分析之pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]
1 引言 Pandas是作为Python数据分析著名的工具包,提供了多种数据选取的方法,方便实用.本文主要介绍Pandas的几种数据选取的方法. Pandas中,数据主要保存为Dataframe和Se ...
- Oracle11g中数据的倒库和入库操作以及高版本数据导入低版本数据可能引发的问题
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.前言 在10g之前,传统的导出和导入分别使用EXP工具和IMP工具 ...
- 《Python数据分析》笔记——数据可视化
数据可视化 matplotlib绘图入门 为了使用matplotlib来绘制基本图像,需要调用matplotlib.pyplot子库中的plot()函数 import matplotlib.pyplo ...
- 《Python 数据分析》笔记——数据的检索、加工与存储
数据的检索.加工与存储 1.利用Numpy和pandas对CSV文件进行写操作 对CSV文件进行写操作,numpy的savetxt()函数是与loadtxt()相对应的一个函数,他能以诸如CSV之类的 ...
- h264 封装 RTMP中FLV数据的解析 rtmp协议简单解析以及用其发送h264的flv文件
一个完整的多媒体文件是由音频和视频2部分组成的.H264.Xvid等就是视频编码格式,MP3.AAC等就是音频编码格式.字幕文件只是其中附带部分. 把视频编码和音频编码打包成一个完整的多媒体文件,可以 ...
- python selenium中等待元素出现及等待元素消失操作
在自动化测试中,很多时候都会有等待页面某个元素出现后能进行下一步操作,或者列表中显示加载,直到加载完成后才进行下一步操作,但时间都不确定,如下图所示 幸运的是,在selenium 2后有一个模块exp ...
- python 抓取金融数据,pandas进行数据分析并可视化系列 (一)
终于盼来了不是前言部分的前言,相当于杂谈,算得上闲扯,我觉得很多东西都是在闲扯中感悟的,比如需求这东西,一个人只有跟自己沟通好了,总结出某些东西了,才能更好的和别人去聊,去说. 今天这篇写的是明白需求 ...
随机推荐
- QLCDNumber
继承于 QFrame 展示LCD样式的数字,它可以显示几乎任何大小的数字,它可以显示十进制,十六进制,八进制或二进制数 能够展示的字符: 0/O, 1, 2, 3, 4, 5/S, 6, 7, 8, ...
- py-R-FCN的caffe配置(转)
参考:https://blog.csdn.net/wei_guo_xd/article/details/74451443 下载程序,git clone https://github.com/Orpin ...
- vue面试题专题
1,v-if和v-show的作用是什么?有什么区别? v-if: 创建---删除,没有元素.切换开销大.适合不频繁切换的情况用. 例子:制作搜索框,导航栏和搜索框重叠的两个框,点击搜索图 ...
- Hybris commerce产品主数据的搜索API,批量返回若干主数据的值
新建一个产品,identifier设置为i042416-1,创建之后立即能够在Backoffice里搜索出来: 等到Storefront的indexing做完之后,前台通过关键字i042416也能将这 ...
- Day01_课后练习题
1.(将摄氏温度转化华氏温度)编写一个从控制台读取摄氏温度并将他转变为华氏温度并予以显示的程序.转换公式如下. Fahrenheit = (9 / 5) * celsius + 32 这里是这个程序 ...
- VGA驱动时序说明
根据不同的显示器分辨率,需要不同的刷新频率. 其中显示模式中@60表示显示器1秒钟刷新60帧. 其中时钟(MHz),表示FPGA输出给显示器的时钟频率.需要我们配置PLL的时钟频率为对应频率. 其中行 ...
- [luogu]P2279 [HNOI2003]消防局的设立[贪心]
[luogu]P2279 [HNOI2003]消防局的设立 题目描述 2020年,人类在火星上建立了一个庞大的基地群,总共有n个基地.起初为了节约材料,人类只修建了n-1条道路来连接这些基地,并且每两 ...
- 【bzoj3564】 [SHOI2014]信号增幅仪
题目描述: 无线网络基站在理想状况下有效信号覆盖范围是个圆形.而无线基站的功耗与圆的半径的平方成正比. 现给出平面上若干网络用户的位置,请你选择一个合适的位置建设无线基站.... 就在你拿起键盘准备开 ...
- 关于VS连接Oracle数据库提示:“尝试加载oracle客户端时引发badimage,如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题”的解决方案。
错误一.关于VS连接Oracle数据库提示:“尝试加载oracle客户端时引发badimage,如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题”的解决方案. ...
- ionic打包app——以安卓版本为例 辛苦之路~~~
最近同事做了个angular项目,因为要离职,所以项目我就来接手了,用ionic打包app,然后无数配置的坑就等着我了~~~ 环境安装 1.nodejs 因为自己刚接触做angular项目,就更新到了 ...