尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Vibe-Trading 实战:基于 Tushare `sw_daily` 接口获取申万行业指数日行情数据
Vibe-Trading 实战基于 Tusharesw_daily接口获取申万行业指数日行情数据【免费下载链接】Vibe-TradingVibe-Trading: Your Personal Trading Agent项目地址: https://gitcode.com/GitHub_Trending/vi/Vibe-Trading本篇技术指南以 Vibe-Trading 项目内置的 Tushare 数据源技能文档申万行业指数日行情为核心系统讲解申万行业日线行情接口sw_daily的权限要求、入参出参、调用方式与数据口径并延伸到申万行业分类、行业成分与实时行情等配套接口最后结合项目内的行业轮动分析技能给出落地用法。读完本文你将能够在 Vibe-Trading 环境中独立完成申万行业指数历史行情与估值数据的批量拉取、缓存与行业轮动因子计算。一、接口总览sw_daily是什么sw_daily是 Tushare 数据平台提供的申万行业日线行情接口用于获取申万行业指数的每日行情数据。在 Vibe-Trading 的技能体系里该接口被归入tushare数据源技能见 tushare/SKILL.md其完整文档记录在 申万行业指数日行情.md。核心信息如下项目说明接口名sw_daily数据内容申万行业指数日线行情默认返回申万 2021 版行情单次限量最大 4000 行数据积分要求需5000 积分方可调取取数策略可通过指数代码与日期参数组合、循环提取以覆盖全部历史所谓默认是申万 2021 版行情指该接口返回的是申万宏源 2021 年发布的新版行业分类体系下的指数行情。与之对应申万还维护着 2014 年版分类28 个一级、104 个二级、227 个三级行业与 2021 年版分类31 个一级、134 个二级、346 个三级行业两套体系详情参见 申万行业分类.md 中index_classify接口的说明。二、前置准备token 配置与 pro 接口初始化在调用sw_daily之前需要先完成 Tushare 账号与 Python 环境的准备。根据 tushare/SKILL.md 的快速上手章节推荐使用 Python 3.7 环境安装 tushare 依赖包pip install tushare -i https://pypi.tuna.tsinghua.edu.cn/simple随后注册 Tushare 账号获取 token并将其配置为环境变量export TUSHARE_TOKENyour_tokenVibe-Trading 项目中还提供了一套统一的配置读取方式。在 scripts/stock_data_example.py 中可以看到token 的获取顺序是先读项目配置再回退到本地记录的 tokenimport os import tushare as ts from src.config.accessor import get_env_config # 读取环境变量中的 token, 或者读取本地记录的 token token get_env_config().data.tushare_token or ts.get_token() # 初始化 pro 接口实例 pro ts.pro_api(token)初始化pro接口对象后即可调用pro.sw_daily(...)。注意sw_daily属于高积分接口调用前请确认账号积分已达标5000 积分否则会收到权限不足的报错。三、输入参数详解sw_daily的输入参数较为精简全部为可选参数通过组合不同参数可以实现按行业、按日期、按区间三种取数视角。名称类型必选描述ts_codestrN行业指数代码如801010.SI农林牧渔trade_datestrN交易日期格式 YYYYMMDDstart_datestrN开始日期格式 YYYYMMDDend_datestrN结束日期格式 YYYYMMDD参数组合的使用场景按交易日取全市场截面只传trade_date一次性获取该交易日全部申万行业指数的行情与估值数据常用于每日盘后更新行业面板。按行业取历史序列只传ts_code加start_date/end_date获取某个行业指数在一段时间内的日线序列用于动量、波动率等因子计算。区间全量扫描同时传start_date与end_date配合 4000 行/次的限量做日期分片循环可完整覆盖所有行业的全部历史。日期格式统一为YYYYMMDD如20230705与 Tushare 全平台参数约定一致见 tushare/SKILL.md 中参数格式说明一节。四、输出参数详解sw_daily返回 14 个字段既包含标准 OHLC 行情也包含行业指数特有的估值PE/PB与市值数据这是行业分析中非常关键的部分。名称类型默认显示描述ts_codestrY指数代码trade_datestrY交易日期namestrY指数名称openfloatY开盘点位lowfloatY最低点位highfloatY最高点位closefloatY收盘点位changefloatY涨跌点位pct_changefloatY涨跌幅volfloatY成交量万股amountfloatY成交额万元pefloatY市盈率pbfloatY市净率float_mvfloatY流通市值万元total_mvfloatY总市值万元几个需要特别留意的口径细节点位而非价格申万行业指数以点位计量如农林牧渔801010.SI收盘 2946.60不是个股的元/股价格因此做收益计算时应基于close点位而非个股价格。单位约定vol单位为万股amount单位为万元float_mv/total_mv单位同样为万元。若要换算成元或亿元需要自行做量纲换算避免在资金流因子计算中出现 10000 倍的量级错误。估值字段pe与pb为行业指数整体口径的市盈率与市净率可用于跨行业估值横向比较也可与 sector-rotation 技能 中PE 历史分位打分逻辑结合使用。可用fields裁剪列fields参数可以指定返回字段子集减小传输体积例如只取行情列或只取估值列。五、接口调用示例原文档给出了一个典型的按交易日取数示例获取 20230705 当日所有申万行业指数的ts_code,name,open,close,vol,pe,pb数据。pro ts.pro_api(your token) # 获取20230705当日所有申万行业指数的ts_code,name,open,close,vol,pe,pb数据 df pro.sw_daily(trade_date20230705, fieldsts_code,name,open,close,vol,pe,pb)在此基础上我们可以进一步扩展出三个高频实战写法。示例一按行业取历史日线序列pro ts.pro_api(your token) # 获取农林牧渔(801010.SI) 2023年全年日线行情 df pro.sw_daily( ts_code801010.SI, start_date20230101, end_date20231231, fieldsts_code,trade_date,name,open,high,low,close,change,pct_change,vol,amount )示例二按日期循环覆盖全行业全历史突破 4000 行限量import pandas as pd pro ts.pro_api(your token) # 行业代码列表可先通过 index_classify 获取或从行情数据中去重获得 frames [] # 示例按区间分片循环每片一个自然月通常一个月内全部行业行数远小于4000行 for ym in [202307, 202308, 202309]: start ym 01 end ym 31 df pro.sw_daily(start_datestart, end_dateend) frames.append(df) result pd.concat(frames, ignore_indexTrue)示例三字段裁剪以优化传输# 只要估值数据市盈率、市净率、流通市值、总市值 df pro.sw_daily(trade_date20230705, fieldsts_code,trade_date,name,pe,pb,float_mv,total_mv)六、返回数据解读一个交易日的行业截面原文档附带了一份 20230705 的真实数据样例截取可以帮助理解字段的实际取值量级ts_code name open close vol pe pb 0 801001.SI 申万50 2972.86 2946.53 275984.00 13.99 1.91 1 801002.SI 申万中小 6963.37 6896.69 1540720.00 21.19 2.47 2 801003.SI 申万指 3793.91 3769.63 6294567.00 16.56 1.78 3 801005.SI 申万创业 2841.32 2815.48 1220719.00 35.90 3.72 4 801010.SI 农林牧渔 2986.75 2946.60 83532.00 28.32 2.66 .. ... ... ... ... ... ... ... 434 859811.SI 生活用纸 1438.09 1418.16 2542.00 23.25 2.32 435 859821.SI 化妆品制造及其他 2674.85 2674.57 2069.00 40.63 2.33 436 859822.SI 品牌化妆品 12094.45 11877.03 2809.00 44.55 5.52 437 859852.SI 培训教育 780.30 770.10 20889.00 106.12 5.73 438 859951.SI 电视广播Ⅲ 1121.00 1122.06 24413.00 51.46 1.05从这份样例可以读出以下信息代码规则一级/二级行业指数以801xxx.SI开头三级行业指数以85xxxx.SI/859xxx.SI开头如859852.SI培训教育、859951.SI电视广播ⅢSI后缀表示申万指数体系。覆盖范围单日全量返回约 439 行涵盖宽基类申万50、申万中小、申万指、申万创业与全部分级行业指数远小于 4000 行上限因此按日取数不需要分片。估值分布不同行业 PE 差异巨大农林牧渔 28 倍、培训教育 106 倍在做跨行业比较时必须结合行业属性判断不能一概而论这与 sector-rotation 技能 中周期股 PE 失真、需配合 PB的警示一致。成分数量约束根据 申万行业分类.md 中的说明指数成分股少于 5 条时该指数行情不发布因此行情表中只包含is_pub1的行业指数。七、配套接口行业分类、成分与实时行情sw_daily提供的是行情数据要构建完整的行业分析流水线通常还需要以下三个配套接口均在 Vibe-Trading 的 tushare 技能目录下有对应文档。7.1 行业分类字典index_classify文档见 申万行业分类.md。用于获取申万行业分类体系2014 版 / 2021 版入参为index_code、levelL1/L2/L3、parent_code、srcSW2014/SW2021。# 获取申万2021版一级行业列表 df pro.index_classify(levelL1, srcSW2021)借助分类字典可以给sw_daily返回的每一条行情打上一级/二级/三级行业标签便于向上聚合或按大行业做轮动分组。以 2021 版为例一级行业共 31 个包括农林牧渔、基础化工、钢铁、有色金属、电子、汽车、医药生物、银行、非银金融等。7.2 行业成分index_member_all文档见 申万行业成分(分级).md.md)。用于获取某个申万行业分类下的成分股清单按三级分类也可以反向输入股票代码查询其所属行业# 获取黄金分类(850531.SI)的成份股 df pro.index_member_all(l3_code850531.SI) # 获取000001.SZ所属行业 df pro.index_member_all(ts_code000001.SZ)成分数据与sw_daily行情组合使用可以构建行业指数行情 行业内个股集合的完整分析视图例如用行业内个股的财务数据交叉验证行业景气度sector-rotation 技能 中景气度评分框架里的盈利增速/盈利趋势维度即可借此落地。7.3 实时截面rt_sw_k文档见 申万实时行情.md。sw_daily是盘后日线数据如果需要在盘中获取申万行业指数的最新截面数据现价、涨跌幅、成交量、成交额应使用rt_sw_k接口# 一次性提取全部申万指数实时数据 df pro.rt_sw_k() # 按ts_code提取行情数据例如801053.SI(贵金属) 实时行情 df pro.rt_sw_k(ts_code801053.SI)sw_daily历史日线与rt_sw_k盘中实时形成互补前者用于回测与因子研究后者用于盘中监控与盘中信号触发。八、在 Vibe-Trading 中的落地场景行业轮动分析Vibe-Trading 仓库内置了 sector-rotation 技能行业轮动分析它基于 A 股申万行业分类体系从景气度评分、行业动量排名、估值比较、资金流向四个维度输出行业超配/低配建议。sw_daily返回的数据可以在该框架中直接扮演关键角色动量排名用sw_daily的close点位序列计算行业日收益率再按技能中给出的sector_momentum方法lookback60, skip5即回看 60 个交易日、跳过最近 5 天避免短期反转滚动计算累积收益并排名。估值比较直接用返回的pe/pb字段计算各行业估值的历史分位对应评分维度中估值安全PE 历史分位 30% 得满分的打分规则同时注意技能提醒的周期股低 PE 可能是盈利顶点用 PB 更安全。行业分组将sw_daily行情按 2021 版一级行业31 个聚合映射到技能中上游周期 / 中游制造 / 下游消费 / TMT / 金融地产 / 公用事业六大类进而跟踪产业链传导如锂电链、半导体链、地产链。技能文档也给出了一条可复制的落地路径综合得分 0.4 × 价格动量排名 0.3 × 盈利动量排名 0.3 × 资金流排名取 Top 5 行业超配、Bottom 5 行业低配。其中价格动量排名的数据底座正是sw_daily提供的行业日线序列。九、注意事项与最佳实践积分门槛sw_daily需要 5000 积分低于该门槛会无法调用正式使用前先在 Tushare 账户中心确认积分状态。4000 行限量单次最多返回 4000 行。按日取数天然安全单日约数百行按行业/区间取数时建议按自然月分片循环避免返回被截断导致数据缺失。默认 2021 版接口默认返回申万 2021 版行情如需与 2014 版分类对齐的历史研究需要自行确认版本口径一致性避免新旧版行业代码混用造成归类错误两版分类的差异可对照index_classify的src参数。单位换算vol万股、amount万元、float_mv/total_mv万元均非标准单位写入因子库前建议统一量纲防止跨字段运算时出错。成分数限制成分股少于 5 条的行业指数不发布行情做行业全覆盖统计时应对缺失行做容错处理。组合使用历史用sw_daily、实时用rt_sw_k、分类用index_classify、成分用index_member_all四接口配合可构建完整的分类 → 成分 → 历史行情 → 实时行情申万行业数据流水线。十、延伸阅读tushare 技能总览安装、token 配置、全接口列表含sw_dailyID327申万行业分类2014 版与 2021 版分类体系、index_classify接口申万行业成分(分级).md)index_member_all接口与成分数据样例申万实时行情rt_sw_k盘中实时接口行业轮动分析技能基于申万分类的景气度、动量、估值、资金流多维分析框架股票数据获取示例Vibe-Trading 环境中 token 读取与 pro 接口初始化的参考实现【免费下载链接】Vibe-TradingVibe-Trading: Your Personal Trading Agent项目地址: https://gitcode.com/GitHub_Trending/vi/Vibe-Trading创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

