Vibe-Trading 数据技能实战:Tushare 美股复权行情(us_daily_adj)接口从入门到精解

发布时间:2026/9/10 20:59:20

Vibe-Trading 数据技能实战:Tushare 美股复权行情(us_daily_adj)接口从入门到精解 Vibe-Trading 数据技能实战Tushare 美股复权行情us_daily_adj接口从入门到精解【免费下载链接】Vibe-TradingVibe-Trading: Your Personal Trading Agent项目地址: https://gitcode.com/GitHub_Trending/vi/Vibe-Trading本文以 Vibe-Trading 开源仓库内置的 Tushare 数据技能为背景围绕us_daily_adj美股复权行情接口展开系统讲解从接口权限与数据口径到全部输入/输出参数的逐项说明、复权因子的计算逻辑再到单股票、单日全市场、分页循环等实战调用写法。读完本文你将掌握在 Vibe-Trading 的 Agent 工作流中稳定、正确地获取与使用美股复权行情数据的能力并理解它与未复权行情、独立复权因子接口之间的分工关系。一、接口定位什么是「美股复权行情」在 Vibe-Trading 仓库的 Tushare 技能 中美股数据被划分为基础信息、日线行情、复权因子、复权行情、交易日历以及三大财务报表等多个独立接口。其中编号为338的us_daily_adj美股复权行情承担的是「一条记录里同时包含价格、成交、股本、市值与复权因子」的复合日线视图覆盖范围美股全市场股票数据内容OHLC 价格、涨跌、成交量额、均价VWAP、复权因子、换手率、流通/总股本、流通/总市值、交易所代码核心价值由于行情与复权因子、股本、市值同表返回做美股策略回测、因子计算时无需再跨接口 join数据一致性更高。它与同目录下另外两个行情类接口的分工是接口文档是否复权附带指标us_daily美股日线行情未复权含 PE、PB 等估值指标us_adjfactor美股复权因子仅因子本身cum_adjfactor累计复权因子、收盘价us_daily_adj美股复权行情因子同表返回股本、市值、换手率等从源码结构看us_daily_adj是 Vibe-Trading 美股数据链路中的「复权口径」主力接口仓库的数据路由模块对^[A-Z]\.US$形式的美国股票代码优先路由到 Yahoo 等境外数据源其他无法识别或链路失败的情况会回退到tushare默认源见market_data.py中return tushare的回退分支而 Tushare 技能下正是us_daily_adj这类接口为美股回测提供历史行情。二、权限与准备积分门槛与 Token 配置原接口文档明确了使用门槛限量单次最大可提取8000 条数据可循环获取全部支持分页提取权限120 积分可试用查看数据开通正式权限需参考 Tushare 权限说明文档原文档指向tushare.pro/document/1?doc_id290。在 Vibe-Trading 中接入该接口需完成三步准备参见 Tushare 技能入口 的「快速上手」一节安装依赖推荐 Python 3.7并安装tushare包SKILL.md 建议使用清华 PyPI 镜像pip install tushare -i https://pypi.tuna.tsinghua.edu.cn/simple注册获取 Token在 Tushare 官网注册账户、获取 token 后配置环境变量export TUSHARE_TOKENyour_token初始化 Pro API从环境变量或本地配置读取 token 后创建接口实例。仓库对 Token 的管理是工程化的API 层的配置接口把TUSHARE_TOKEN视为受管密钥并对{, your-tushare-token}这类占位符做有效性校验示例脚本 stock_data_example.py 展示了标准取法import os import tushare as ts # 读取环境变量中的token, 或者读取本地记录的token from src.config.accessor import get_env_config token get_env_config().data.tushare_token or ts.get_token() # 初始化pro接口 pro ts.pro_api(token)也就是说在 Vibe-Trading 中即使不显式设置环境变量只要本地已记录过 tokents.get_token()或配置中心已录入tushare_token即可直接初始化pro实例。三、输入参数详解us_daily_adj的全部 7 个输入参数均为可选必选列均为 N按查询维度可分成「单票区间」「单日截面」「分页控制」三组名称类型必选描述ts_codestrN股票代码e.g. AAPLtrade_datestrN交易日期YYYYMMDDstart_datestrN开始日期YYYYMMDDend_datestrN结束日期YYYYMMDDexchangestrN交易所NAS/NYS/OTCoffsetintN开始行数limitintN每页行数各参数的实战口径ts_code美股的 ticker 代码如AAPL、MSFT。与 A 股的000001.SZ式带后缀编码不同美股在 Tushare 中通常直接使用英文代码可参考 美股基础信息 获取完整代码列表。trade_date单日截面的查询键格式YYYYMMDD。与ts_code一样都是「不传即全市场/全历史」的组合键二者可以单独使用也可以组合精确锁定某只股票某一天的数据。start_date/end_date区间查询键配合ts_code使用可提取单只股票在指定时间段内的全部交易日行情。注意区间为闭区间包含两端日期。exchange交易所过滤取值为NAS纳斯达克、NYS纽交所、OTC场外/粉单市场。从相邻的 美股复权因子 数据示例可以看到实际返回的交易所代码还可能出现ARC美交所 Archipelago等取值因此按日拉全市场后做交易所维度的统计分析时建议对未知取值做容错处理。offset/limit分页控制。offset为起始行号从 0 开始计数limit为每页返回行数。由于单次上限 8000 条超出上限的历史区间必须用offset逐页推进来取全。四、输出参数详解18 个字段全解读接口共返回 18 个字段默认全部显示按业务含义可归为五类名称类型默认显示描述ts_codestrY股票代码trade_datestrY交易日期closefloatY收盘价openfloatY开盘价highfloatY最高价lowfloatY最低价pre_closefloatY昨收价changefloatY涨跌额pct_changefloatY涨跌幅volintY成交量amountfloatY成交额vwapfloatY平均价adj_factorfloatY复权因子turnover_ratiofloatY换手率free_shareintY流通股本total_shareintY总股本free_mvfloatY流通市值total_mvfloatY总市值exchangestrY交易所代码字段使用要点价格与涨跌close/open/high/low为当日未复权的原始价格pre_close为前一日收盘价change close - pre_close涨跌额pct_change为涨跌幅百分比数值例如0.02表示涨 2%。成交信息vol为成交量整数单位通常是股amount为成交额vwap为当日成交量加权平均价Volume Weighted Average Price。股本与市值free_share流通股本、total_share总股本、free_mv流通市值、total_mv总市值用于计算市值分位、流动性筛选等因子也是复权行情接口区别于普通日线接口的重要增量。exchangeNAS/NYS/OTC等交易所代码参考输入参数节的说明。五、复权机制价格 × 因子 复权价格原接口文档给出了一个必须牢记的复权口径美股复权逻辑是价格 * 复权因子 复权价格比如close * adj_factor 前复权收盘价。这段描述包含两层信息复权方向是「前复权」将历史价格统一折算到当前口径。以 AAPL 的数据示例为例2024 年初adj_factor 0.9974接近但小于 1.0说明期间发生过除权除息事件而 2024 年 7 月adj_factor 1.0000当前日期附近因子归 1。计算前复权价时20240102 的 close(185.15) × 0.9974 ≈ 184.67即把该历史价格按最新的权益口径做了向下折算从而与 7 月的价格因子为 1.0连续可比。与独立复权因子接口的关系us_daily_adj表内直接携带每日的adj_factor而 美股复权因子 接口us_adjfactor返回的是cum_adjfactor累计复权因子 收盘价。两者同源us_daily_adj相当于把因子与行情「预 join」后对外提供减少了使用方的对齐成本。文档还特别提醒了一个重要的数据维护细节复权因子历史数据可能除权等被刷新请注意动态更新。也就是说当一只股票发生新的分红送转等公司行为后Tushare 会刷新整个历史因子序列导致历史区间的前复权价格随之改变。因此做回测或研究时必须动态重取复权因子与复权行情不能长期缓存历史结果若需要「某一时点真实可见」的价格应使用 美股日线行情us_daily未复权口径并附带 PE/PB 估值指标做收益计算与因子研究时再切换为复权口径。六、接口调用实战原文档给出的两段核心调用示例可覆盖绝大多数使用场景。场景一获取单一股票的区间复权行情pro ts.pro_api() # 获取单一股票行情 df pro.us_daily_adj(ts_codeAAPL, start_date20240101, end_date20240722)df为 pandas DataFrame行按交易日排列包含上述 18 个字段。场景二获取某一日某个交易所的全部股票pro ts.pro_api() # 获取某一日某个交易所的全部股票 df pro.us_daily_adj(trade_date20240722, exhangeNAS)注意原文档示例中exhange为笔误实际参数名应为exchange否则会被 Tushare 当作未知关键字抛出参数错误。正确的写法是df pro.us_daily_adj(trade_date20240722, exchangeNAS)场景三全市场全历史分页循环推荐写法受单次 8000 条上限约束按日拉全市场 按offset翻页是取全量数据的标准组合。以下代码展示了「按交易日逐日拉取全市场再对超过 8000 条的单日做 offset 分页」的双层循环模式pro ts.pro_api() def fetch_us_daily_adj(trade_date: str, exchange: str | None None, page_size: int 8000): 拉取指定交易日的美股全市场复权行情自动处理单次8000条上限的分页。 rows, offset [], 0 while True: kwargs dict(trade_datetrade_date, offsetoffset, limitpage_size) if exchange: kwargs[exchange] exchange df pro.us_daily_adj(**kwargs) if df is None or df.empty: break rows.append(df) offset len(df) if len(df) page_size: # 不足一页说明已取完 break return pd.concat(rows, ignore_indexTrue) if rows else pd.DataFrame() # 按交易日历循环即可覆盖全历史 # for d in trade_dates: fetch_us_daily_adj(d)如果只需要少量字段以降低带宽与内存开销还可显式传入fields参数做投影裁剪例如df pro.us_daily_adj( ts_codeAAPL, start_date20240101, end_date20240722, fieldsts_code,trade_date,close,adj_factor,total_mv )七、数据样例解读原文档给出的 AAPL 2024 年 1 月至 7 月部分数据如下节选ts_code trade_date close pre_close pct_change vol amount vwap adj_factor turnover_ratio 0 AAPL 20240722 223.96 224.31 0.00 48201836 10846348215.6184 225.02 1.0000 0.31 1 AAPL 20240719 224.31 224.18 0.00 49151454 11046273687.7475 224.74 1.0000 0.32 ... 134 AAPL 20240108 185.07 180.70 0.02 59144469 10903064025.6147 183.86 0.9974 0.38 135 AAPL 20240105 180.70 181.43 0.00 62379661 11321622148.8560 181.02 0.9974 0.40 136 AAPL 20240104 181.43 183.77 -0.01 71983563 13102384071.8889 181.54 0.9974 0.47 137 AAPL 20240103 183.77 185.15 -0.01 58414461 10767233840.9328 183.84 0.9974 0.38 138 AAPL 20240102 185.15 192.02 -0.04 82488688 15330365936.2928 185.36 0.9974 0.53解读几个值得注意的细节因子分段2024 年 1 月区间内adj_factor恒为0.99747 月区间内恒为1.0000说明两次「跳变」之间因子保持不变这是前复权因子的典型形态仅在除权除息日发生阶跃pct_change的小数口径如0.00、0.02、-0.04即涨跌幅以百分比数值表示0.02对应上涨 2%而非小数比例 0.02%vol与amount的量级AAPL 单日成交量在数千万股量级、成交额在百亿人民币量级10846348215.6184约 108 亿元amount为浮点数而vol为整数vwap与close的关系vwap如 225.02通常与close223.96接近但不相等反映了当日成交的加权成本。八、与仓库其他能力的协同使用在 Vibe-Trading 中us_daily_adj通常不是孤立使用的它与仓库中以下能力配合可构成完整的美股研究链路交易日历对齐美股与 A 股节假日不同使用 美股交易日历us_tradecal获取有效交易日列表再按日循环拉取全市场复权行情可避免在非交易日请求导致空数据。代码清单先用 美股基础信息us_basic获取全市场代码再逐票或分批提取区间行情。未复权对照涉及「当时真实可见价格」的归因、事件研究时对照 美股日线行情us_daily的未复权 OHLC 与 PE/PB 估值字段。独立因子校验需要累计复权因子做深度计算时可交叉引用 美股复权因子us_adjfactor的cum_adjfactor序列。工程化接入参考 Tushare 技能入口 的接口清单us_daily_adj位于编号 338与 股票数据获取示例 的调用范式在 Agent 工作流中数据路由由 market_data.py 统一管理美股行情请求在境外源不可用时默认回退到 Tushare 链路。九、注意事项与最佳实践小结参数笔误exchange常被误写为exhange原文档示例即存在此笔误调用前务必核对参数名。限量与分页单次上限 8000 条全历史/全市场数据必须依赖offset/limit分页或按日期循环禁止一次性请求超大区间。动态更新因子除权除息会刷新历史复权因子缓存过期的前复权价格会直接污染回测结果建议每次研究开始时重新拉取。口径区分us_daily_adj复权用于收益与因子计算us_daily未复权用于估值与事件研究两者不可混用复权计算统一遵循「价格 × 复权因子 前复权价格」。容错处理exchange可能出现NAS/NYS/OTC/ARC等取值单日全市场数据量较大时注意内存与调用频率配合交易日历错峰拉取。通过以上章节你已完整掌握 Vibe-Trading 中 Tushare 美股复权行情接口的权限配置、参数语义、复权原理、调用写法与工程注意事项可以直接将其接入美股回测、因子研究与 Agent 数据工作流。【免费下载链接】Vibe-TradingVibe-Trading: Your Personal Trading Agent项目地址: https://gitcode.com/GitHub_Trending/vi/Vibe-Trading创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/10 20:54:20

