赞
踩
目录
python库安装和更新
pip install tushare --upgrade
tushare版本查询
- import tushare as ts
-
- print(ts.__version__)
第一种:将token保存在本地,然后调用接口
先设置token在本地(设置过一次,下次就可以不用再设置)
- # -*- coding: utf-8 -*-
-
- import tushare as ts
-
- # 从官网获取token
- mytoken = "your token"
-
- # 保存token到本地
- ts.set_token(mytoken)
然后业务程序使用接口
- # -*- coding: utf-8 -*-
-
- import tushare as ts
-
- # 使用接口
- api = ts.pro_api()
- # 获取日k线数据
- data = api.query('daily',
- ts_code='600031.SH',
- start_date='20220101',
- end_date='20220409')
- print(type(data))
- print(data)
第二种:使用特定token调用接口
- # -*- coding: utf-8 -*-
-
- import tushare as ts
-
-
- # 使用特定token
- mytoken = "your token"
- pro = ts.pro_api(mytoken) # 接口初始化
-
- # 使用trade_cal这个接口获取交易日日历
- result = pro.query('trade_cal',
- start_date='20180101',
- end_date='20181231')
-
- print(type(result))
- print(result)

使用相关的接口有门槛限制,需要账号积分达到一定数量,
用接口不会消耗积分,只是一个门槛,
若达不到门槛,则会报错。
Exception: 抱歉,您没有访问该接口的权限,权限的具体详情访问:Tushare数据。
官网说明链接:Tushare数据
接口 | 获取数据 | 描述 |
stock_basic | 股票列表 | 获取基础信息数据,包括股票代码、名称、上市日期、退市日期等 |
trade_cal | 交易日历 | 获取各大交易所交易日历数据 |
namechange | 股票曾用名 | 获取股票历史名称变更记录 |
hs_const | 沪深股通成份股 | 获取沪股通、深股通成分数据 |
stock_campany | 上市公司基本信息 | 获取上市公司基础信息 |
stk_managers | 上市公司管理层 | 获取上市公司管理层信息 |
stk_rewards | 管理层薪酬和持股 | 获取上市公司管理层薪酬和持股 |
new_share | IPO新股列表 | 获取新股上市列表数据 |
bak_basic | 备用列表 | 获取备用基础列表 |
接口 | 获取数据 | 描述 |
daily | A股日线行情 | 获取股票日行情数据 |
weekly | A股周线行情 | 获取股票周行情数据 |
monthly | A股月线行情 | 获取股票月行情数据 |
pro_bar | A股复权行情 | 获取股票复权行情数据 |
adj_factor | 复权因子 | 获取股票复权因子 |
suspend_d | 每日停复牌信息 | 按日期方式获取股票每日停复牌信息 |
daily_basic | 每日指标 | 获取全部股票每日重要的基本面指标 |
pro_bar | 通用行情 | 获取通用行情信息 |
moneyflow | 个股资金流向 | 获取沪深A股票资金流向数据 |
stk_limit | 每日涨跌停价格 | 获取全市场每日涨跌停价格 |
limit_list | 每日涨跌停统计 | 获取每日涨跌停股票统计 |
moneyflow_hsgt | 沪深港通资金流向 | 获取沪股通、深股通、港股通每日资金流向数据 |
hsgt_top10 | 沪深股通十大成交股 | 获取沪股通、深股通每日前十大成交详细数据 |
ggt_top10 | 港股通十大成交股 | 获取港股通每日成交数据,其中包括沪市、深市详细数据 |
hk_hold | 沪深港股通持股明细 | 获取沪深港股通持股明细,数据来源港交所 |
ggt_daily | 港股通每日成交统计 | 获取港股通每日成交信息 |
ggt_monthly | 港股通每月成交统计 | 港股通每月成交信息 |
ccass_hold_detail | 中央结算系统持股明细 | 获取中央结算系统机构席位持股明细 |
bak_daily | 备用行情 | 获取备用行情 |
接口 | 获取数据 | 描述 |
income | 利润表 | 获取上市公司财务利润表数据 |
balancesheet | 资产负债表 | 获取上市公司资产负债表 |
cashflow | 现金流量表 | 获取上市公司现金流量表 |
forecast | 业绩预告 | 获取业绩预告数据 |
express | 业绩快报 | 获取上市公司业绩快报 |
dividend | 分红送股 | 分红送股数据 |
fina_indicator | 财务指标数据 | 获取上市公司财务指标数据 |
fina_audit | 财务审计意见 | 获取上市公司定期财务审计意见数据 |
fina_mainbz | 主营业务构成 | 获得上市公司主营业务构成,分地区和产品两种方式 |
disclosure_date | 财报披露计划 | 获取财报披露计划日期 |
接口 | 获取数据 |
margin | 融资融券交易汇总 |
margin_detail | 融资融券交易明细 |
margin_target | 融资融券标的 |
top10_holders | 前十大股东 |
top10_floatholders | 前十大流通股东 |
top_list | 龙虎榜每日明细 |
pledge_stat | |
pledge_detail | 股权质押统计数据 |
repurchase | 股权质押明细数据 |
concept | 股票回购 |
concept_detail | 概念股分类表 |
share_float | 概念股明细列表 |
block_trade | 限售股解禁 |
stk_account_old | 大宗交易 |
stk_holdernumber | 股票开户数据 |
stk_surv | 股东人数 |
stk_holdertrade | 机构调研表 |
交易日历(trade_cal接口):获取交易所交易日历数据
第一种调用接口的方式:api.query('trade_cal', 参数1,参数2, ...)
- # -*- coding: utf-8 -*-
- import tushare as ts
- import datetime as dt
- import pandas as pd
-
- def format_date(x):
- return x[:4] + "-" + x[4:6] + "-" + x[-2:]
-
- if __name__ == "__main__":
- pro = ts.pro_api()
-
- # 下载当年日历和交易日日期数据
- last_year = str(dt.datetime.now().year - 1)
- now_year = str(dt.datetime.now().year)
-
- try:
- df = pro.query('trade_cal',
- start_date=last_year + "1220",
- end_date=now_year + "1231")
- except:
- df = pd.DataFrame(data=None)
- print("抱歉,您没有访问该接口的权限,权限的具体详情访问:")
- print("https://tushare.pro/document/1?doc_id=108")
-
- if len(df) > 0:
- # cal_date str 日历日期
- # is_open 是否交易 0休市 1交易
- df = df[df.is_open == 1]
- df["日期"] = df.cal_date
- df = df[["日期"]]
- print(df)
-
- df["日期"] = df.日期.apply(func=format_date)
- print(df)
-
- df.to_excel(now_year+"交易日.xlsx", index=False)
- else:
- print("get trade day from tushare failed")

