金融数据

数据分析离不开数据的获取,这里介绍几种常用的获取金融方面数据的方法。

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 类型

数据类型

使用

  • 安装:

    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 数据分析中金融数据的来源库和简单操作的更多相关文章

  1. python数据分析中常用的库

    Python是数据处理常用工具,可以处理数量级从几K至几T不等的数据,具有较高的开发效率和可维护性,还具有较强的通用性和跨平台性,这里就为大家分享几个不错的数据分析工具,需要的朋友可以参考下 Pyth ...

  2. Python 数据分析中常用的可视化工具

    Python 数据分析中常用的可视化工具 1 Matplotlib 用于创建出版质量图表的绘图工具库,目的是为 Python 构建一个 Matlab 式的绘图接口. 1.1 安装 Anaconada ...

  3. python数据分析之pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]

    1 引言 Pandas是作为Python数据分析著名的工具包,提供了多种数据选取的方法,方便实用.本文主要介绍Pandas的几种数据选取的方法. Pandas中,数据主要保存为Dataframe和Se ...

  4. Oracle11g中数据的倒库和入库操作以及高版本数据导入低版本数据可能引发的问题

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.前言 在10g之前,传统的导出和导入分别使用EXP工具和IMP工具 ...

  5. 《Python数据分析》笔记——数据可视化

    数据可视化 matplotlib绘图入门 为了使用matplotlib来绘制基本图像,需要调用matplotlib.pyplot子库中的plot()函数 import matplotlib.pyplo ...

  6. 《Python 数据分析》笔记——数据的检索、加工与存储

    数据的检索.加工与存储 1.利用Numpy和pandas对CSV文件进行写操作 对CSV文件进行写操作,numpy的savetxt()函数是与loadtxt()相对应的一个函数,他能以诸如CSV之类的 ...

  7. h264 封装 RTMP中FLV数据的解析 rtmp协议简单解析以及用其发送h264的flv文件

    一个完整的多媒体文件是由音频和视频2部分组成的.H264.Xvid等就是视频编码格式,MP3.AAC等就是音频编码格式.字幕文件只是其中附带部分. 把视频编码和音频编码打包成一个完整的多媒体文件,可以 ...

  8. python selenium中等待元素出现及等待元素消失操作

    在自动化测试中,很多时候都会有等待页面某个元素出现后能进行下一步操作,或者列表中显示加载,直到加载完成后才进行下一步操作,但时间都不确定,如下图所示 幸运的是,在selenium 2后有一个模块exp ...

  9. python 抓取金融数据,pandas进行数据分析并可视化系列 (一)

    终于盼来了不是前言部分的前言,相当于杂谈,算得上闲扯,我觉得很多东西都是在闲扯中感悟的,比如需求这东西,一个人只有跟自己沟通好了,总结出某些东西了,才能更好的和别人去聊,去说. 今天这篇写的是明白需求 ...

随机推荐

  1. Java使用google身份验证器实现动态口令验证

    参考: 1)https://www.jb51.net/article/121243.htm 2)https://www.cnblogs.com/wuaili/p/9810661.html

  2. PHP上传一个文件夹

    该项目核心就是文件分块上传.前后端要高度配合,需要双方约定好一些数据,才能完成大文件分块,我们在项目中要重点解决的以下问题. * 如何分片: * 如何合成一个文件: * 中断了从哪个分片开始. 如何分 ...

  3. R Seurat 单细胞处理pipline 代码

    options(stringsAsFactors = F ) rm(list = ls()) library(Seurat) library(dplyr) library(ggplot2) libra ...

  4. 【CF1249D】Too Many Segments(贪心,set,vector)

    题意:给定n条线段和覆盖上限k,每条线段都覆盖了区间内的整点 问最少删掉几条线段能使所有的整点都被覆盖不超过k次 k<=n<=2e5,l[i],r[i]<=2e5 思路:比赛时候不会 ...

  5. 一本通【例题4】Addition Chains——题解

    又是一道剪枝剪了半天的搜索题...题目传送 要充分利用题目中的约束条件:1.:2.对于每个k(1≤k≤m)k(1≤k≤m)满足ak=ai+aj(0≤i,j≤k−1)ak=ai+aj(0≤i,j≤k−1 ...

  6. Socket网络通信编程(二)

    1.Netty初步 2.HelloWorld 3.Netty核心技术之(TCP拆包和粘包问题) 4.Netty核心技术之(编解码技术) 5.Netty的UDP实现 6.Netty的WebSocket实 ...

  7. [BZOJ1547]周末晚会:Burnside引理+DP

    分析 Attention!这道题的模数是\(1e8+7\). 注意到循环同构会被认为是同一种方案,我们可以把顺时针旋转每个人的位置作为置换,容易发现这些置换一定会形成一个置换群,于是题目所求的所有合法 ...

  8. 170903-关于MyBatis

    MyBatis总体介绍:  MyBatis实际上是Ibatis3.0版本以后的持久化层框架[也就是和数据库打交道的框架]! 和数据库打交道的技术有: 原生的JDBC技术--->Spring的Jd ...

  9. token与安全

    http://ju.outofmemory.cn/entry/134189      关于 Token,你应该知道的十件事 https://blog.csdn.net/Fabulous1111/art ...

  10. 前端每日实战:142# 视频演示如何用 CSS 的 Grid 布局创作一枚小鸡邮票

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/mGZbmQ 可交互视频 此视频是可 ...