
Vibe-Trading 实战基于 Tushare margin 接口构建融资融券交易汇总数据分析流水线【免费下载链接】Vibe-TradingVibe-Trading: Your Personal Trading Agent项目地址: https://gitcode.com/GitHub_Trending/vi/Vibe-Trading融资融券交易汇总接口margin是观察 A 股杠杆资金动向的核心数据源它按交易所维度汇总每日融资买入、融资偿还、融券卖出与各类余额直接支撑市场情绪研判、板块轮动追踪与系统性风险监控。本文以 Tushare 官方接口文档 融资融券交易汇总 为骨架结合 Vibe-Trading 仓库中 Tushare Skill 的实际配置方式、同系列接口与情绪分析应用完整讲解该接口的参数语义、返回字段、计算口径、权限限制与批量拉取实战帮助你直接将其接入自己的量化数据流水线。一、接口概述定位、数据来源与权限门槛margin接口用于获取沪深京三市每日融资融券交易汇总数据即把全市场所有融资融券标的按交易所聚合为每日一行。它与同目录下的明细接口互补接口名接口 ID粒度说明margin58交易所 × 交易日融资融券交易汇总本文主角margin_detail59个股 × 交易日融资融券交易明细见 融资融券交易明细margin_secs326标的列表融资融券标的盘前更新见 融资融券标的(盘前).md)slb_len331转融资汇总转融通融资汇总见 转融资交易汇总完整接口清单含 ID、分类、描述记录在 SKILL.md 的数据接口列表中margin归入「股票数据 / 两融及转融通」分类。关于该接口需要记住三个硬性约束限量单次请求最大返回4000 行数据超出部分需要按日期循环分页拉取权限2000 积分可获得本接口权限积分越高权限越大更高积分通常对应更宽松的调用频次与总量限制数据来源融资融券数据从证券交易所网站直接获取提供了有记录以来的全部汇总和明细数据。根据交易所网站提示数据根据券商申报的数据汇总由券商保证数据的真实、完整、准确。二、输入参数详解四种筛选维度margin接口的全部输入参数均为可选必选列均为 N支持按交易日、日期区间与交易所任意组合筛选名称类型必选描述trade_datestrN交易日期格式YYYYMMDD下同start_datestrN开始日期end_datestrN结束日期exchange_idstrN交易所代码SSE上交所、SZSE深交所、BSE北交所使用要点单日查询直接传trade_date返回当日全部交易所的汇总行每交易所一行区间查询传start_date/end_date适合一次拉取多日数据但要受 4000 行上限约束单所筛选叠加exchange_id可只取特定交易所例如只看上交所SSE的融资融券余额既缩小返回体积也是规避 4000 行上限的常用手段日期格式务必统一为YYYYMMDD与 Tushare 全站参数格式约定一致SKILL.md 中「参数格式说明」明确日期为 YYYYMMDD股票代码为 ts_code 格式返回 pandas DataFrame。三、输出参数详解九个字段的业务含义接口返回 9 个字段覆盖融资rz 前缀与融券rq 前缀两条业务线名称类型描述trade_datestr交易日期exchange_idstr交易所代码SSE 上交所 / SZSE 深交所 / BSE 北交所rzyefloat融资余额元rzmrefloat融资买入额元rzchefloat融资偿还额元rqyefloat融券余额元rqmclfloat融券卖出量股/份/手rzrqyefloat融资融券余额元rqylfloat融券余量股/份/手理解这组字段的关键在单位与口径金额类字段rzye、rzmre、rzche、rqye、rzrqye单位均为元从样例数据可见其数值量级为e11数千亿元读作时应除以 1e8 换算为亿元便于展示数量类字段rqmcl、rqyl单位为股/份/手标的证券为股票时按股、为基金时按份、为债券时按手该单位说明同时出现在明细文档 融资融券交易明细 中rzrqye融资融券余额rzyerqye是全市场杠杆资金规模的直接量度。四、快速上手Token 配置与两种调用方式在 Vibe-Trading 仓库中Tushare 的 Token 通过环境变量TUSHARE_TOKEN配置其声明位于 env_schema.pytushare_token: str Field(aliasTUSHARE_TOKEN, default)。配置方式有两种# 方式一命令行环境变量 export TUSHARE_TOKENyour_token # 方式二项目配置中心等价于写入 TUSHARE_TOKEN 环境变量 # 详见 agent/src/api/settings_routes.py 中 token 的保存与注入逻辑示例脚本 股票数据获取示例 给出了标准的初始化模式——优先读取项目配置中心的 Token缺失时回退到 tushare 本地记录的 Tokenimport os import tushare as ts import pandas as pd from src.config.accessor import get_env_config token get_env_config().data.tushare_token or ts.get_token() pro ts.pro_api(token)初始化pro实例后margin接口支持两种等价调用方式# 方式一直接方法调用 df pro.margin(trade_date20180802) # 方式二通用 query 接口 df pro.query(margin, trade_date20180802, exchange_idSSE)返回值为 pandas DataFrame。以trade_date20180802为例原始数据样例为trade_date exchange_id rzye rzmre rzche \ 0 20180802 SZSE 3.495054e11 1.347549e10 1.463921e10 1 20180802 SSE 5.311746e11 1.484584e10 1.573947e10 rqye rqmcl rzrqye 0 1.083380e09 24418046.0 3.505888e11 1 6.029618e09 83721012.0 5.372042e11可见 2018-08-02 当天深市SZSE融资余额约 3495 亿元、沪市SSE约 5312 亿元两者相加即为当日全市场融资余额。建议在读取后对trade_date统一做字符串到datetime的转换并将金额列除以 1e8 转换为「亿元」单位以便可视化。五、批量拉取实战突破 4000 行上限单次请求最多返回 4000 行而 A 股 2010 年至今约 3700 个交易日按交易所展开约 1 万行以上因此多日期历史回补必须循环拉取。推荐两种策略策略一按交易日逐日拉取最稳健import tushare as ts pro ts.pro_api() def fetch_margin_by_day(start_date: str, end_date: str): 逐日拉取每天一次请求天然规避 4000 行上限。 import pandas as pd from tushare.util import dateu as _ # 仅示意实际可用交易日历接口生成日期序列 frames [] # 用 trade_cal 接口生成 A 股交易日序列再逐日请求 cal pro.trade_cal(exchangeSSE, start_datestart_date, end_dateend_date, is_open1) for day in cal[cal_date].tolist(): df pro.margin(trade_dateday) if df is not None and not df.empty: frames.append(df) return pd.concat(frames, ignore_indexTrue) margin_all fetch_margin_by_day(20240101, 20241231)策略二按日期区间 交易所拆分请求数更少单日两市最多 3 行SSE/SZSE/BSE4000 行上限意味着单次请求可覆盖上千个交易日。若只需单一交易所可放心使用大区间# 单所大区间上交所 2024 全年一次拉取 df pro.margin(exchange_idSSE, start_date20240101, end_date20241231) # 跨所全量时再对每个交易所分别拉取后 concat import pandas as pd parts [] for ex in (SSE, SZSE, BSE): parts.append(pro.margin(exchange_idex, start_date20240101, end_date20241231)) df pd.concat(parts, ignore_indexTrue).sort_values([trade_date, exchange_id])实战建议以exchange_id为主拆分维度、以日期区间为次拆分维度既能把每次返回控制在限额内又便于按交易所建分区表。拉取后注意两点一是BSE北交所纳入两融体系的时间较晚早期日期没有对应记录属正常现象二是节假日无交易日数据拼接结果中天然缺行。六、数据口径与统计规则理解余额是如何算出来的要正确解读字段必须掌握交易所的汇总口径。文档「说明」部分明确给出了四组递推公式本日融资余额(元) 前日融资余额 本日融资买入 - 本日融资偿还额 本日融券余量(股) 前日融券余量 本日融券卖出量 - 本日融券买入量 - 本日现券偿还量 本日融券余额(元) 本日融券余量 × 本日收盘价 本日融资融券余额(元) 本日融资余额 本日融券余额这组公式有三个值得注意的推论融资余额是存量而非流量它反映的是「截至当日收盘全市场借来的资金还剩多少」因此跨日对比要关注净变化量融资净买入 rzmre - rzche而非原始余额本身融券余额依赖收盘价rqye不是直接申报值而是「融券余量 × 当日收盘价」的估值因此同一天融券余量不变时个股价格波动也会引起融券余额变化——解读时要分清是「量的变化」还是「价的变化」2014-09-22 起口径扩大自该日起「融资融券交易总量」数据包含调出标的证券名单的证券的融资融券余额。也就是说标的调出两融名单后其存量余额仍被计入汇总历史对比跨过这一日期时要注意口径跳变避免把口径变化误读为资金面变化。另外转融资slb_len接口的样例显示其金额单位为亿元字段ob/cb为期初/期末余额与margin接口的「元」不同跨接口对账时务必先统一单位参见 转融资交易汇总。七、在 Vibe-Trading 中的实战应用从数据到信号融资融券汇总数据在 Vibe-Trading 中并不只是孤立的数据源而是被纳入情绪分析与板块轮动等研究链路1. 杠杆资金情绪信号情绪分析 Skill情绪分析 的「融资融券信号A股」章节给出了基于这些字段的研判框架融资余额底部企稳后连续增加是看多信号高位加速增加则需警惕过热历史极端值如 2015 年牛市顶部约 2.27 万亿、2018 年熊市底部约 0.76 万亿融资净买入连续 5 天净买入看多连续 5 天净卖出看空融券余额大幅增加后回落代表空头回补偏多突然大增则提示有人集中做空融资/融券比比值回落后反弹偏多极端高位提示杠杆过热经验法则融资余额月增/月减超 10% 分别触发过热与恐慌警示。用margin汇总数据落地这些规则非常直接rzye的周环比/月环比对应「融资余额变化率」rzmre - rzche对应「融资净买入」rqye对应「融券余额」。同时注意该 Skill 中特别提醒融资融券数据为 T1 日公布存在滞后信号落地时需错位对齐交易日期避免未来函数。2. 板块与市场轮动的杠杆验证行业轮动 Skill行业轮动 将「融资余额变化」作为杠杆资金方向指标纳入轮动因子库用于验证趋势强度融资余额持续流入通常与指数上行互相印证反之则提示趋势资金动能减弱。汇总数据的交易所粒度恰好适合做「沪市 vs 深市」的杠杆结构对比结合margin_detail的个股粒度可下钻到具体标的。3. 与其他数据源的交叉验证两融数据同样由东方财富 Skill 提供免费免鉴权入口get_margin_trading见 Eastmoney Skill可与 Tushare 的margin/margin_detail做双源交叉校验发现某个源数据缺失或异常时自动降级到另一源数据路由层在 contenteditable="false">【免费下载链接】Vibe-TradingVibe-Trading: Your Personal Trading Agent项目地址: https://gitcode.com/GitHub_Trending/vi/Vibe-Trading创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考