第二种调用接口的方式:api.trade_cal(参数1,参数2, ...)
- import tushare as ts
- ts.set_token('your token here')
- api = ts.pro_api()
- data = api.trade_cal(exchange='SZSE', # SSE上交所,SZSE深交所
- start_data='20180101',
- end_date='20181231')
股票列表(stock_basic接口):获取基础信息数据,包括股票代码、名称、上市日期、退市日期等。
- import tushare as ts
-
- ts.set_token('your token here') # 设置token(tushare个人主页获取)
- api = ts.pro_api()
-
- column_name = 'ts_code,symbol,name,area,industry,list_date'
- data = api.stock_basic(exchange='',
- list_status='L',
- fields=column_name)
沪深股通成份股(hs_const接口):获取沪股通、深股通成分数据
- import tushare as ts
- ts.set_token('your token here')
- api = ts.pro_api()
- data = api.hs_const(hs_type='SH') # SH沪股通,SZ深股通
公司基本信息(stock_company接口):获取上市公司基础信息
- import tushare as ts
- ts.set_token('your token here')
- api=ts.pro_api()
- column_name='ts_code,chairman,manager,secretary,reg_capital,province'
- data=api.stock_company(exchange='SZSE',
- fields=column_name)
- print(data)
IPO新股列表(new_share接口): 获取新股上市列表数据
- import tushare as ts
- ts.set_token('your token here')
- api = ts.pro_api()
- data = api.new_share(start_date='20220331',end_data='20220409')
日线行情(daily接口):获取A股日线行情
- import tushare as ts
-
- ts.set_token('your token here')
- api = ts.pro_api()
-
- """
- data = api.query('daily',
- ts_code='000001.SZ',
- start_date='20180701',
- end_date='20180718')
- """
-
- data = api.daily(ts_code='000001.SZ,600000.SH',
- start_date='20180701',
- end_date='20180718')
- print(data)

周线行情(weekly接口):获取A股周线行情
- import tushare as ts
- ts.set_token('your token here')
- api = ts.pro_api()
- column_names = 'ts_code,trade_date,open,high,low,close,vol,amount'
- data = api.weekly(ts_code='000001.SZ',
- start_date='20180101',
- end_date='20181101',
- fields=column_names)
- '''
- data = api.query('weekly',
- ts_code='000001.SZ',
- start_date='20180101',
- end_date='20181101',
- fields=column_names)
- '''
月线行情(monthly接口):获取A股月线行情
- import tushare as ts
- ts.set_token('your token here')
- api = ts.pro_api()
- column_names = 'ts_code,trade_date,open,high,low,close,vol,amount'
- data = api.monthly(ts_code='000001.SZ',
- start_date='20180101',
- end_date='20181101',
- fields=column_names)
- '''
- data = api.query('monthly',
- ts_code='000001.SZ',
- start_date='20180101',
- end_date='20181101',
- fields=column_names)
- '''
每日指标(daily_basic接口):获取股票每日指标,选股分析
- import tushare as ts
- ts.set_token('your token here')
- api = ts.pro_api()
- column_names = 'ts_code,trade_date,turnover_rate,volume_ratio,pe,pb'
- data = api.daily_basic(ts_code='',
- trade_date='20180726',
- fields=column_names)
- '''
- data = api.query('daily_basic',
- ts_code='',
- trade_date='20180726',
- fields=column_names)
- '''
end
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。