100G UDP FPGA上板测试:系统级压力验证方法论

100G UDP FPGA上板测试:系统级压力验证方法论

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/9/11 5:02:44
CMSIS-6本质是嵌入式新范式,非CMSIS-5升级

CMSIS-6本质是嵌入式新范式,非CMSIS-5升级

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/9/11 5:02:44
Helm 子图表启停控制实战:基于 tags 与 conditions 的依赖处理机制解析

Helm 子图表启停控制实战:基于 tags 与 conditions 的依赖处理机制解析

Helm 子图表启停控制实战:基于 tags 与 conditions 的依赖处理机制解析 【免费下载链接】helm The Kubernetes Package Manager 项目地址: https://gitcode.com/GitHub_Trending/hel/helm Helm 允许通过 tags(标签分组)和 conditions&…

📅 2026/9/11 5:02:44
MORE NEWS

更多资讯

📰

嵌入式Linux串口配置与Modbus RTU读写传感器实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

C#部署YOLOv5四边形检测:ONNX推理与解码实战

简介:面向 .NET 与计算机视觉开发者的 C# OpenCvSharp DNN 部署 YOLOv5 不规则四边形目标检测源码包,重点解决旋转目标检测在 C# 环境下的工程落地问题,可应用于车辆斜框、遥感影像、文本行等倾斜目标的定位与识别。资源共 124 个文件&#x…

