TusharePro——新版的tushare

TusharePro——新版的tushare

Tushare包的新版本上线了,新版的介绍文档参考这个网站:Tushare

感觉目前为止,新版的tushre数据获取的广度还不如旧版的,比较不舍的就是新版的名字和旧版的一样,安装了新版的之后旧版的就被替换了,也就用不到旧版的了,要是作者给新版的新命一个名字就好了,例如:tusharepro。不过还是希望新版的这个做的比旧版的更好!既然新版的已经上线了,那就赶紧学习一下。

据Tushare官网介绍,新版的tushare比起旧版的最关键性的变化是Tusahre构建起来了自有的数据存储和数据治理体系,同时依托平台化的维护和管理方式,让数据更稳定可靠,而且服务能力也能得到质的的变化。

沪深股票

基础数据

提供交易和回测所需要的基础信息,目前主要提供的是上市公司股票列表和交易日历等。

股票列表

接口:stock_basic
描述:获取基础信息数据,包括股票代码、名称、上市日期、退市日期等

例如:

1
2
3
4
5
6
7
8
9
10
11
12
import tushare as ts
from sqlalchemy import create_engine
import pymysql
engine = create_engine('mysql+pymysql://root:[email protected]:3306/基础数据?charset=UTF8MB4')
print(ts.__version__)
# 这个token可以到官网上注册获取
ts.set_token('xxxxxx')
pro = ts.pro_api()

# 获取股票列表
data = pro.stock_basic()
data.to_sql('股票列表', engine, if_exists = 'replace', schema = '基础数据', index = False)

交易日历

接口:trade_cal
描述:获取各大交易所交易日历数据,默认提取的是上交所

例如:

1
2
3
4
df = pro.trade_cal(exchange_id = 'SSE')
df.to_sql('上交所交易日历', engine, if_exists = 'replace', schema = '基础数据', index = False)
df = pro.trade_cal(exchange_id = 'SZSE')
df.to_sql('深交所交易日历', engine, if_exists = 'replace', schema = '基础数据', index = False)

行情数据

目前只提供质量比较高的日线行情。

日线行情

接口:daily
描述:获取股票行情数据

例如:

1
2
3
4
5
6
7
8
9
10
11
12
engine = create_engine('mysql+pymysql://root:[email protected]:3306/行情数据?charset=UTF8MB4')
## 获取某只股票的所有历史数据
### 获取000001.SZ的日线数据
df1 = pro.daily(ts_code = '000001.SZ')
### 或者:
df2 = pro.query('daily', ts_code='000001.SZ')
df1.to_sql('000001.SZ日线数据', engine, if_exists = 'replace', schema = '行情数据', index = False)

## 获取某日所有股票的日线数据
### 例如获取2018年8月21日的:
df = pro.daily(trade_date = '20180821')
df.to_sql('20180821所有上市公司日线数据', engine, if_exists = 'replace', schema = '行情数据', index = False)

复权因子

接口:adj_factor
描述:获取股票复权因子,可提取单只股票全部历史复权因子,也可以提取单日全部股票的复权因子。

例如:

1
2
3
4
5
6
7
## 获取某只股票的所有日期的复权因子数据
df = pro.adj_factor(ts_code = '000001.SZ')
df.to_sql('000001.SZ复权因子数据', engine, if_exists = 'replace', schema = '行情数据', index = False)

## 获取某日所有古朴的复权因子数据
df = pro.adj_factor(trade_date = '20180821')
df.to_sql('20180821所有上市公司复权因子数据', engine, if_exists = 'replace', schema = '行情数据', index = False)

停复牌信息

接口:suspend
描述:获取股票每日停复牌信息

例如:

1
2
3
4
5
6
7
8
9
10
11
## 获取某个上市公司的所有停复牌数据
df = pro.suspend(ts_code = '000001.SZ')
df.to_sql('000001.SZ停复牌数据', engine, if_exists = 'replace', schema = '行情数据', index = False)

