TuShare 开源财经数据接口包全解析:从数据采集、清洗加工到存储的一站式 Python 方案
发布时间:2026/9/21 22:50:32 锦皓数字建站

金融科技数据分析【免费下载链接】tushareTuShare is a utility for crawling historical data of China stocks项目地址https://gitcode.com/gh_mirrors/tu/tushare点击查看免费下载导读TuShare 是一个免费、开源的 Python 财经数据接口包围绕中国股票等金融数据提供数据采集 → 清洗加工 → 数据存储的完整链路。本文以仓库 docs/preface.rst官方前言为主体结合仓库源码与测试系统讲解 TuShare 的定位、目标用户、环境准备、安装升级、模块全景与版本演进帮助你快速评估并上手这套面向量化分析的数据工具。TuShare 是什么面向量化分析的财经数据管道根据官方前言的定义TuShare 是一个免费、开源的 Python 财经数据接口包它主要实现对股票等金融数据从数据采集、清洗加工到数据存储的过程能够为金融分析人员提供快速、整洁和多样的便于分析的数据在数据获取方面极大地减轻工作量使分析人员能更专注于策略和模型的研究与实现。这一三段式定位在仓库的模块划分中有直接体现数据采集以 tushare/stock/trading.py 为代表的接口模块负责从新浪财经、凤凰财经、上交所、深交所等公开数据源抓取行情tushare/init.py 中集中导出了get_hist_data、get_tick_data、get_realtime_quotes、get_h_data等交易数据接口。清洗加工接口内部完成缺失值填充、类型转换如将行情列统一转为float、均线指标计算tushare/util/formula.py 中的MA与按日期排序等预处理返回即用型数据。数据存储配合 docs/storing.rst 中讲解的 CSV、Excel、HDF5、JSON、MySQL、MongoDB 等持久化方式可将数据全部保存到本地后再做分析。考虑到 pandas 在金融量化分析中的优势TuShare 返回的绝大部分数据格式都是 pandas DataFrame 类型非常便于用 pandas / NumPy / Matplotlib 进行数据分析和可视化。当然如果你习惯用 Excel 或关系型数据库做分析也可以通过 TuShare 的数据存储功能将数据保存到本地后分析。从 0.2.5 版本开始TuShare 同时兼容 Python 2.x 和 Python 3.x并对部分代码进行了重构、优化了部分算法确保数据获取的高效和稳定。当前仓库的版本号记录在 tushare/VERSION.txt1.2.18已远超前言撰写时的版本接口与模块也持续扩充。使用对象谁适合使用 TuShare前言明确列出了四类目标用户量化投资分析师Quant需要批量、稳定的历史行情与基本面数据做策略回测与研究对金融市场进行大数据分析的企业和个人需要结构化、可计算的金融数据集开发以证券为基础的金融类产品和解决方案的公司可将 TuShare 作为数据层组件嵌入产品正在学习利用 Python 进行数据分析的人以真实的金融数据作为 pandas / NumPy 学习素材。前言还特别做了一则澄清TuShare 不是普通炒股者用的软件而是为那些有兴趣做股票、期货数据分析的人提供 pandas 矩阵数据的工具至于能否用于炒股以及效果如何取决于使用者自身的能力。这一点从仓库的项目描述A utility for crawling historical and Real-time Quotes data of China stocks见 setup.py也可以印证——它定位的是数据工具而非行情终端。使用前提最小环境依赖要正常使用 TuShare前置条件如下安装 Python2.x 或 3.x 均可视当时版本而定安装 pandas——所有核心接口的返回值都是 pandas 数据结构这是最关键的依赖安装 lxml——用于解析抓取到的 HTML/XML 数据。正常情况下安装 Anaconda 后无须单独安装如果没有可执行pip install lxml前言建议直接安装 Anaconda一次安装即包含 Python 环境和全部依赖包可减少问题出现的几率。当前仓库在 requirements.txt 与 setup.py 中声明的运行期依赖比早期更完备可作为安装参考pandas0.18.0核心数据结构requests2.0.0HTTP 请求lxml3.8.0HTML/XML 解析simplejson3.16.0JSON 解析msgpack0.5.6、pyzmq16.0.0通信与序列化支撑实盘交易模块使用。下载安装与版本升级安装官方前言提供两种安装方式方式 1推荐使用 pip 直接从 PyPI 安装pip install tushare方式 2访问 PyPI 上 tushare 的项目页面下载安装包进行安装。仓库 README.md 还补充了第三种方式——从源码安装python setup.py install升级pip install tushare --upgrade查看当前版本import tushare print(tushare.__version__)仓库中版本号由 tushare/VERSION.txt 维护tushare/init.py 通过codecs.open(...).read()在包导入时读取该文件并赋值给__version__因此tushare.__version__反映的始终是当前安装包的实际版本。快速上手一行代码拿到 DataFrame前言与 README.md 中的 Quick Start 展示了最核心的用法——获取个股历史交易数据import tushare as ts df ts.get_hist_data(600848) # 一次性获取全部历史数据返回的 DataFrame 包含日期索引、开盘价、最高价、收盘价、最低价、成交量、价格变动、涨跌幅、5/10/20 日均价、5/10/20 日均量、换手率等字段可以直接进入 pandas 分析流程。该接口的底层实现在 tushare/stock/trading.py 中关键行为包括周期参数ktypeD日 K、W周、M月以及5/15/30/60分钟线非法值会抛出TypeError(ktype input error.)容错重试retry_count默认 3控制网络异常时的重试次数pause默认 0.001控制重试间隔数据清洗日/周/月数据会去除千分位逗号并将空值置 0行情列统一astype(float)区间过滤与排序按start/end过滤后以日期倒序返回超时保护每次请求设置 10 秒超时最终失败时抛出IOError(NETWORK_URL_ERROR_MSG)。此外 tushare/stock/trading.py 还实现了get_tick_data历史分笔、get_today_all当日全市场快照、get_realtime_quotes实时行情、get_h_data前/后复权历史数据、get_k_data免费 K 线等接口并在 tushare/init.py 中统一导出。从源码看数据采集全景模块化接口矩阵前言提到 TuShare 面向全品类金融数据演进这一承诺在当前仓库的模块结构中得到充分兑现。tushare/init.py 按业务域清晰导出了十余组接口业务域代表接口源码位置交易数据get_hist_data、get_tick_data、get_realtime_quotes、get_h_data、get_k_datatushare/stock/trading.py基本面数据get_stock_basics、get_report_data、get_profit_data、get_balance_sheettushare/stock/fundamental.py宏观经济数据get_gdp_year、get_cpi、get_ppi、get_money_supply、get_deposit_ratetushare/stock/macro.py分类数据get_industry_classified、get_concept_classified、get_hs300s、get_terminatedtushare/stock/classifying.py新闻事件get_latest_news、get_notices、guba_sinatushare/stock/newsevent.py参考数据profit_data、forecast_data、top10_holders、moneyflow_hsgttushare/stock/reference.pyShibor 利率shibor_data、shibor_quote_data、lpr_datatushare/stock/shibor.py龙虎榜top_list、cap_tops、broker_tops、inst_detailtushare/stock/billboard.py通联数据/Pro 接口pro_api、pro_bartushare/pro/data_pro.py电影票房realtime_boxoffice、day_boxoffice、month_boxofficetushare/internet/boxoffice.py基金数据get_nav_open、get_nav_close、get_fund_infotushare/fund/nav.py期货数据get_future_daily、get_cffex_daily、get_intlfuturetushare/futures/domestic.py、tushare/futures/intlfutures.py数字货币行情coins_tick、coins_bar、coins_snapshottushare/coins/market.py交易日历trade_cal、is_holidaytushare/util/dateu.py前言中后期将逐步增加港股、期货、外汇和基金方面的数据的规划在 tushare/futures、tushare/fund、tushare/coins、tushare/internet/indexes.pyBDI 波罗的海干散货指数等目录中均已落地验证了项目持续的扩展方向。数据存储把 DataFrame 落盘到文件与数据库前言将数据存储列为 TuShare 的核心环节之一。详细的实操指南见 docs/storing.rst其核心思路是直接复用 pandas 的原生持久化能力CSVdf.to_csv(path.csv)支持modea追加写入此时应传headerNone避免重复列名Exceldf.to_excel(path.xlsx, startrow2, startcol5)可用startrow/startcol控制数据落点HDF5df.to_hdf(hdf.h5, key)或通过HDFStore写入formattable支持追加与条件查询complevel/complib可控制压缩JSONdf.to_json(path.json, orientrecords)orient支持columns/records/index/split/valuesMySQL 等关系型数据库通过 SQLAlchemy 引擎create_engine(mysql://user:passwd127.0.0.1/db_name?charsetutf8)后调用df.to_sql(table_name, engine)if_exists可设为fail/replace/appendMongoDBpandas 未内置 MongoDB 写入但可结合 pymongo 与df.to_json(orientrecords)的 JSON 文档完成入库。通联数据DataYes开放平台集成前言指出从0.3.8 版本开始TuShare 将通联数据开放平台数据接口加入进来从数据的丰富性和质量性方面得到全面提升基本满足用户对全品类金融数据的需求。通联数据是国内当时最大的开放金融数据平台整合了股票、基金、期货、期权和港股方面的全品类数据使用前提是注册通联数据用户账号详见 docs/datayes.rst。仓库中这一能力由 tushare/pro 子包承载tushare/pro/data_pro.py 中的pro_api(token)负责初始化 Pro API首次使用可通过ts.set_token(your token)记录凭证tushare/util/upass.py 中的set_token/get_token之后即可直接调用同一文件还提供通用行情接口pro_bar支持股票、ETF/LOF、期货/期权、港股、数字货币等品种adj参数控制前复权qfq/后复权hfq/不复权Nonema参数可追加自定义均线。import tushare as ts ts.set_token(your token) # 首次设置凭证 pro ts.pro_api() # 初始化 Pro API df pro_bar(ts_code600848.SH, start_date20200101, end_date20201231, adjqfq, ma[5, 10, 20])版本演进从 0.1.0 到 1.2.18 的能力路线图前言保留了从首个版本到当时版本的完整更新记录这是理解 TuShare 能力边界演进的一手资料0.4.32015/12/27新增电影票房数据新增大单交易数据修复部分 bug。0.4.1新增新浪大单数据修改当日分笔 bug深市融资融券数据修复。0.3.9新增通联数据期权隐含波动率数据修复指数成份股及权重数据接口。0.3.8完成通联数据 SDK v0.2.0 开发沪深 300 成份股和权重接口问题修复通联数据 API 文档发布。0.3.5部分代码修正新增通联数据 SDK 0.1 版。0.3.4新增龙虎榜模块每日龙虎榜列表、个股上榜统计、营业部上榜统计、机构席位追踪、机构席位成交明细get_h_data数据类型改为 float修复get_index遗漏 open 列。0.3.1修复get_h_databug修改get_stock_basics数据获取方式。0.2.82015/04/28新增大盘指数实时行情列表与历史行情数据全部新增终止退市与暂停上市公司列表修正融资融券明细无日期缺陷。0.2.62015/04/22新增沪/深市融资融券列表及明细列表修正复权数据源出现 null 导致异常的问题约 300 只股票受影响。0.2.52015/04/16完成 Python 2.x 与 3.x 兼容性支持部分算法优化和代码重构新增中证 500 成份股新增当日分笔交易明细修正分配预案高送转bug。0.2.32015/04/11新增新浪股吧消息和热度新增新股上市数据修正基本面数据重复与历史数据缺列问题。0.2.02015/03/17新增历史复权数据接口新增即时滚动新闻、信息地雷数据新增沪深 300 指数成份股及动态权重、上证 50 成份股历史行情数据类型改为 float。0.1.92015/02/06增加分类数据增加数据存储示例。0.1.62015/01/27增加重点指数的历史和实时行情更新 docs。0.1.52015/01/26增加基本面数据接口发布使用手册并开通官方文档网站。0.1.32015/01/13增加实时交易数据的获取Realtime Quotes Data。0.1.12015/01/11增加 tick 数据的获取。0.1.02014/12/01创建第一个版本实现个股历史数据的获取。对照 README.md 的 Change Logs 可以看到此后项目继续演进至 1.2.18tushare/VERSION.txt期间先后加入get_k_data免费行情接口0.5.6、实盘交易接口0.5.1、期货行情0.8.0、数字货币行情0.9.2、沪深港通资金流向1.0.2、Pro 版数据接口1.2.12与通用行情pro_bar1.2.15等与前言描述的不断丰富完善的路线一致。联系与社区TuShare 数据主要来源于网络使用过程中如遇数据无法获取或数据错误前言给出的联系方式为Email: jimmysoasina.cnQQ: 52799046。关于 pandas/NumPy 技术问题可加入pandas 数据分析QQ 群297882961已满TuShare 用户群14934432通联数据群488918622。最后向以下贡献者与数据源致谢源自前言新浪财经、凤凰财经、上交所和深交所提供数据深圳大学经济学院研究生邓志浩的测试与校对上海纽约大学波动研究所赵志强的审阅以及通过 QQ、微博和 Email 提出建议的众多用户与捐助者。TuShare 以免费、开源的形式持续分享其源码、测试与文档均可直接在仓库中查阅如需安装体验执行pip install tushare即可。赞分享金融科技数据分析【免费下载链接】tushareTuShare is a utility for crawling historical data of China stocks项目地址https://gitcode.com/gh_mirrors/tu/tushare点击查看免费下载相关推荐TuShare 财经数据接口包免费开源 Python 金融数据采集、清洗与存储实战指南TuShare 财经数据接口包免费开源 Python 金融数据采集、清洗与存储实战指南 TuShare 是一款免费、开源的 Python 财经数据接口包它以金融科技数据分析TuShare财经数据接口Python量化分析的利器TuShare财经数据接口Python量化分析的利器 什么是TuShare TuShare是一个基于Python的免费开源财经数据接口包专门为金融量化分析金融科技数据分析TuShare 快速上手指南用 Python 完成中国股市数据采集、清洗与存储TuShare 快速上手指南用 Python 完成中国股市数据采集、清洗与存储 TuShare 是一套面向中国金融市场的开源数据工具库把股票、期货等金融数据金融科技数据分析上一篇TrollInstallerX 一键安装TrollStore教程iOS 14.0-16.6.1 全设备免费装下一篇DouK-Downloader 抖音 TikTok 下载工具从首次运行到批量采集的实操指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。