📰

SNMP网络监控从入门到实战:设备性能、流量分析与故障诊断

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

Windows平台OpenClaw AI框架安装与配置全攻略

1. OpenClaw在Windows平台的完整安装指南 OpenClaw作为一款新兴的AI智能体开发框架,在开发者社区中逐渐流行起来。不同于常规的AI工具,它提供了本地化部署、多模型接入和自定义技能扩展等特性。本文将详细演示Windows环境下从零开始部署OpenClaw的全过程…

📰

freeCodeCamp 每日编程挑战解析:Challenge 220 “Largest Number“ 的多分隔符解析与极值求解

freeCodeCamp 每日编程挑战解析:Challenge 220 "Largest Number" 的多分隔符解析与极值求解 【免费下载链接】freeCodeCamp freeCodeCamp.orgs open-source codebase and curriculum. Learn math, programming, and computer science for free. 项目地址…

📰

PCSX2 PS2 模拟器完整配置:BIOS 到画质设置,一次跑通

PCSX2 PS2 模拟器完整配置:BIOS 到画质设置,一次跑通 【免费下载链接】pcsx2 PCSX2 - The Playstation 2 Emulator 项目地址: https://gitcode.com/GitHub_Trending/pc/pcsx2 PCSX2 是一款 PS2 模拟器,让你在 PC 上运行 PlayStation 2…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