FINRA融資負債統計怎麼看?發布時間與歷史資料
說明 FINRA Rule 4521(d)申報規則、次月第三週發布、四至七週時間差,以及如何解讀自1997年起的融資負債歷史資料。
FINRA 融資負債統計是每月彙整投資人以券商帳戶作為擔保所借入金額的資料,涵蓋所有為客戶提供融資帳戶的券商。其標題數據是客戶借方餘額總額,單位為美元,統計時點為當月最後一個營業日。資料會在次月第三週對外發布,因此發布時距統計時點已有四至七週。
FINRA 融資負債統計的衡量內容
這項申報依據 FINRA Rule 4521(d)辦理。每一家為客戶提供融資帳戶的會員,均須以結算日為基準,申報截至當月最後一個營業日,所有證券融資帳戶的借方餘額總額,以及所有現金帳戶與證券融資帳戶的自由貸方餘額總額。
這兩項總額構成完整的統計序列。借方餘額就是貸款,代表客戶以借入資金買進證券後欠券商的金額。將全產業數據加總後,所得數字就是通常所稱的融資負債。自由貸方餘額則是另一側,代表存放在券商處、可隨時要求支付的客戶現金;申報表會將其分為現金帳戶與融資帳戶。
有四項細節會影響數據解讀。
- 借方餘額以總額計入。放空市值包含在內,不會與放空貸方餘額互相抵銷。
- 自由貸方餘額不包括放空帳戶餘額與特殊備忘帳戶。
- 以結算日為基準,表示交易在結算日計入,而非成交日。採用 T+1 結算時,若交易在月底最後一個交易時段完成,將於次月結算,因此會計入次月數據。
- 若干帳戶類型完全不在統計範圍內,包括其他 FINRA 會員的帳戶、DVP 與 RVP 帳戶,以及非證券帳戶。
表格應在月底後儘速提交,最遲不得晚於次月第六個營業日。資料發布則會更晚。
FINRA 融資負債數據何時發布?
FINRA 通常在統計月份的次月第三週更新融資統計。券商須在第六個營業日前完成申報,產業彙總數據約於兩週後發布。FINRA 不會預先公布固定日期。這與 放空餘額發布日程 有實質差異,後者會提前一年公布結算日與發布日。
若要了解這段時間差的影響,可以將次月20日視為第三週發布日的替代日期,再衡量這段期間的市場變化。下方面板涵蓋過去一年半的每個月底,列出統計基準日、替代發布日、中間經過的正常交易日數,以及 SPY 在該期間的表現。
| 月份 | 截至標籤 | 發布標籤 | 交易日數 | SPY變動幅度(%) |
|---|---|---|---|---|
| 2024-11 | Nov 29 | Dec 20 | 15 | -1.94 |
| 2024-12 | Dec 31 | Jan 20 | 11 | 1.97 |
| 2025-01 | Jan 31 | Feb 20 | 13 | 1.43 |
| 2025-02 | Feb 28 | Mar 20 | 14 | -4.78 |
| 2025-03 | Mar 31 | Apr 20 | 13 | -5.86 |
| 2025-04 | Apr 30 | May 20 | 14 | 6.94 |
| 2025-05 | May 30 | Jun 20 | 14 | 0.81 |
| 2025-06 | Jun 30 | Jul 20 | 13 | 1.57 |
| 2025-07 | Jul 31 | Aug 20 | 14 | 0.96 |
| 2025-08 | Aug 29 | Sep 20 | 14 | 2.88 |
| 2025-09 | Sep 30 | Oct 20 | 14 | 0.77 |
| 2025-10 | Oct 31 | Nov 20 | 14 | -4.32 |
| 2025-11 | Nov 28 | Dec 20 | 15 | -0.41 |
| 2025-12 | Dec 31 | Jan 20 | 12 | -0.62 |
| 2026-01 | Jan 30 | Feb 20 | 14 | -0.36 |
| 2026-02 | Feb 27 | Mar 20 | 15 | -5.49 |
| 2026-03 | Mar 31 | Apr 20 | 13 | 8.99 |
| 2026-04 | Apr 30 | May 20 | 14 | 3.18 |
| 2026-05 | May 29 | Jun 20 | 14 | -1.3 |
| 2026-06 | Jun 30 | Jul 20 | 13 | -0.57 |
每個數據背後的精確 SQL 語法
WITH daily AS
(
SELECT
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
argMax(close, window_start) AS px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime('2024-11-01 00:00:00')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
GROUP BY d
),
reference_month AS
(
SELECT
toStartOfMonth(d) AS m,
max(d) AS as_of,
argMax(px, d) AS as_of_close
FROM daily
GROUP BY m
),
release AS
(
SELECT
m,
as_of,
as_of_close,
addDays(toStartOfMonth(addMonths(m, 1)), 19) AS release_day
FROM reference_month
)
SELECT
formatDateTime(r.m, '%Y-%m') AS month,
any(formatDateTime(r.as_of, '%b %e')) AS as_of_label,
any(formatDateTime(r.release_day, '%b %e')) AS release_label,
count() AS sessions_count,
round(100 * (toFloat64(argMax(d.px, d.d))
/ toFloat64(any(r.as_of_close)) - 1), 2) AS spy_change_pct
FROM release AS r
CROSS JOIN daily AS d
WHERE d.d > r.as_of
AND d.d <= r.release_day
AND r.release_day < today()
GROUP BY r.m
ORDER BY r.m在最近一個已完成的期間,即 Jul 31 至 Aug 20,市場共有 14 個正常交易日,SPY 變動 2.12%。任何人在數據發布當天閱讀融資負債數據,看到的都是若干交易日前所截取的市場快照。
閱讀時,融資負債數據有多過時?
月底快照是發布內容中最新的部分,但也已有約三週歷史。統計月份前幾天發生的借款,到了發布時約已有七週歷史。這就是四至七週的時間範圍,反映的是發布時程,而非某個特定月份的特殊情況。
下一個面板將相同的衡量方式延伸至 2006 以來的每個月底,並依市場在各期間內的漲跌幅排序。
| 變動區間 | 月份數 | 占比(%) |
|---|---|---|
| 0 to 1% | 52 | 21.1 |
| 1 to 2% | 54 | 21.9 |
| 2 to 3% | 45 | 18.2 |
| 3 to 5% | 52 | 21.1 |
| 5 to 8% | 29 | 11.7 |
| 8% or more | 15 | 6.1 |
每個數據背後的精確 SQL 語法
WITH daily AS
(
SELECT
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
argMax(close, window_start) AS px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime('2006-01-01 00:00:00')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
GROUP BY d
),
reference_month AS
(
SELECT
toStartOfMonth(d) AS m,
max(d) AS as_of,
argMax(px, d) AS as_of_close
FROM daily
GROUP BY m
),
release AS
(
SELECT
m,
as_of,
as_of_close,
addDays(toStartOfMonth(addMonths(m, 1)), 19) AS release_day
FROM reference_month
),
gaps AS
(
SELECT
r.m AS m,
abs(round(100 * (toFloat64(argMax(d.px, d.d))
/ toFloat64(any(r.as_of_close)) - 1), 2)) AS abs_move_pct
FROM release AS r
CROSS JOIN daily AS d
WHERE d.d > r.as_of
AND d.d <= r.release_day
AND r.release_day < today()
GROUP BY r.m
)
SELECT
multiIf(abs_move_pct < 1, '0 to 1%',
abs_move_pct < 2, '1 to 2%',
abs_move_pct < 3, '2 to 3%',
abs_move_pct < 5, '3 to 5%',
abs_move_pct < 8, '5 to 8%',
'8% or more') AS move_bucket,
count() AS months_count,
round(100 * count() / (SELECT count() FROM gaps), 1) AS share_pct
FROM gaps
GROUP BY move_bucket
ORDER BY min(abs_move_pct)其中 21.1% 的期間落在 0 to 1% 區間,而圖表中最寬的區間 8% or more 則包含 15 的期間。若一項餘額數據是在市場大幅變動後才發布,所描述的投資組合可能早已被市場重新定價。
這項延遲明確限制了兩種用途。該數字無法描述本週狀況,也不能直接與同日價格並列,除非註明兩者衡量的是不同時點。放空餘額也有同樣問題,只是時間較短;相關說明請見 為何放空餘額已有兩週歷史。
為何美元總額創紀錄並不是最重要的訊號
市場最常在融資負債創新高時報導這項數據。但從統計機制來看,創新高的門檻並不高。借方餘額是以投資組合作為擔保的借款,而投資組合市值會隨價格變動。若維持借款占投資組合價值的比例不變,價格上漲時,美元借款總額也會同步增加。名目金額創新高,可能只是以另一種單位重述價格水準。
創新高有多常見?下方面板計算觀察區間內,SPY 月底收盤價高於此前所有月底收盤價的月份。
| 年度 | 觀察到的收盤價數 | 新高數 | 累計占比(%) |
|---|---|---|---|
| 2006 | 12 | 8 | 66.7 |
| 2007 | 12 | 4 | 50 |
| 2008 | 12 | 0 | 33.3 |
| 2009 | 12 | 0 | 25 |
| 2010 | 12 | 0 | 20 |
| 2011 | 12 | 0 | 16.7 |
| 2012 | 12 | 0 | 14.3 |
| 2013 | 12 | 7 | 19.8 |
| 2014 | 12 | 8 | 25 |
| 2015 | 12 | 2 | 24.2 |
| 2016 | 12 | 4 | 25 |
| 2017 | 12 | 11 | 30.6 |
| 2018 | 12 | 3 | 30.1 |
| 2019 | 12 | 5 | 31 |
| 2020 | 12 | 4 | 31.1 |
| 2021 | 12 | 9 | 33.9 |
| 2022 | 12 | 0 | 31.9 |
| 2023 | 12 | 1 | 30.6 |
| 2024 | 12 | 9 | 32.9 |
| 2025 | 12 | 6 | 33.8 |
每個數據背後的精確 SQL 語法
WITH daily AS
(
SELECT
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
argMax(close, window_start) AS px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime('2006-01-01 00:00:00')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
GROUP BY d
),
month_close AS
(
SELECT
toStartOfMonth(d) AS m,
toFloat64(argMax(px, d)) AS close_px
FROM daily
GROUP BY m
),
peaks AS
(
SELECT
m,
close_px,
max(close_px) OVER (ORDER BY m ASC
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS running_peak
FROM month_close
),
per_year AS
(
SELECT
toYear(m) AS y,
count() AS closes_observed,
countIf(close_px >= running_peak) AS new_highs
FROM peaks
GROUP BY y
)
SELECT
toString(y) AS year,
closes_observed,
new_highs,
round(100 * sum(new_highs) OVER (ORDER BY y ASC
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
/ sum(closes_observed) OVER (ORDER BY y ASC
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), 1) AS cumulative_share_pct
FROM per_year
ORDER BY y在觀察區間內,34.1% 的月底收盤價創下該區間新高,而僅 2026 就占目前其中的 4。美元序列會隨投資組合價值上升,因此也會呈現相近頻率。單獨將名目金額創新高視為新聞,通常只是再次說明市場接近高點。
有兩種轉換方式可以讓不同年代的借款歷史具備可比性。
- 實質值:以消費者物價指數調整美元欄位,使1997年的一美元與2026年的一美元代表相同單位。美國勞工統計局免費提供 CPI 歷史資料。
- 比率:將借方餘額除以借款所對應的規模指標,例如美國股票市場總市值或名目 GDP。所得結果代表借款強度,而非美元金額。
還有一種分析方式完全不需要外部資料。借方餘額的月增率或年增率本身不受規模影響,並且會排除價格水準對原始總額造成的緩慢漂移。
融資負債是領先指標嗎?
較準確的說法是同步指標。借方餘額與投資組合價值在同一月份內同步變動;等到彙總數據發布時,該月份的價格歷史早已公開。任何領先或落後關係的主張,都必須先處理兩項問題:美元餘額與價格水準之間的算術關聯,以及數據發布前本身存在四至七週的延遲。
讀者可以直接檢驗兩者的共同變動。將 FINRA 歷史數據與市場跌幅最大的月份對齊,觀察融資序列的跌幅有多少發生在同一月份,而不是提前發生。面板提供了檢查所需的日期。
| 日曆標籤 | SPY變動幅度(%) |
|---|---|
| Oct 2008 | -16.74 |
| Mar 2020 | -12.99 |
| Feb 2009 | -10.53 |
| Sep 2022 | -9.6 |
| Sep 2008 | -9.32 |
| Dec 2018 | -9.3 |
| Apr 2022 | -8.77 |
| Jun 2008 | -8.77 |
| Jun 2022 | -8.63 |
| Jan 2009 | -8.4 |
每個數據背後的精確 SQL 語法
WITH daily AS
(
SELECT
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
argMax(close, window_start) AS px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime('2006-01-01 00:00:00')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
GROUP BY d
),
month_close AS
(
SELECT
toStartOfMonth(d) AS m,
toFloat64(argMax(px, d)) AS close_px
FROM daily
GROUP BY m
),
chained AS
(
SELECT
m,
close_px,
lagInFrame(close_px, 1) OVER (ORDER BY m ASC
ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prior_close
FROM month_close
)
SELECT
formatDateTime(m, '%b %Y') AS calendar_label,
round(100 * (close_px / prior_close - 1), 2) AS spy_change_pct
FROM chained
WHERE prior_close > 0
ORDER BY spy_change_pct ASC
LIMIT 10其中最差的十個月份中,Oct 2008 在連續兩個月底收盤價之間出現 -16.74% 的跌幅;排名第十的月份仍出現 -8.4% 的跌幅。將借方餘額欄位與這些月份並列,讀者便能自行判斷時點問題,而不是由標題代為下結論。
如何下載追溯至1997年的完整歷史資料
FINRA 會在其 Margin Statistics 頁面公布表格,也提供相同序列的 Excel 下載檔,資料始於1997年1月。每月一列,借方餘額總額與自由貸方欄位並列,金額以百萬美元申報。
兩個習慣可以提高檔案的實用性。每次下載都保留附日期的副本,因為修正版申報可能修改先前月份的數據,而只有自行保存的檔案能顯示這項變化。建立圖表時,也要將統計基準月份帶入每個圖表標籤,避免圖表在未加說明的情況下,將某月份的餘額誤接到發布月份。
若要查看最常與這項資料並讀的 FINRA 數據,請參閱 FINRA 放空餘額數據;該數據同樣採取蒐集後發布的模式,但週期為每月兩次。若需要完全沒有申報延遲的市場廣度指標,則可參閱直接以每日價格資料建立的 高低點指數。
常見問題
FINRA 融資負債數據何時發布?
FINRA 通常在統計月份的次月第三週更新融資統計。券商最遲須在該次月第六個營業日前提交 Customer Margin Balance Form,產業彙總數據則在此後發布。FINRA 不會預先公布固定發布日期。
借方餘額與自由貸方餘額有何不同?
借方餘額是客戶以融資方式買進證券後欠券商的款項。自由貸方餘額是存放在券商處、可隨時要求支付的客戶現金。FINRA 會蒐集證券融資帳戶的借方餘額總額,以及現金帳戶與證券融資帳戶的自由貸方餘額總額。
FINRA 融資負債數據可追溯多久?
FINRA Margin Statistics 頁面的可下載歷史資料始於1997年1月,每月一列。餘額以百萬美元呈現,依結算日基準統計,時點為各月最後一個營業日。
融資負債能預測市場頂部嗎?
這項序列有兩項特性限制了這種用途。美元金額會隨投資組合價值變動,因此即使借款強度不變,價格上漲時金額也會增加;此外,每筆數據在發布時都已有四至七週歷史。研究市場轉折的讀者通常會使用年增率或比率版本,而不是原始美元金額。
融資負債是否等同於放空餘額?
不是。融資負債是以多頭部位作為擔保的借入現金。放空餘額則計算已放空但尚未回補的股數。兩者都透過券商向 FINRA 提交的申報,以固定週期對外發布,而且發布時都已有數週延遲。
上方每個面板都可以展開查看產生該結果的完整 SQL。若要在其他 ticker 或更長期間內執行相同的月底與發布時間差計算,請以自然語言在 Strasmore terminal 中提出要求。