想用 Python 做数据分析?先玩玩这个再说

数据分析是 Python 的一大应用领域。据我所知,本教室的读者中有不少学习 Python 就是为了在工作中能用它分析数据。这其中,又有相当一部分人是涉及金融相关行业,有从业人员,有学生,还有对此具有兴趣的爱好者。

那么,想要学习用 Python 做数据分析该从何入手?

既然是数据分析,首先,你得有数据。

今天就来介绍一个很好用的财经数据包:TuShare

直接摘录 TuShare 官网(tushare.org)上的介绍:

TuShare是一个免费、开源的python财经数据接口包。主要实现对股票等金融数据从数据采集、清洗加工到数据存储的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据,为他们在数据获取方面极大地减轻工作量,使他们更加专注于策略和模型的研究与实现上。

TuShare 数据格式使用 pandas DataFrame 类型,也可保存至 Excel 和 数据库。兼容 Python 2 和 3。

看起来很好很强大,关键还是免费且开源的。再来试下好不好用。

安装

TuShare 基于 Python,有两个主要依赖:pandas 和 lxml。可以先分别安装这两个库,但我更推荐的是直接安装 Anaconda。对于要做数据分析和科学计算相关的同学来说,Anaconda 帮你一次性解决了几乎所有你可能用到的依赖库的安装,避免了某些库在不同平台上编译的问题。真的是谁用谁知道。

Anaconda 的下载安装这里就不多说了,本身不复杂,网上搜一下就出来了。

装好之后就可以直接通过 pip 安装 TuShare:

pip install tushare

还有其它安装方法可参考 如何安装 Python 的第三方模块

安装成功后,验证可以被 import。

功能

简单尝试几个基础功能:

1. 获取股票历史数据

get_hist_data

import tushare as ts ts.get_hist_data('601688')

2. 获取股票实时行情

get_realtime_quotes

import tushare as ts ts.get_realtime_quotes('000002')

除了股票,TuShare 还提供了多种数据,比如宏观经济数据:

3. 存款利率

get_deposit_rate

import tushare as ts ts.get_deposit_rate()

甚至还有:

4. 电影票房

realtime_boxoffice

import tushare as ts ts.realtime_boxoffice()

(暑期档的电影还真是让人无力吐槽……)

以上仅挑选了几个接口演示,具体调用参数和返回值字段说明,我就不做详细解释了,官网上都写的很清楚。

TuShare 的数据主要来源于网络,等于是提供了一个集中的接口,目前支持的数据包括:

  • 交易数据
  • 投资参考数据
  • 股票分类数据
  • 基本面数据
  • 宏观经济数据
  • 新闻事件数据
  • 龙虎榜数据
  • 银行间同业拆放利率
  • 电影票房

另外还引入了通联数据的开放平台数据接口,基本上满足全品类金融数据的需求。对于学习数据分析来说,更是非常好的数据来源。

示例

再用一小段简单的代码来演示下 TuShare 的使用。这里我将获取今年上证指数的日K信息,然后保存成 excel 文件,再画出每日的收盘指数的折线图。

import tushare as ts import matplotlib.pyplot as plt df=ts.get_hist_data('sh', start='2016-01-01') df.to_excel('stock_sh.xlsx') df.close.plot() ax = plt.gca() ax.invert_xaxis() plt.show()

这里发现取到的数据和文档上显示的顺序是相反的,所以画图的时候多加了两行代码将x轴反向。

以上仅仅对 TuShare 做了一个极为简单的介绍,更详细的文档请自行去官网(toshare.org)上阅读,写得还是很清楚的。

当然最重要,是要亲手写一写代码。

原文发布于微信公众号 - Crossin的编程教室(crossincode)

原文发表时间:2016-08-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏逸鹏说道

架构漫谈(八):从架构的角度看如何写好代码

在第六篇文章中,我们得出一个结论,软件架构实际上包括了:代码架构,以及承载代码运行的硬件部署架构。实际上,硬件部署架构最终还是由代码的架构来决定。因为代码架构不...

36080
来自专栏何俊林

关于直播,所有的技术细节都在这里了(三)

上篇《关于直播,所有的技术细节都在这里了(二)》我们讲述了直播应用层协议及传输层协议的选择以及对直播体验影响的分析 。本篇中我们将介绍在传输直播流媒体过程中的内...

254100
来自专栏web前端教室

看太多简单易懂的教程,对你没有好处

太难的教程看不懂,那只能看一些简单的了。简单的教程,它也是教程啊,那为什么看了许多简单的教程,却依然没什么进步? 其实原因很简单,因为简单的教程之所以简单,是因...

20150
来自专栏钱曙光的专栏

一周极客热文:从分析8000条软件工程师招聘信息所学到的

Aline Lerner 过去以编程谋生,现在从事招聘工程师的工作。去年,她通过参考全年的有效招聘数据编写了一篇文章,总结如下: 如果可以的话,尽可能让招聘信息...

22980
来自专栏腾讯移动品质中心TMQ的专栏

快给你的用例做减法吧

前言 生活的智慧,有时不在于多,而在于少。 同理适用于测试用例的管理中。 一. 热身:数一数你的用例数 随着互联网时代节奏的日益加快,许多产品都会在版本迭代中对...

231100
来自专栏顾宇的研习笔记

[翻译]混沌工程的原则

本文已存放在 https://github.com/wizardbyron/principlesofchaos_zh-cn 上,欢迎来 PR

25430
来自专栏腾讯移动品质中心TMQ的专栏

【腾讯TMQ】快给你的用例做减法吧

随着互联网时代节奏的日益加快,许多产品都会在版本迭代中对功能做加法,于是累计的测试用例似乎都无可避免地越来越多。从小编自己的经验,作为测试人员,最开始设计测试用...

27600
来自专栏程序人生 阅读快乐

python高手之路

这不是一本常规意义上Python的入门书。这本书中没有Python关键字和for循环的使用,也没有细致入微的标准库介绍,而是完全从实战的角度出发,对构建一个完整...

9910
来自专栏瓜大三哥

Matlab基本语法9

simulink基本知识 simulink是matlab软件的重要组成部分,能够进行系统的建模、仿真和综合分析,提供了交互式图形化环境,在simulink中,把...

22380
来自专栏木东居士的专栏

如何优雅地设计数据分层

本文主要讲解数据仓库的一个重要环节:如何设计数据分层! 其它关于数据仓库的内容可参考之前的文章。

1.4K60

扫码关注云+社区

领取腾讯云代金券