Tushare:量化投资数据获取

Tushare 是一个用于获取股票市场数据的 Python 库。它提供了丰富的金融数据接口,支持获取股票、基金、期货等多种金融产品的历史和实时数据。Tushare 能够帮助用户进行数据分析、策略开发和量化交易。

使用Tushare需要提前安装Tushare包,直接在相应python环境下运行 'pip install tushare'安装即可。

bash 复制代码
pip install tushare
python 复制代码
import numpy as np
import pandas as pd
# 忽略所有警告
import warningswarnings . filterwarnings("ignore")
# 如果token失效,可通过以上链接自行购买token
import tushare as ts
token='your_token'
pro=ts . pro_api(token)

获取某个时段的交易日列表

python 复制代码
 # 交易日
since, until = '20230101', '20230831'
trade_day = pro . trade_cal(exchange='', start_date=since, end_date=until)
trade_day = trade_day[trade_day['is_open'] == 1]
print(trade_day)

trade_day = trade_day['cal_date'] . tolist()
trade_day = sorted(trade_day)
print(trade_day)

获取某只股票的历史行情

python 复制代码
 # 上述第三方token的api获取该数据的方式,只有这个api与原版存在不同
df = ts . pro_bar(api=pro, ts_code='000001.SZ', adj='qfq', start_date='20240101',  end_date='20241011')
# 原版token的api获取该数据的方式,
# df = ts.pro_bar(ts_code='000001.SZ', adj='qfq', start_date='20240101',  end_date='20241011')
df

获取某只指数的历史行情

python 复制代码
 # 第一种方式是采用 pro.index_daily 接口来获取,比如获取上证指数 000001. SH行情
df = pro . index_daily( ** {'ts_code': '000001.SH', 'trade_date': "", 'start_date': '20240101', 'end_date': '20240830', 'limit':"", 'offset':""}, field=['ts_code', 'trade_date', 'close', 'pre_close', 'pct_chg'])

df . index = pd . to_datetime(df['trade_date'])
df = df . sort_index()
df
python 复制代码
 # 第二种方式是采用 ts.pro_bar 接口来获取,两种接口获取的数据是一样的。
df = ts . pro_bar(api=pro, ts_code='000001.SH', asset='I', start_date='20240101', end_date='20240830')
df . index = pd . to_datetime(df['trade_date'])
df = df . sort_index()
df

获取某只ETF的历史行情

python 复制代码
 # 红利ETF: 510880.SH
df = pro . fund_daily(ts_code='510880.SH', start_date='20240101', end_date='20240919')
df

获取国外指数的历史行情

python 复制代码
 # 获取标普500指数行情
df = pro . index_global(ts_code='SPX', start_date='20240101', end_date='20240331')
df

获取基本面数据

目前可提供的基本面数据包括换手率、量比、市盈率、市净率、市销率、股息率、总股本、总市值等。

python 复制代码
 # 获取某一日所有股票的基本面数据,包括换手率、市盈率、市净率、股息率等。
df = pro . daily_basic(ts_code='', trade_date='20240726')
df
python 复制代码
 # 获取单只股票的历史基本面数据,比如 600230.SH
df = pro . daily_basic(ts_code = '600230.SH', start_date = '20240101',  end_date = '20240901', fields='trade_date, ts_code, dv_ratio, dv_ttm, total_mv')
df

获取股票的基础信息,如股票代码、名称、上市日期等

包括股票代码、中文名称、上市日期、退市日期等信息

python 复制代码
 #查询当前所有正常上市交易的股票列表
data = pro . stock_basic(exchange='', list_status='L',fields='ts_code,symbol,name,area,industry,list_date')
data

获取某一日所有股票的行情

可用于获取某一日的全部股票列表。

需要注意的是,pro.daily 获取的行情数据是没有复权的,获取获取复权的数据可用 ts.pro_bar 接口。

python 复制代码
 # 如获取2024年1月4日的行情数据
df = pro . daily(trade_date='20240104')
df

每日停复牌股票列表

可获取每天停牌、复牌股票列表。

python 复制代码
 # 获取2024年1月4日的停牌股票。S表示停牌,R表示复牌。
df = pro . suspend_d(suspend_type='S', trade_date='20240104')
df

每日股票涨跌停价格

获取每天每只股票的涨停、跌停价格。

python 复制代码
df = pro . stk_limit(trade_date='20190625')
df

实时抓取行情数据

抓取交易日实时行情数据。这个不需要高积分token,数据来自网络,属于爬虫接口。

python 复制代码
 # 先将自己的token设置给ts,不是pro.
ts . set_token('your_token')
#sina数据
df = ts . realtime_quote(ts_code='600000.SH,000001.SZ,000001.SH')
df

获取公募基金ETF列表

python 复制代码
etf_list = pro . fund_basic(market='E', status='L')
etf_list
相关推荐
ianzh10 小时前
workbuddy-to-dsh使用教程
github
YahirQ10 小时前
技术博客一键多发实战:基于 GitHub Actions 与双引擎的自动化发布流水线
github
恒拓高科WorkPlus11 小时前
企业怎样选择IM即时通讯平台?私有化部署还是SaaS更适合?
网络·github
Maynor在掘金13 小时前
只用 1 张随手拍,在 Claude Code 里做出 15 秒抖音带货视频(配音 + 字幕花字 + BGM,本地出片)
github
littlex15 小时前
复盘分享:「高性价比人生指南」衍生网站,一周 8k+ 用户
github
u13013015 小时前
GitHub 热榜项目:周榜(2026-10-04)
人工智能·github
挖掘狂人16 小时前
Git 从 0 到 1:用一个小项目走完 add / commit / reset / merge / rebase / push
git·后端·github
miofly16 小时前
macOS 本地 AI 搜索工具 SCM 发布 0.2.4 版本,支持多模型照片视频检索
开源·github
codigger17 小时前
Git 三区域模型:把 add、commit、reset、merge 一次讲透
git·github·编程·编程语言
高频因子挖掘机17 小时前
行情监控脚本重启后,怎样快速恢复而不重复拉取数据?
后端·github·api