ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Vibe-Trading 实战:Tushare 沪深股通十大成交股(hsgt_top10)接口全解析与北向资金信号构建

Vibe-Trading 实战:Tushare 沪深股通十大成交股(hsgt_top10)接口全解析与北向资金信号构建 Vibe-Trading 实战Tushare 沪深股通十大成交股hsgt_top10接口全解析与北向资金信号构建【免费下载链接】Vibe-TradingVibe-Trading: Your Personal Trading Agent项目地址: https://gitcode.com/GitHub_Trending/vi/Vibe-Trading本篇技术指南聚焦 Vibe-Trading 项目中 Tushare 技能库的核心行情接口之一——hsgt_top10沪深股通十大成交股系统讲解该接口的输入/输出参数、两种调用方式、数据样例解读并结合仓库内hk-connect-flow技能、northbound_tool.py工具及其测试用例说明如何把北向资金十大成交这一日频明细数据落地为可复用的资金流分析与交易信号。读完本文你将掌握hsgt_top10的完整用法、字段口径如净成交额与买卖金额的关系以及如何在 A 股资金流研究、行业轮动跟踪与策略回测中正确引用该数据源。一、接口定位沪深股通十大成交股在 Stock Connect 数据体系中的位置hsgt_top10是 Tushare 股票数据分类下行情数据子类的接口接口 ID 48用于获取沪股通、深股通每日前十大成交个股的详细数据官方数据更新节奏为每天 18~20 点之间完成当日更新。它回答的核心问题是某个交易日里通过沪深港通机制北向买入/卖出 A 股的聪明钱主要成交了哪些股票、净买卖了多少金额。在 Tushare 接口索引tushare/SKILL.md中该接口与下列接口共同构成沪深港通资金流数据族接口主题与 hsgt_top10 的关系hsgt_top10沪深股通十大成交股个股维度每日前十大成交明细本文主角ggt_top10港股通十大成交股港股通镜像接口结构一致用于南向资金moneyflow_hsgt沪深港通资金流向市场/通道维度汇总无个股明细hk_hold沪深股通持股明细存量持仓维度数据来源港交所stock_hsgt沪深港通股票列表标的范围维度判定某只股票是否可北向交易如果说过moneyflow_hsgt见 沪深港通资金流向.md回答的是北向整体净流入多少那么hsgt_top10回答的就是钱具体砸在了哪十只股票上。前者是总量后者是结构——两者结合才能完成从看方向到看偏好的完整分析闭环。二、输入参数详解hsgt_top10的全部入参均为可选必选标记 N组合规则为ts_code与trade_date二选一start_date/end_date用于按时间段查询。名称类型必选描述取值说明与建议ts_codestrN股票代码二选一Tushare 标准代码格式如600519.SH、000001.SZ按个股查询时返回该股票在查询区间内进入十大成交榜的日期记录trade_datestrN交易日期二选一日期格式YYYYMMDD如20180725精确到单日一次返回当日沪市或深市的前十大成交股start_datestrN开始日期与end_date配套使用格式同为YYYYMMDDend_datestrN结束日期区间查询的终止日期market_typestrN市场类型1沪市沪股通3深市深股通。不传时默认返回沪市数据这是区分两个北向通道的关键参数参数组合的三种典型用法单日单市场trade_date market_type例如20180725日的沪市十大成交股——这是复现某日北向买了什么的最直接方式单股区间ts_code start_date end_date跟踪一只股票如贵州茅台在一段时间内进入北向成交榜的历史轨迹单日双市场分别以market_type1与market_type3调用两次合并后即可得到当日沪深两市合计 20 只北向活跃成交股。需要注意该接口与moneyflow_hsgt不同moneyflow_hsgt每次最多返回 300 条记录且为市场汇总而hsgt_top10天然按日 × 市场切片单次返回量小每市场每交易日最多 10 条非常适合按日循环拉取长期历史。三、输出字段与口径说明名称类型描述口径说明trade_datestr交易日期YYYYMMDD格式与入参一致ts_codestr股票代码如600519.SHnamestr股票名称如贵州茅台closefloat收盘价当日收盘价元changefloat涨跌额与前一交易日收盘价的绝对价差元非涨跌幅百分比rankint资金排名当日该市场内北向成交金额排名1 为成交最活跃market_typestr市场类型1沪市3深市amountfloat成交金额元当日该股北向买卖双向成交总额net_amountfloat净成交金额元买入金额 − 卖出金额正值为净买入负值为净卖出buyfloat买入金额元北向买入该股的金额sellfloat卖出金额元北向卖出该股的金额字段之间的核心约束关系net_amount buy − sellamount ≥ buy sell中的任一单边即 amount 为双向成交合计。在实际数据分析中net_amount是判断外资当日对该股真实态度的最关键字段——成交额大但净额接近 0 表示换手活跃但方向中性净额显著为正/负才构成方向性信号。四、接口用法两种标准调用方式方式一属性式调用按交易日 市场类型import tushare as ts pro ts.pro_api() # token 已通过环境变量 TUSHARE_TOKEN 或本地配置初始化 # 获取 2018-07-25 沪市沪股通北向十大成交股 df pro.hsgt_top10(trade_date20180725, market_type1)方式二query 式调用按个股 时间区间import tushare as ts pro ts.pro_api() # 查询贵州茅台在 2018-07-01 至 2018-07-25 期间进入北向成交榜的记录 df pro.query(hsgt_top10, ts_code600519.SH, start_date20180701, end_date20180725)两种方式等价pro.hsgt_top10(...)是pro.query(hsgt_top10, ...)的语法糖。返回结果统一为pandas.DataFrame。若希望一次拿到沪深两市全部活跃股可循环market_typeimport pandas as pd def fetch_daily_top10(pro, trade_date: str) - pd.DataFrame: 获取某交易日沪深两市北向十大成交股并合并。 frames [] for mkt in (1, 3): # 1沪市, 3深市 part pro.hsgt_top10(trade_datetrade_date, market_typemkt) if part is not None and not part.empty: frames.append(part) return pd.concat(frames, ignore_indexTrue) if frames else pd.DataFrame()五、数据样例逐行解读接口文档给出 2018-07-25 沪市market_type1的样例数据这里取其中三行演示口径trade_date ts_code name close change rank market_type \ 0 20180725 600009.SH 上海机场 62.69 2.0677 9 1 3 20180725 600276.SH 恒瑞医药 71.89 1.2393 5 1 4 20180725 600519.SH 贵州茅台 743.81 -0.2133 2 1 amount net_amount buy sell 0 240958518.0 31199144.0 136078831.0 104879687.0 3 329472455.0 -71519443.0 128976506.0 200495949.0 4 508590993.0 226149667.0 367370330.0 141220663.0贵州茅台600519.SH排名第 2成交金额约 5.09 亿元净买入约 2.26 亿元买 3.67 亿 − 卖 1.41 亿。当日收盘微跌change 为 −0.21 元但外资大幅净买入属于典型的股价下跌、北向逆势吸筹信号。恒瑞医药600276.SH排名第 5成交约 3.29 亿元净买入约−0.72 亿元买 1.29 亿 − 卖 2.00 亿。成交额大但为净卖出说明当日外资对该股以兑现为主。上海机场600009.SH排名第 9成交约 2.41 亿元净买入约 0.31 亿元方向温和偏多。对照可发现仅看成交额amount会误判方向例如恒瑞医药与贵州茅台成交额都很大但净额一负一正、方向完全相反。任何基于该接口的策略都必须以net_amount或buy、sell差为核心amount/rank仅用于衡量活跃度。六、仓库源码级应用Vibe-Trading 中的北向资金实现6.1 hk-connect-flow 技能十大成交股直接参与信号构建在 Vibe-Trading 的 hk-connect-flow/SKILL.md 技能文档中hsgt_top10被明确列为 Stock Connect 资金流分析的三大数据入口之一# Top 10 Northbound active stocks df pro.hsgt_top10(trade_date20260328, market_type1) # 1Shanghai, 3Shenzhen # Columns: trade_date, ts_code, name, close, change, rank, market_type, # amount (trade amount), net_amount (net buy), buy, sell该技能文档进一步将十大成交股抽象为复合信号中的northbound_breadth北向广度维度northbound_breadth: 0, # -2 to 2: number of NB top-10 holdings being added to即统计每日hsgt_top10榜单中被净买入的股票数量占榜单比例作为衡量北向资金做多扩散度的指标。若前十大成交股中 8 只净买入breadth 高分说明外资方向一致、风险偏好抬升反之若大面积净卖出即使个别股票成交额巨大整体信号也偏谨慎。此外该技能还给出一个实用的集中度指标NB Top 10 concentrationTop 3 names 50% concentrated bet即前三大成交股占榜单总成交额过半时说明北向资金把筹码集中在少数核心标的上属于高确信度的结构性押注。6.2 northbound_tool.py市场级北向流的工程化实现除 Tushare 外Vibe-Trading 还通过 northbound_tool.py 提供市场级北向资金工具get_northbound_flow其数据主源是东方财富的kamtkapit 资金接口Tushare 作为**降级回退fallback**路径。该工具的实现细节对理解hsgt_top10的应用场景有重要参考价值工具描述中明确区分了市场级总量与个股级明细This is a market-level total, NOT per-stock flow (for a given symbols order-bucket inflow use get_fund_flow)。对应到 Tushare 生态moneyflow_hsgt提供市场总量hsgt_top10提供个股活跃度明细二者是互补关系回退逻辑fetch_northbound_flow见 tushare_fallbacks.py实际调用pro.moneyflow_hsgt(start_date..., end_date...)并对hgt沪股通百万元、sgt深股通百万元、north_money北向资金百万元做单位换算后归一为统一的shanghai_connect/shenzhen_connect/total三通道结构测试用例 test_northbound_tool.py 完整覆盖了成功响应、-缺失值处理、lookback 截断与失败降级四条路径验证了先主源、再回退、最终错误信封的健壮性模式。从源码结构看在 Vibe-Trading 的 Agent 工具链中北向资金被抽象为市场总量get_northbound_flow 个股资金流get_fund_flow 技能知识hk-connect-flow三层hsgt_top10对应的正是个股活跃度/广度这一层供策略 Agent 在撰写个股资金流分析报告或构建跨市场信号时直接查询。6.3 与关联接口的组合查询范式在实际研究中hsgt_top10通常与下列 Tushare 接口组合使用组合目的hsgt_top10moneyflow_hsgt总量方向结构标的验证净流入是普涨还是集中hsgt_top10hk_hold沪深股通持股明细当日成交活跃度 存量持仓变化区分交易型与配置型外资hsgt_top10daily历史日线将十大成交股的净买入信号与个股价格走势对齐构建选股因子hsgt_top10ggt_top10北向外资买 A与南向内资买 H联动分析见 港股通十大成交股七、实战用 hsgt_top10 构建北向资金个股信号综合接口字段与 hk-connect-flow 技能框架可写出如下最小可用的信号构建代码import tushare as ts import pandas as pd pro ts.pro_api() def northbound_top10_signal(pro, trade_date: str) - pd.DataFrame: 汇总某日沪深两市北向十大成交并标注方向信号。 frames [] for mkt in (1, 3): part pro.hsgt_top10(trade_datetrade_date, market_typemkt) if part is not None and not part.empty: frames.append(part) df pd.concat(frames, ignore_indexTrue) # 方向判定净买入 / 净卖出 / 方向中性 def direction(row): if row[net_amount] 0: return net_buy if row[net_amount] 0: return net_sell return neutral df[direction] df.apply(direction, axis1) # 广度指标净买入标的数 / 榜单总数对应技能中的 northbound_breadth breadth (df[direction] net_buy).sum() / len(df) # 集中度指标前三大成交股占榜单总成交额比例 top3_concentration df.nlargest(3, amount)[amount].sum() / df[amount].sum() return df, {breadth: breadth, top3_concentration: top3_concentration} df, metrics northbound_top10_signal(pro, 20180725) print(df[[ts_code, name, rank, amount, net_amount, direction]]) print(metrics)信号解读规则来源于 hk-connect-flow 技能的分析框架breadth 0.7且榜单中消费/金融权重股净买入居多 → 外资防御性配置、态度积极top3_concentration 0.5→ 筹码集中于少数核心标的属于高确信度押注榜单大面积净卖出且同期moneyflow_hsgt的north_money为负 → 系统性风险偏好收缩通常与汇率CNY 走弱相关。八、使用注意事项数据更新时点当日数据在每天 18~20 点之间完成更新盘中查询当日数据可能返回空或前一日数据适合做盘后研究而非盘中实时信号日频、滞后性该接口为 Tushare 日度切片接口天然滞后一个交易日用于回测与复盘是合理的但不适合超短线实时跟踪——实时北向总量可参考 Vibe-Trading 的get_northbound_flow工具东方财富源见 northbound_tool.py单位与口径amount、net_amount、buy、sell单位均为元而moneyflow_hsgt的hgt/sgt/north_money单位是百万元两者混用时务必换算避免量级错误可参考 tushare_fallbacks.py 中 ×100 的单位归一处理change是涨跌额而非涨跌幅样例中贵州茅台change-0.2133表示收盘价较前日下跌 0.2133 元约合 −0.03%分析时如需涨跌幅需自行结合close计算或调用daily接口榜单范围限制该接口只覆盖当日进入前十大成交的个股每市场每日 10 条属于活跃度截尾数据不能据此推断北向资金的全部持仓行为完整持仓应使用hk_hold持股明细接口调用权限与限流按 Tushare 官方积分体系类似资金流接口对积分有要求如moneyflow_hsgt需 2000 积分起、5000 积分每分钟 500 次生产环境批量拉取历史时应参考接口文档的积分说明并注意控制调用频率。九、小结hsgt_top10是理解北向资金个股层面行为的轻量级、结构化入口五个人参即可覆盖单日、单股、区间三类查询场景十一个输出字段完整刻画了活跃度rank/amount与方向net_amount/buy/sell两个正交维度。在 Vibe-Trading 中它上承hk-connect-flow技能的北向广度与集中度信号框架下接get_northbound_flow的市场级工具链是 Agent 进行 A 股资金流分析、行业轮动判断与策略复现时可靠的数据基石。建议读者结合 tushare/SKILL.md 的接口索引将hsgt_top10与moneyflow_hsgt、hk_hold、ggt_top10等接口串联使用形成总量—结构—持仓三位一体的北向资金研究流水线。本文所有接口参数、字段口径与调用示例均以仓库内 沪深股通十大成交股.md 文档为基准并结合 Vibe-Trading 仓库源码与测试进行验证。文中数据与信号框架仅用于技术研究不构成任何投资建议。【免费下载链接】Vibe-TradingVibe-Trading: Your Personal Trading Agent项目地址: https://gitcode.com/GitHub_Trending/vi/Vibe-Trading创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表