请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 3640|回复: 0

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

[复制链接]

169

主题

1

好友

733

积分

版主

Rank: 7Rank: 7Rank: 7

发表于 2018-6-11 22:52:04 |显示全部楼层

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

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

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

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

直接摘录 TuShare 官网上的介绍:
TuShare是一个免费、开源的python财经数据接口包。主要实现对股票等金融数据从数据采集、清洗加工到数据存储的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据,为他们在数据获取方面极大地减轻工作量,使他们更加专注于策略和模型的研究与实现上。
TuShare 数据格式使用 pandas DataFrame 类型,也可保存至 Excel 和 数据库。兼容 Python 2 和 3。

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

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

装好之后就可以直接通过 pip 安装 TuShare:
  1. pip install tushare
复制代码
还有其它安装方法可参考 功能
简单尝试几个基础功能:

1. 获取股票历史数据

get_hist_data
  1. import tushare as ts
  2. ts.get_hist_data('601688')
复制代码

2. 获取股票实时行情

get_realtime_quotes
  1. import tushare as ts
  2. ts.get_realtime_quotes('000002')
复制代码

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

3. 存款利率

get_deposit_rate
  1. import tushare as ts
  2. ts.get_deposit_rate()
复制代码

甚至还有:

4. 电影票房

realtime_boxoffice
  1. import tushare as ts
  2. ts.realtime_boxoffice()
复制代码

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

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

TuShare 的数据主要来源于网络,等于是提供了一个集中的接口,目前支持的数据包括:
交易数据投资参考数据股票分类数据基本面数据宏观经济数据新闻事件数据龙虎榜数据银行间同业拆放利率电影票房
另外还引入了通联数据的开放平台数据接口,基本上满足全品类金融数据的需求。对于学习数据分析来说,更是非常好的数据来源。
示例
再用一小段简单的代码来演示下 TuShare 的使用。这里我将获取今年上证指数的日K信息,然后保存成 excel 文件,再画出每日的收盘指数的折线图。
  1. import tushare as ts
  2. import matplotlib.pyplot as plt
  3. df=ts.get_hist_data('sh', start='2016-01-01')
  4. df.to_excel('stock_sh.xlsx')
  5. df.close.plot()
  6. ax = plt.gca()
  7. ax.invert_xaxis()
  8. plt.show()
复制代码

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



以上仅仅对 TuShare 做了一个极为简单的介绍,更详细的文档请自行去

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-3-29 04:22 , Processed in 0.024289 second(s), 23 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部