北京GEO优化服务商推荐:北京企业选型清单

过去依靠网页排名即可覆盖的部分流量,如今正在被生成式回答重新分配。北京企业尤其需要关注AI平台中的品牌可见性、内容引用和业务转化之间的连接,而不是只比较套餐价格或宣传口号。 北京企业做GEO优化的三大核心价值 北京产业结构多元,企业在…

2026/9/10 23:29:41

高校奖学金管理系统设计与实现:规则引擎与区块链技术应用

1. 计算机系奖学金管理系统概述计算机系奖学金管理系统是针对高校计算机专业设计的专项管理软件,旨在实现奖学金评审全流程数字化。这个系统通常包含学生信息管理、成绩计算、评审规则配置、申请审核、公示公告等核心模块,能够显著提升院系奖学金管理效率…

2026/9/10 23:29:40

Vue3组合式API+Pinia实战:从零搭建待办清单应用

最近带几个学前端的朋友做小项目,我发现大多数人卡住的地方往往不是单个语法点,而是不知道怎么把组合式 API、Pinia 状态管理、单文件组件这些零散的东西串到一个完整项目里。所以这次我挑了待办清单这个经典到不能再经典的项目,用 Vue3 组合…

2026/9/10 23:29:40

Python自定义迭代器设计与高效应用指南

