该读哪一栏、多少算大,以及 130% 到底是谁的 130%。
把融资余额和加权指数叠在同一张图上,两条线几乎重合——2025-09-17~2026-09-15 这一年的相关系数是 +0.973。你以为找到了指标。但把样本期拉到 5 年,同一个相关系数就掉到 +0.417。这篇讲融资余额实际上是什么、该读哪一栏、多少算大,以及三个用官方原文与实测数字就能拆掉的误读。
融资余额是市场上尚未偿还的融资部位,以交易单位(张)计;同一张报表另有「融资金额」一栏,以千元计。它由各授信机构(含证金公司与自办信用交易证券商)回报、TWSE 汇整后公布。
三个常被混用的词,先分干净:
| 名词 | 是什么 | 谁算的 |
|---|---|---|
| 融资余额 | 尚未偿还的融资部位,单位张;另有融资金额,单位千元 | 授信机构回报、TWSE 汇整 |
| 融资限额 | 规则是该股上市股份的 25%:TWSE 报表注记写明「融资余额达该种股票上市股份25%时,暂停融资买进」「融资、融券余额达限额之八成时,次一营业日进行额度分配」 | 依规则计算,报表每日公布「次一营业日限额」 |
| 融资维持率 | 整户担保维持率,公式见下方「130% 是谁的 130%」 | 证券商按整户计算,不是按个股 |
上市及上柜皆为六成(60%),最低融券保证金成数 130%——出处是金管会令金管证投字第 1140381639 号,2025-04-07 生效。网络上大量文章仍写融券保证金 90%,那是 111-10-01 已废止的旧令,过期资讯。
TWSE 信用交易统计的字段是:项目|买进|卖出|现金(券)偿还|前日余额|今日余额。当日内部是自洽的,用 2026-09-15 全市场融资实际验算(单位张):
9,165,719(前日余额) + 226,366(买进) − 197,887(卖出) − 3,687(现金偿还) = 9,190,511(今日余额)
同日融资金额(千元)照同一条式子也对得上:583,877,609 + 16,290,924 − 17,615,398 − 312,670 = 582,240,465。
所以「前日余额里混了现金偿还」这个常见说法不成立——现金偿还是独立字段,已经从今日余额扣掉了。当日字段没问题,有问题的是跨日。
TWSE 在报表注记里把话讲得很白:
这不是客套话。实际对账(Blave 的融资数据序列,近 3 年仅取相邻交易日,排除数据缺口造成的假差异):
| 窗口 | 交易日 | 前日余额(T)≠ 今日余额(T−1) | 差额中位数 | p90 | 最大 |
|---|---|---|---|---|---|
| 近 3 年(2023-09-17 起) | 720 | 670 天(93.1%) | 5 张 | 124 张 | 524,851 张 |
多数日子差几张,无伤大雅;但偶尔会差到十万张等级。2024-12-11 那一笔一夜之间调掉 524,851 张,约当全市场余额的 5.7%——这一笔与 2026-09-07 的 +99,692 张都已回头抓 TWSE 原始报表二次验证,确定是官方数据本身的跨日调整,不是 Blave 这端处理出来的。成因方面,TWSE 只给了通则(次日调帐、上柜转上市并入时会调整前日余额),个案成因我们没查证,所以本文不推测。
会被改,而且官方讲明了。报表注记原文:
这一点跟三大法人刚好相反:三大法人是「以当日原始成交情形统计,不以证券商申报错帐、更正账号等调整后数据统计」的快照,公布之后不回头改(见〈三大法人买卖超怎么用〉)。同样是筹码面数据,一个会回头修正、一个不会,研究时的处理方式就不该一样。
另外,TWSE 的信用交易统计涵盖的是上市(集中市场);上柜的融资融券由柜买中心另表发布。讲「全市场融资余额」时,默认是上市。
全市场融资余额的水准与变动(Blave 的融资数据序列,上市市场):
| 指标 | 值 | 窗口 |
|---|---|---|
| 融资余额 | 9,190,511 张 | 2026-09-15(最新一笔) |
| 融资金额 | 5,822 亿元 | 同上 |
| 余额区间 | 7,236,488 ~ 9,618,551 张 | 2025-09-17~2026-09-15,n=229 |
| 每张融资金额 | 63,352 元(同窗口 36,381 ~ 65,907) | 同上 |
单日增减分布(今日余额 − 前日余额,张),同窗口 n=229:
| p05 | p25 | 中位数 | p75 | p95 | 平均 | 增加日占比 |
|---|---|---|---|---|---|---|
| −129,474 | −29,967 | +16,379 | +45,366 | +110,320 | +7,362 | 59.8% |
绝对值:增减中位数 40,316 张、p90 115,104 张、期间最大 442,947 张。也就是说,单日增减 4 万张上下是常态,超过 11.5 万张才进入这个窗口的前 10%。另外注意增加日占比 59.8%——融资余额本来就比较常往上走,看到「今天融资又增加」不必当成事件。
水准的高相关来自共同趋势,换个样本期就变了。实测(Blave 的融资数据序列,对加权指数):
| 窗口 | n | 水准 vs 指数收盘 | 当日增减 vs 当日报酬 | 当日增减 vs 隔日报酬 |
|---|---|---|---|---|
| 12 个月(2025-09-17~2026-09-15) | 229 | +0.973 | +0.595 | −0.069 |
| 5 年(2021-09-17 起) | 1,200 | +0.417 | +0.473 | −0.072 |
三件事一次看清楚:第一,水准相关 0.973 看起来像神器,但 5 年样本只有 0.417——同一个指标换个样本期,结论从「几乎完美」掉到「中等」,这就是趋势共振不是稳定关系。第二,改看变动量,当日相关就掉到 +0.595 上下。第三,对隔日报酬两个样本期都是 −0.07 左右,接近零。
这个模式跟三大法人是一样的:同日高相关、隔日接近掷硬币。筹码面数据告诉你「刚刚发生了什么」,不是「接下来会怎样」。
是整户的,不是你手上那一档的。依「证券商办理有价证券买卖融资融券业务操作办法」(115-01-09 版):
所以「跌到 130% 就被断头」这个讲法漏掉了两件事:算的是整户不是个股,而且中间还有补缴期。
顺带一个简化算例:以六成融资买进,开仓当下的担保维持率=1 ÷ 0.6 = 166.7%;要跌到 130%,股价需下跌 22%(130% × 60% = 78%)。这个算例假设单一部位、无其他担保品、无抵缴,实务上整户还有别的部位,数字会不一样。
很少。全市场融资维持率的分布(2002-11-26~2026-08-13,n=5,815,单位 %):
| p01 | p05 | p10 | p25 | 中位数 | p75 | p90 | 最大 |
|---|---|---|---|---|---|---|---|
| 124.4 | 135.8 | 141.6 | 153.4 | 164.0 | 170.6 | 175.9 | 210.4 |
门槛对照:低于 130% 的交易日占 2.39%(23 年里共 139 天,集中在 2002–2004 与 2008)、低于 140% 占 8.31%、低于 150% 占 20.53%。2021 年以来的最低是 2025-04-09 的 130.36%。截至 2026-08-13 的一年(n=243)区间 156.7 ~ 210.4,该日最后一笔 194.7。
from lib.data import fetch_twmarket_margin
m = fetch_twmarket_margin('2025-09-17', '2026-09-15', headers)
# 字段:margin_balance/margin_balance_prev(张)、margin_balance_value(元)、
# short_balance/short_balance_prev(张),2001-01-03 起
# 对的:同一列相减,这就是当日报表自己的口径
m['margin_chg'] = m['margin_balance'] - m['margin_balance_prev']
# 错的:跨列相减,会把隔夜调帐的差额混进当天的融资增减
m['margin_chg_wrong'] = m['margin_balance'].diff()
2023-09-17~2026-09-15 有 93.1% 的日子这两种算法会给出不同答案。多数时候差几张,但只要有一天差到 52 万张,你的信号就被那一天的假跳动带着走。
个股层走 API 端点 /studio/market/twstock/margin/<stock_id>,字段名称略有不同:个股是 margin_balance 与 margin_prev_balance(注意 prev 的位置和全市场那组不一样),单位同样是张。
# 级距取自 2025-09-17~2026-09-15 单日增减绝对值分位数:中位数 40,316 张、p90 115,104 张(n=229) BIG = 115_000 # 张;这是数据的级距,不是回测出来的参数 surge = m['margin_chg'] > BIG signal = primary.copy() # primary 是你自己的主信号 signal[surge] = 0.0 # 融资单日暴增的日子先不进场
再说一次:这个门槛回答的是「今天这个数字在历史上排第几」,不回答「这样做会不会赚」。后者只有回测能讲,而且要小心拿同一段数据反复调参数(见〈避免过度拟合〉)。
全市场融资维持率目前在 Studio 的台股「市场|融资融券」页看得到(大盘融资融券),Agent 的数据函数没有这条序列——要把维持率写进策略,现阶段做不到。
融资余额是日频数据,能调的是「读哪一栏、看哪一层、看几天」。
| 取法 | 适合 | 注意 |
|---|---|---|
| 今日余额 − 前日余额(同列) | 算当日融资增减,做研究的默认做法 | 这是官方口径;级距见值域表(中位 40,316 张、p90 115,104 张) |
| 今日余额跨列相减 | 不建议 | 93.1% 的日子会混进隔夜调帐;最大一笔差 524,851 张 |
| 融资余额水准 | 描述市场杠杆的高低位置 | 跟大盘高度共振(12 个月 r=+0.973、5 年 +0.417),本身不提供额外方向资讯 |
| 个股融资余额 | 个股筹码面条件 | 单位是张;字段是 margin_prev_balance,别跟全市场的写法搞混 |
本文范例用全市场的同列相减,理由是值域与相关性的实测都做在这一层,门槛级距才对得上;换到个股层,级距要用个股自己的分布重算。
该读哪一栏搞懂了,下一步是把它变成一个你能验证的条件:叫 Blave Agent 把这组数据抓下来、用同列相减算增减、写成滤网回测给你看——数据层与字段它都接好了。图也可以直接在 Studio 看:大盘融资融券、个股融资券。