TuShare

Tushare是一个免费、开源的python财经数据接口包。

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

考虑到Python pandas包在金融量化分析中体现出的优势,Tushare返回的绝大部分的数据格式都是pandas DataFrame类型,非常便于用pandas/NumPy/Matplotlib进行数据分析和可视化。当然,如果您习惯了用Excel或者关系型数据库做分析,您也可以通过Tushare的数据存储功能,将数据全部保存到本地后进行分析。应一些用户的请求,从0.2.5版本开始,Tushare同时兼容Python 2.x和Python 3.x,对部分代码进行了重构,并优化了一些算法,确保数据获取的高效和稳定。

准备环境

安装Python

$ python3 --version
Python 3.7.0

安装 pandas

$ pip3 install pandas

下载过程相对较慢

install lxml

$   pip3 install lxml

lxml也是必须的,正常情况下安装了Anaconda后无须单独安装,如果没有可执行:pip install lxml

建议安装Anaconda(http://www.continuum.io/downloads),一次安装包括了Python环境和全部依赖包,减少问题出现的几率。

安装 TuShare

pip3 install tushare

入门测试案例

股票基本信息

import tushare as ts
ts.get_stock_basics()

日至信息如下:

name industry area       pe  outstanding  totals  totalAssets  liquidAssets  ...  timeToMarket       undp  perundp    rev   profit    gpr       npr   holders
code                                                                                  ...                                                                             
603317    N天味       食品   四川    30.03         0.41    4.13    138681.97      99956.45  ...      20190416   59296.82     1.44  32.56    45.05  39.38     18.87   42449.0
300292   吴通控股     软件服务   江苏    38.77        10.30   12.75    356974.75     124035.02  ...      20120229   58954.45     0.46  14.21   -24.01  20.89      5.75   63589.0
600868   梅雁吉祥     水力发电   广东   453.45        18.98   18.98    234898.09      20493.15  ...      19940912   -8262.46    -0.04  -8.19   -81.19  32.90      9.83  347469.0

字段属性

code,代码
name,名称
industry,所属行业
area,地区
pe,市盈率
outstanding,流通股本(亿)
totals,总股本(亿)
totalAssets,总资产(万)
liquidAssets,流动资产
fixedAssets,固定资产
reserved,公积金
reservedPerShare,每股公积金
esp,每股收益
bvps,每股净资
pb,市净率
timeToMarket,上市日期
undp,未分利润
perundp, 每股未分配
rev,收入同比(%)
profit,利润同比(%)
gpr,毛利率(%)
npr,净利润率(%)
holders,股东人数

保存到 csv

如果你对这个文件比较感兴趣,可以直接保存

import tushare as ts

df = ts.get_hist_data('000875')
#直接保存
df.to_csv('c:/day/000875.csv')

指定列保存

#选择保存
df.to_csv('c:/day/000875.csv',columns=['open','high','low','close'])

拓展阅读

anaconda

参考资料

http://tushare.org/index.html

tushare-pro