1. 自定义迭代器设计概述在Python编程中,迭代器(Iterator)是一个非常重要的概念,它允许我们按顺序访问集合中的元素而不需要暴露其底层实现。自定义迭代器的设计能力,是区分初级和高级Python开发者的关键技能之一。我曾…

2026/9/10 23:24:40

AI音频降噪实战:从原理到应急处理方案

1. 项目背景与核心挑战上周五下午4点23分,我盯着屏幕上那个鲜红的倒计时数字——距离方案提交截止还剩23小时37分钟。客户临时要求的"AI降噪处理"需求像块巨石压在胸口,而团队主力工程师正在休假。这种"死线前24小时极限操作"的戏码…

2026/9/10 16:39:38

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/10 11:16:38

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/9 16:31:09

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/10 0:00:55

目录对比去重实战:用哈希算法精准清理重复文件

我电脑里现在还有一块换了三次机的“数据墓地”硬盘,里面存着2016年以前所有旧笔记本的完整备份。平时不觉得有什么,直到前阵子想把它整理归档,发现同一个安装包、同一批照片、同一份论文草稿,在几个不同的备份目录里反复出现。更…

2026/9/10 0:00:55

Leaflet离线地图完整Demo合集:内网部署与坐标纠偏实战

简介:这是一份面向Web GIS开发者的LeafLet离线地图示例合集,帮助开发者快速掌握离线地图从搭建到交互的完整流程。压缩包共723个文件,大小14.06MB,以319个js脚本、175个html页面和29个css样式文件为主体,配合png/svg图…

2026/9/10 0:00:55

MATLAB读取Rinex 3.02观测文件:多系统GNSS数据解析实战

简介:基于MATLAB开发的Rinex3.02版观测文件(o文件)读取代码包,面向卫星定位导航方向的学习者与研究人员,用于解决新版观测文件的数据解析、历元提取与时间转换问题。压缩包共4个文件,包含两个m脚本、一个19…

2026/9/10 12:32:02

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/10 15:19:50

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/10 15:49:53

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码