
Vibe-Trading 实战指南用 Tusharestk_holdertrade接口构建股东增减持信号监控【免费下载链接】Vibe-TradingVibe-Trading: Your Personal Trading Agent项目地址: https://gitcode.com/GitHub_Trending/vi/Vibe-Trading股东增减持是 A 股市场最重要的事件驱动信号之一控股股东增持往往被解读为信心背书而集中减持则常被视为风险警示。本文以 Vibe-Trading 仓库内 Tushare 技能库中的官方接口文档 股东增减持 为核心完整讲解stk_holdertrade接口的参数、返回字段、调用示例与数据样例并结合仓库中的 Tushare 技能入口、公司事件驱动分析技能 与 股票数据获取示例脚本 等源码证据说明如何在 Vibe-Trading 中完成 Token 配置、数据拉取与信号加工让读者能够独立搭建一套股东增减持监控与事件驱动的量化分析流程。一、接口概览stk_holdertrade是什么stk_holdertrade是 Tushare Pro 提供的一个股东增减持数据接口用于获取上市公司重要股东公司、个人、高管在近期及历史上的股份增减持变动情况。它回答的核心问题是谁、在什么时间、以什么方式、变动了多少股份、变动后持股比例如何。在 Vibe-Trading 的技能体系中该接口被归入股票数据 / 参考数据分类接口 ID 为175在 Tushare 技能的数据接口列表 中的描述为获取上市公司增减持数据了解重要股东近期及历史上的股份增减变化。该接口的实际业务价值集中体现在 corporate-events 技能 中Vibe-Trading 将大股东/高管增减持的信号提取列为事件驱动分析的核心场景之一。技能文档给出了明确的信号强度分层——控股股东增持超过总股本 1% 视为强看多信号20 日超额收益参考区间 8~12%控股股东计划减持超过总股本 2% 视为强看空信号20 日超额收益参考区间 -5~10%并强调公告后 3 日信息冲击最大、公告后 20 日超额收益基本消化的关键窗口期。stk_holdertrade正是支撑这套信号体系的第一手数据来源。需要特别说明的是该技能同时提示了数据的时效边界Tushare 提供增减持数据接口但实时性不足T1 或更慢数据以公告日ann_date为准适合做盘后监控与事件研究不适合盘中抢跑。使用前提与限制限量单次最大提取 3000 行记录总量不限制。历史数据可以按日期区间多次循环拉取补齐。积分用户需要至少 2000 积分才可以调取基础积分有流量控制积分越多权限越大5000 积分以上无明显限制。日期格式ann_date、start_date、end_date均使用YYYYMMDD格式如20241231。股票代码使用ts_code格式如000001.SZ、600000.SH。返回格式pandas DataFrame。二、环境准备与 Token 配置在使用stk_holdertrade之前需要完成 Tushare 环境的初始化。根据 Tushare 技能快速上手步骤如下安装 Python 3.7 运行环境并安装 Tushare 依赖包推荐从清华 PyPI 镜像安装pip install tushare -i https://pypi.tuna.tsinghua.edu.cn/simple在 Tushare 官网注册获取 token并配置环境变量export TUSHARE_TOKENyour_token在代码中初始化pro接口实例import os import tushare as ts # 读取环境变量中的 token或者读取本地记录的 token token os.getenv(TUSHARE_TOKEN) or ts.get_token() # 初始化 pro 接口实例 pro ts.pro_api(token)Vibe-Trading 对 Token 的管理更进一步仓库 env_schema.py 将TUSHARE_TOKEN声明为受支持的环境变量配置项tushare_token: str Field(aliasTUSHARE_TOKEN, default)并且 股票数据获取示例脚本 展示了统一读取方式from src.config.accessor import get_env_config token get_env_config().data.tushare_token or ts.get_token() pro ts.pro_api(token)即优先从项目统一配置中心读取tushare_token缺失时回退到 Tushare 本地缓存的 token。这也意味着在 Vibe-Trading 中用户既可以通过系统环境变量注入 Token也可以通过项目配置中心管理两种方式都无需将密钥硬编码在脚本里。三、输入参数详解stk_holdertrade接口的输入参数均为可选参数必选列全部为 N意味着可以单独按日期拉取全市场数据也可以按股票代码精准定位单只标的。名称类型必选描述ts_codestrNTS 股票代码ann_datestrN公告日期start_datestrN公告开始日期end_datestrN公告结束日期trade_typestrN交易类型IN 增持 / DE 减持holder_typestrN股东类型C 公司 / P 个人 / G 高管参数组合的实战含义ts_code只传单只股票代码返回该股的全部历史增减持记录适合个股维度的深度研究如观察某公司控股股东历次增持的成本区间与持股变化。ann_date传单个公告日返回当日全市场所有公告增减持的公司与股东适合构建每日事件流daily event feed。start_dateend_date传公告日期区间用于回补历史窗口的数据是量化回测中构建事件样本集的推荐方式。trade_typeIN只看增持、DE只看减持用于快速拆分多空信号池。holder_type按股东身份过滤C公司产业资本、P个人、G高管。结合 corporate-events 技能的信号分层G高管集体增持≥3 人是中等级别看多信号而控股股东通常为 C 类大额增持属于强信号此参数可用于精确筛选信号主体。四、输出字段解读接口返回的 DataFrame 包含 12 个字段其中 10 个默认显示、2 个按需输出名称类型默认显示描述ts_codestrYTS 代码ann_datestrY公告日期holder_namestrY股东名称holder_typestrY股东类型G 高管 / P 个人 / C 公司in_destrY类型IN 增持 / DE 减持change_volfloatY变动数量change_ratiofloatY占流通比例%after_sharefloatY变动后持股after_ratiofloatY变动后占流通比例%avg_pricefloatY平均价格total_sharefloatY持股总数begin_datestrN增减持开始日期close_datestrN增减持结束日期这些字段恰好覆盖了事件驱动策略所需的全部关键信息身份维度holder_nameholder_type确定谁在动。结合 corporate-events 技能的过滤规则——排除被动减持质押平仓、保留竞价减持真正看空——可以在拿到holder_name后进一步与质押、大宗交易数据交叉核对识别主动与被动减持。力度维度change_vol与change_ratio占流通比例用于匹配信号强度阈值。例如技能文档中的强看多标准控股股东增持 总股本 1%即可以通过change_ratio 1.0直接筛选强看空标准计划减持 总股本 2%可对应change_ratio 2.0的 DE 记录。成本维度avg_price提供股东增持/减持的平均成交价格可用于计算当前股价相对股东成本位的偏离度如股价跌破大股东增持均价往往被视为安全边际参考。持仓维度after_share、after_ratio、total_share反映变动后的持股全景用于判断事件对股东地位的影响是否可能触发实际控制权变化或减持合规压力。时间维度begin_date与close_date默认不显示需在fields参数中显式声明标定增减持的实际执行区间ann_date则是事件驱动交易的关键时间锚点——Vibe-Trading 的事件交易窗口T 日公告、T3 日信息冲击、T20 日超额收益消化均以ann_date为基准对齐。五、接口调用示例原接口文档给出了三个标准调用示例# 获取单日全部增减持数据 df pro.stk_holdertrade(ann_date20190426) # 获取单个股票数据 df pro.stk_holdertrade(ts_code002149.SZ) # 获取当日增持数据 df pro.stk_holdertrade(ann_date20190426, trade_typeIN)在此基础上结合本文前面梳理的参数语义可以扩展出更贴合实战的调用组合# 获取指定日期区间的全部增减持记录回测事件样本集 df pro.stk_holdertrade(start_date20240101, end_date20241231) # 获取单只股票在时间区间内的全部记录 df pro.stk_holdertrade(ts_code002149.SZ, start_date20240101, end_date20241231) # 只看高管增持配合 fields 显式输出隐藏字段 df pro.stk_holdertrade(holder_typeG, trade_typeIN, start_date20240101, end_date20241231, fieldsts_code,ann_date,holder_name,holder_type,in_de, change_vol,change_ratio,avg_price,begin_date,close_date) # 只看公司法人减持 df pro.stk_holdertrade(holder_typeC, trade_typeDE, start_date20240101, end_date20241231)需要注意两个工程细节单次限量 3000 行拉取全市场长区间数据时应按照公告日期逐日或逐月分片循环请求再pd.concat合并避免因超限被截断导致数据缺失。fields参数begin_date与close_date默认不显示需要时必须在fields中显式声明否则 DataFrame 中不会出现这两列。六、数据样例解读原接口文档提供了一份 2019-04-26 公告日的真实数据样例节选如下ts_code ann_date holder_name holder_type in_de 0 300216.SZ 20190426 郑国胜 P DE 1 300216.SZ 20190426 黄盛秋 P DE 2 300216.SZ 20190426 刘燕 G DE 3 300216.SZ 20190426 邓铁山 G DE 4 002806.SZ 20190426 广东省科技创业投资有限公司 C DE 5 603801.SH 20190426 尚志有限公司 C DE 6 600728.SH 20190426 重庆中新融鑫投资中心(有限合伙) C DE 7 300115.SZ 20190426 新疆长盈粤富股权投资有限公司 C DE 8 300115.SZ 20190426 新疆长盈粤富股权投资有限公司 C DE 9 601288.SH 20190426 上海锦江国际旅游股份有限公司 C DE 10 603906.SH 20190426 建投嘉驰(上海)投资有限公司 C DE change_vol change_ratio after_share after_ratio avg_price total_share 0 387871.0 0.1356 3385659.0 1.1834 3.8100 3385659.0 1 49056.0 0.0171 1194457.0 0.4175 3.7800 1194457.0 2 498062.0 0.1741 0.0 NaN 3.6700 8892000.0 3 2358900.0 0.8245 25.0 0.0000 3.2100 7076800.0 4 1086100.0 1.8826 10836700.0 18.7838 21.5100 25499200.0 5 3200000.0 3.8450 6808299.0 8.1806 31.5500 6808299.0 6 14710000.0 0.9170 76942195.0 4.7965 9.9400 76942195.0 7 9470000.0 1.0457 378846759.0 41.8343 13.6400 378846759.0 8 8690000.0 0.9596 370156759.0 40.8748 13.6800 370156759.0 9 14868500.0 0.0051 0.0 NaN NaN 0.0 10 2540640.0 2.7223 22144800.0 23.7286 13.0241 22144800.0对这份样例的读取要点单日全市场事件流仅 20190426 一个公告日就能同时覆盖创业板300/002 开头、沪市主板60 开头的多家公司且holder_type同时包含个人P、高管G与公司法人C三类主体说明该接口可以低成本地构建全市场每日增减持事件流。字段语义验证第 0 行郑国胜减持change_vol387871股变动后持股after_share3385659占流通比例从变动后的after_ratio1.1834%可以反推出减持力度为流通盘的 0.1356%与change_ratio一致第 2、9 行after_share0且after_ratioNaN代表该股东已清仓离场——这种清仓式减持在事件驱动框架中属于需要重点警示的信号。成本位信息多数记录带有avg_price如第 4 行 21.51 元、第 5 行 31.55 元可将其作为后续追踪股东成本位与当前股价偏离度的基准第 9 行avg_priceNaN则提示数据缺失场景需要容错处理。七、与相邻数据接口的配合使用stk_holdertrade并不是孤立的数据源。在 Vibe-Trading 的 Tushare 技能库中围绕股权结构与股东行为主题还有一批可与其交叉验证的接口均位于 参考数据目录股东人数stk_holdernumber股东户数持续下降通常伴随筹码集中与增持事件叠加可增强看多信号。前十大股东top10_holders核对增减持主体是否为前十大股东、变动后是否影响排名。前十大流通股东top10_floatholders配合流通盘口径的持股变化。股权质押明细数据pledge_detail与 股权质押统计数据pledge_stat用于识别被动减持质押平仓这正是 corporate-events 技能要求排除的噪音。大宗交易block_trade判断减持是否通过大宗交易折价完成——技能文档提示大宗交易折价减持可能是换手不是看空。限售股解禁share_float解禁后首次减持是中等级别看空信号解禁时间表可为减持预警提供前瞻窗口。股票回购repurchase增持与回购同属组合拳护盘信号corporate-events 技能提示多个正面事件叠加时信号增强。八、在 Vibe-Trading 中的实战落地路径综合本文内容在 Vibe-Trading 中落地一套股东增减持监控流程可以按以下路径组织数据获取层按 Tushare 技能快速上手 完成环境安装与 Token 配置通过pro.stk_holdertrade(ann_date...)按公告日增量拉取每日事件流或按start_date/end_date回补历史样本注意 3000 行限量长区间分片循环。信号加工层以in_de拆分多空方向以holder_type识别信号主体C 公司 / P 个人 / G 高管以change_ratio匹配 corporate-events 技能 中的信号强度阈值增持 1% 强看多、减持 2% 强看空、高管集体增持 ≥3 人中等看多并剔除被动减持、大宗折价换手等噪音。事件对齐层以ann_date为 T 日按技能文档建议的 T-30~T-1 事前窗口、T 日公告冲击、T1~T20 事后窗口组织回测与信号评价结合avg_price计算股东成本位偏离结合after_ratio监控清仓式减持风险。交叉验证层与股东人数、前十大股东、质押、解禁、回购、大宗交易等相邻接口联合使用形成完整的事件驱动证据链并始终注意 T1 实时性边界与内幕交易风险提示。参考文档与源码路径接口原始文档股东增减持技能入口与完整接口列表Tushare SKILL.md事件驱动分析框架信号分层与窗口期corporate-events SKILL.md股票数据获取示例stock_data_example.pyToken 配置项声明env_schema.py相邻参考数据接口前十大股东、股东人数、股权质押明细数据、大宗交易【免费下载链接】Vibe-TradingVibe-Trading: Your Personal Trading Agent项目地址: https://gitcode.com/GitHub_Trending/vi/Vibe-Trading创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考