## 获取某个停牌日期的上市公司列表
df = pro.suspend(suspend_date = '20180821')
df.to_sql('20180821上市公司停牌列表', engine, if_exists = 'replace', schema = '行情数据', index = False)

## 获取某个复牌日期的上市公司列表
df = pro.suspend(resume_date = '20180821')
df.to_sql('20180821上市公司复牌列表', engine, if_exists = 'replace', schema = '行情数据', index = False)

每日指标

接口:daily_basic
描述:获取全部股票每日重要的基本面指标,可用于选股分析、报表展示等。

例如:

1
2
3
4
5
6
## 获取某个股票的所有日期的基本面指标
df = pro.daily_basic(ts_code = '000001.SZ')
df.to_sql('000001.SZ基本面指标', engine, if_exists = 'replace', schema = '行情数据', index = False)
## 获取某日所有上市公司的基本面指标
df = pro.daily_basic(trade_date = '20180821')
df.to_sql('20180821所有上市公司的基本面指标', engine, if_exists = 'replace', schema = '行情数据', index = False)

财务数据

Pro版的财务数据跟旧版有着明显的差异,Pro提供的是完整的财务指标和全部历史数据,同时也提供质量比较高的业绩预告和业绩快报数据。

利润表

接口:income
描述:获取上市公司财务利润表数据。

例如:

1
2
3
4
df = pro.income(ts_code = '000001.SZ')
df.to_sql('000001.SZ利润表', engine, if_exists = 'replace', schema = '财务数据', index = False)
# 或者
df = pro.query( 'income', ts_code='600000.SH', start_date='20180101', end_date='20180730')

资产负债表

接口:balancesheet
描述:获取上市公司资产负债表

例如:

1
2
df = pro.balancesheet(ts_code = '000001.SZ')
df.to_sql('000001.SZ资产负债表', engine, if_exists = 'replace', schema = '财务数据', index = False)

现金流量表

接口:cashflow
描述:获取上市公司现金流量表

例如

1
df = pro.cashflow(ts_code='600000.SH', start_date='20180101', end_date='20180730')

业绩预告

接口:forecast
描述:获取业绩预告数据

例如

1
2
3
4
df = pro.forecast(ts_code = '000001.SZ')
# 或者
df1 = pro.query('forecast', ts_code = '000001.SZ')
df.to_sql('000001.SZ业绩预告', engine, if_exists = 'replace', schema = '财务数据', index = False)

业绩快报

接口:express
描述:获取上市公司业绩快报

例如

1
2
df = pro.express(ts_code = '600000.SH')
df.to_sql('600000.SH业绩快报', engine, if_exists = 'replace', schema = '财务数据', index = False)

财务指标数据

接口:fina_indicator
描述:获取上市公司财务指标数据,为避免服务器压力,先阶段每次请求最多返回30条记录,可通过设置日期多次请求获取更多数据。

例如:

1
2
df = pro.fina_indicator(ts_code = '600000.SH')
df.to_sql('600000.SH财务指标数据', engine, if_exists = 'replace', schema = '财务数据', index = False)

财务审计意见

接口:fina_audit
描述:获取上市公司定期财务审计意见数据。

例如:

1
2
df = pro.fina_audit(ts_code = '600000.SH')
df.to_sql('600000.SH财务审计意见', engine, if_exists = 'replace', schema = '财务数据', index = False)

主营业务构成

接口:fina_mainbz
描述:获得上市公司主营业务构成,分地区和产品两种方式。

例如:

1
2
df = pro.fina_mainbz(ts_code = '600000.SH')
df.to_sql('600000.SH主营业务构成', engine, if_exists = 'replace', schema = '财务数据', index = False)

市场参考数据

沪深港通资金流向

接口:moneyflow_hsgt
描述:获取沪股通、深股通、港股通每日资金流向数据

例如:

1
2
3
4
5
6
# 获取2018年8月31日的数据
df = pro.moneyflow_hsgt(trade_date = '20180831')
# 每次最多返回60条记录
df = pro.moneyflow_hsgt(start_date = '20180601', end_date = '20180831')
# 或者
df = pro.query('moneyflow_hsgt', trade_date = '20180831')

沪深股通十大成交股

接口:hsgt_top10
描述:获取沪股通、深股通每日前十大成交详细数据

例如:

1
2
3
4
# 沪市
df = pro.hsgt_top10(trade_date = '20180831', market_type = '1')
# 深市
df = pro.hsgt_top10(trade_date = '20180831', market_type = '3')

港股通十大成交股

接口:ggt_top10
描述:获取港股通每日成交数据,其中包括胡沪市、深市详细数据

例如:

1
2
3
4
5
6
7
# 港股通(沪)
df = pro.ggt_top10(trade_date = '20180831', market_type = '2')
# 港股通(深)
df = pro.ggt_top10(trade_date = '20180831', market_type = '4')
# 或者
# 腾讯控股20180701-20180727每日成交数据
df = pro.query('ggt_top10', ts_code='00700', start_date='20180701', end_date='20180727')

融资融券交易汇总

接口:margin
描述:获取融资融券每日交易汇总数据

说明
融资融券数据从证券交易所网站直接获取,提供了有记录以来的全部汇总和明细数据。
根据交所网站提示:数据根据券商申报的数据汇总,由券商保证数据的真实、完整、准确。
其中:
本日融资余额(元)=前日融资余额+本日融资买入-本日融资偿还额
本日融券余量(股)=前日融券余量+本日融券卖出量-本日融券买入量-本日现券偿还量
本日融券余额(元)=本日融券余量×本日收盘价
本日融资融券余额(元)=本日融资余额+本日融券余额
2014年9月22日起,“融资融券交易总量”数据包含调出标的证券名单的证券的融资融券余额

例如:

1
2
df = pro.margin(trade_date = '20180631')
df = pro.query('margin', trade_date='20180802', exchange_id='SSE')

融资融券交易明细

接口:margin_detail
描述:获取沪深两市每日融资融券明细

例如:

1
2
df = pro.margin_detail(trade_date = '20180831')
df = pro.query('margin_detail', trade_date='20180802')

说明
本报表基于证券公司报送的融资融券余额数据汇总生成,其中:
本日融资余额(元)=前日融资余额+本日融资买入-本日融资偿还额
本日融券余量(股)=前日融券余量+本日融券卖出量-本日融券买入量-本日现券偿还量
本日融券余额(元)=本日融券余量×本日收盘价
本日融资融券余额(元)=本日融资余额+本日融券余额
2014年9月22日起,“融资融券交易总量”数据包含调出标的证券名单的证券的融资融券余额。

前十大股东

接口:top10_holders
描述:获取上市公司前十大股东数据,包括持有数量和比例等信息。

例如:

1
2
df = pro.top10_holders(ts_code = '600000.SH')
df = pro.query('top10_holders', ts_code = '600000.SH')

前十大流通股东

接口:top10_floatholders
描述:获取上市公司前十大流通股东数据。

例如:

1
df = pro.top10_floatholders(ts_code = '000001.SZ')

行业经济数据

TMT行业数据

提供TMT行业的产业数据库,为行情研究和投研提供可靠的数据。
目前已经提供数据包括:

  • 台湾电子产业月度营收数据
  • 台湾电子产业月度营收明细
  • 两岸三地电子产业营收对比数据

台湾电子产业月营收

接口:tmt_twincome
描述:获取台湾TMT电子产业领域各类产品月度营收数据。

例如:

1
2
3
4
#获取PCB月度营收
df = pro.tmt_twincome(item='8')
#获取PCB月度营收(20120101-20181010)
df = pro.tmt_twincome(item='8', start_date='20120101', end_date='20181010')

台湾电子产业月营收明细

接口:tmt_twincomedetail
描述:获取台湾TMT行业上市公司各类产品月度营收情况。

例如:

1
df = pro.tmt_twincomedetail(item='8', symbol='6156')

# Python

评论

程振兴

程振兴 @czxa.top
截止今天,我已经在本博客上写了659.4k个字了!

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×