昨天留下的待辦是看那 6 檔失手券的 X 之後會不會變回 floor(somaHoldings),今天用 10 月 2 日(週五)新發布的 193 列當一份真正的樣本外測試,答案是:6 檔裡有 3 檔早已變回(9 月 4 日、9 月 4 日、9 月 8 日),1 檔(912810QE1)從 9 月 4 日一路維持到 10 月 2 日仍是同一個 4,064 百萬,另外 2 檔自 9 月 28 日與 9 月 22 日起就沒有人投標、資料裡看不到後續。順手查出三個我昨天的錯:資料列並非「每個操作日、每檔券一列」而是只有當天有人投標的券才有列;昨天 3,731 個配對的配法其實是對「該券上一次出現的列」而不是前一個操作日;912810QE1 的失手不是 9 月 23 日才開始,而是 9 月 4 日。最後把昨天掛著的「10 個超過上界的配對」結案:10 個全部有同一檔券前一天的延展紀錄,加上延展額之後 2,891 個配對零例外。

📖 學

一、樣本外測試:10 月 2 日的 193 列

昨天的公式是在 10 月 1 日以前的 4,174 列上調出來的。10 月 2 日的資料是公式寫完後才發布的,所以它是沒被用來調公式的樣本。查詢 startDate=2026-09-01&endDate=2026-10-03,回傳 23 個操作日、4,367 列證券出借紀錄(另有 37 筆延展,稍後處理)。10 月 2 日單日 193 列,申報 470.04 億美元、承作 469.66 億美元、outstandingLoans 合計 194.5 億美元,結果:

檢驗10 月 2 日 193 列全部 4,367 列
theoAvailToBorrow = floor(0.9 × somaHoldings, 100 萬)193 / 1934,367 / 4,367
min() 公式整體192 / 1934,341 / 4,367(99.40%)
上限勝出的列182 / 1834,144 / 4,170
庫存剩額勝出的列7 / 7123 / 123
兩項相等的列3 / 374 / 74

10 月 2 日唯一失手的一列是 912810QE1,公布的 actualAvailToBorrow = 4,053 百萬,outstandingLoans = 11 百萬,加起來 4,064 百萬,跟 9 月 4 日以來每一次觀察到的數字相同。也就是說,昨天的更正版 theoAvailToBorrow 公式在新樣本上零例外,min() 公式只在已知的那一檔券上失手,沒有出現第七檔新失手券。這是「公式在沒看過的資料上依然成立」的證據,強度比昨天在同一批資料上重驗高一階,但仍然只是一天、193 列。

另有一個副產品:10 月 2 日出現兩檔過去 22 個操作日從未出現的券(91282CQA2 即 T 03.500 02/15/29,持有量 164.35 億美元;91282CRM5 即 T 05.000 09/30/33,持有量 66.24 億美元)。SOMA 早就持有這兩檔,只是之前沒人對它們投標。這直接引出下一節。

二、更正:資料列只存在於「有人投標」的券

昨天我寫「每個操作日、每一檔券一列」。重新檢查 4,367 列:parAmtSubmitted 大於 0 的列有 4,367 列,也就是 100%;沒有任何一列申報為 0。每天只有 166 到 226 列(平均約 190),而 SOMA 持有的可借券遠多於此。昨天寫的「443 檔券」是「9 月 1 日到 10 月 1 日至少被投標過一次的券」,今天加上 10 月 2 日新出現的兩檔變成 445 檔,不是整個可借券池的大小。

這個結構會影響昨天兩個數字的解讀。第一,outstandingLoans 的全市場加總只涵蓋當天有人投標的券。逐日檢查「前一個操作日有借出、當天卻沒有列」的券,這些缺席券占前一天承作額的 1.1% 到 10.9%(逐日「在場比例」介於 89.1% 到 98.5%,多數日子約 95%),所以昨天的加總是下限,延展占比 0.37% 的方向不變(分母只會更大)。第二,昨天的比例 0.491 是「當日 outstandingLoans 加總 ÷ 前一操作日承作總額」,分母含缺席券、分子不含,偏低。只拿「前一天有借、今天也有列」的券配對,逐日比例的中位數是 0.513 而不是 0.488(範圍 0.338 到 0.631)。兩個口徑今天都列出來,不替昨天的數字找藉口。

第二個更正是配對方法。昨天的 3,731 個配對,我今天重現出來了:它是把每一列跟「這檔券上一次出現的列」配對,而不是跟前一個操作日配對。券的兩列可以相隔好幾天,這時拿幾天前的承作額去對今天的未還金額,語意不對。今天改成嚴格版本:只配對連續兩個操作日、前一天承作額大於 0 且當天有列的券,22 個換日共 2,891 個配對。用這個定義重驗三件事:

檢驗昨天(寬鬆配法)今天(連續操作日)
配對數3,7312,891
outstandingLoans > 0 但前一天承作額為 0 的列(孤兒)未單獨檢查0 列(正未還的 1,817 列全都有前一天承作)
未還金額大於前一天承作額10 個10 個(同一批)
前一天承作額分檔的未還占比32.4% / 30.8% / 54.6% / 52.3%32.5% / 30.9% / 54.6% / 51.9%

分檔占比是「min(未還, 前一天承作額)加總 ÷ 前一天承作額加總」,分檔為小於 5,000 萬、5,000 萬到 2 億、2 億到 10 億、10 億以上,各檔配對數 1,692、431、564、204。換成嚴格配對後四個數字幾乎沒動,表示昨天的規律不是配對方法的產物。「孤兒 0 列」是新的、更強的檢驗:每一筆正的未還金額,都對得上同一檔券前一天的承作紀錄,沒有任何一筆未還金額憑空出現。

三、10 個超過上界的配對,由延展結案

昨天留下 10 個「未還金額大於前一天承作額」的配對,說可能是延展。今天逐一對照延展端點(10 月 1 日、2 日延展端點回傳空陣列,延展紀錄共 37 筆,全在 9 月)。判斷基準是:延展在前一個操作日辦理,延展的那部分隔夜借款也會在隔天中午被計入未還,所以上界應該是「前一天承作額 + 前一天延展額」。

日期券當日未還前一天承作超出前一天延展加延展後
9 月 10 日912810EZ72722621010剛好用盡
9 月 14 日912810EZ73362964050成立
9 月 14 日912828ZB92,0442,039525成立
9 月 15 日912828YX27066931334成立
9 月 15 日912828ZB92,0291,9804950成立
9 月 17 日912828ZB92,1101,912198250成立
9 月 17 日91282CMJ71901513950成立
9 月 18 日912810FG86275874040剛好用盡
9 月 23 日912828U248768265050剛好用盡
10 月 1 日91282CMX63552916464剛好用盡

(單位:百萬美元;「前一天延展」指同一檔券、前一個操作日的延展紀錄。)

10 個全部成立:超出的金額沒有任何一個大於前一天的延展額,其中 4 個(10、40、50、64 百萬)與延展額精確相等,表示當天中午前,被延展的那一筆一毛都沒還。對照機率:37 筆延展中,隔天有列的是 35 筆;這 35 個配對有 10 個超出上界(29%),其餘 2,856 個沒有延展的配對超出上界的是 0 個。如果超出與延展無關,10 個全部剛好落在占配對 1.2% 的延展配對裡,可能性很低。加上延展額後,2,891 個配對的上界零例外。另外一個小檢查:36 筆有當日列的延展紀錄中,延展額都不大於同一天的 outstandingLoans(36 / 36),符合「被延展的是還沒還完的那部分」。

這跟昨天「延展只占 outstandingLoans 加總的 0.37%」不衝突,兩者回答不同的問題:延展幾乎沒貢獻金額規模,但它是唯一能解釋「未還金額為何有時超過前一天承作額」的機制。完整的描述變成:outstandingLoans(D) ≤ 前一天承作額 + 前一天延展額,上界在 2,891 個配對中從不被打破,規模則由「中午前歸還的比例」決定(中位數約一半)。

四、X 的行為:它是一個階梯函數,而且從未擋住任何人

把 6 檔失手券的 X(即 actualAvailToBorrow + outstandingLoans)依時間排開:

CUSIP券X(百萬)占持有量受限觀察之後
912810QE1T 04.625 02/15/404,06412.9%9 月 4 日至 10 月 2 日共 10 次9 月 1、2 日正常;至今未變回
912810QD3T 04.375 11/15/399,95431.9%9 月 4 日至 9 月 28 日共 6 次之後無人投標,未知
91282CCB5T 01.625 05/15/312,5005.7%9 月 15、22 日共 2 次之後無人投標,未知
9128286T2T 02.375 05/15/2921,69061.5%9 月 1 至 3 日共 3 次9 月 8 日起變回,其後 7 次觀察皆正常
912828YB0T 01.625 08/15/294,0008.5%9 月 1 至 3 日共 3 次9 月 4 日起變回,其後 11 次皆正常
91282CBL4T 01.125 02/15/312,5017.2%9 月 2、3 日共 2 次9 月 4 日起變回,其後 19 次皆正常

三個事實。其一,每個受限期內 X 的數值零變動:912810QE1 在 28 個日曆日、10 次觀察裡每次都是 4,064,其間 outstandingLoans 在 0、11、17、18 之間擺動,actualAvailToBorrow 跟著反向擺動,加起來不動。這個形狀是階梯函數(進入受限期時換成某個定值、離開時回到持有量),不是隨持有量或每日需求連續變動的量。其二,三檔(9128286T2、912828YB0、91282CBL4)在 9 月 1 至 3 日受限、9 月 4 日前後解除,同一個交叉點上 912810QE1 在 9 月 4 日進入受限(9 月 2 日還正常),912810QD3 的第一次觀察就在 9 月 4 日、已是受限,看起來像一批對特定券的設定在 9 月初換了一輪,但這只是時間上的並列,資料沒有任何欄位指出原因。其三,這些限制從未實際擋住任何一位投標者:26 個失手列中沒有任何一列的申報額超過公布的 actualAvailToBorrow,承作額最大的一列是 9 月 22 日 91282CCB5 的 230 百萬,只占那一天 X = 2,500 百萬的 9.2%。限制把「可借量」壓下去了,但需求本來就小,所以 parAmtAccepted 沒受影響。

X 是什麼,今天比昨天多了一個文件線索,但不能收尾。紐約聯準銀行的 SOMA 證券出借 FAQ(頁面標註更新於 2021 年 10 月 6 日)寫:「若拍賣時保管帳戶中的某檔證券少於 90%,原因是未還貸款與已承諾的附買回交易(committed reverse repurchase transactions),則 SOMA 投資組合中剩餘的數量即為拍賣可借量」。這句話的結構正是 min(theo, X − outstanding),而且點名第二個扣減項是「已承諾的附買回交易」,不是只有未還貸款。這是 X 的第一個有文件依據的候選:被拿去做附買回承諾的那一部分,不在可借的保管帳戶裡。但我不能把它寫成答案,有兩個理由:第一,資料沒有欄位可驗證 X;第二,逐日浮動的附買回餘額會讓 X 每天都不同,而 912810QE1 的 X 在 28 天裡精確不動,與「每日浮動的承諾量」不太相容,比較像一個人為設定的固定額度,或一塊長期凍結的券。兩種解釋資料分不開。偵測本身也有盲點:只有 X 小於 min(theo, 持有量 − 未還) 時才看得出來,若 X 設在更高處,公式照樣成立,完全隱形,所以 6 檔是下限。

另有兩個沒解的洞要誠實放著:912810QD3 與 91282CCB5 自 9 月 28 日、9 月 22 日起沒有人再投標,「是否已變回」無法由這份資料回答;以及今天的樣本外 193 列只是一天。

🧠 記

今天最值得記住的,是「資料欄位的存在條件」要先於任何統計。 這份端點的列只在有人投標時才出現,所以所有加總與比例都是「條件於有人投標」的量:缺席券占前一天承作額最多 10.9%,昨天的加總是下限、比例偏低。昨天還有一個同型的錯:把「每個操作日每檔券一列」當成前提,卻沒有驗證 parAmtSubmitted 是否曾經為 0。檢查方法只要一行:數一數欄位是否有過零值、各日列數是否一致。

第二個要記的,是一個上界要用「它想排除的機制」來檢驗,才算有鑑別力。 「outstandingLoans 不超過前一天承作額」只被打破 10 次,看起來近乎恆成立;但這 10 次全部落在有延展紀錄的 35 個配對裡,加上延展額後 2,891 個配對零違反。比例從「99.7% 成立」變成「100% 成立,而且例外全部可歸因」,後者才是機制被驗證的樣子。同時保留邊界:這是上界檢驗,中午前歸還比例本身(約一半)的成因仍無解。

第三個要記的,是「變回」這個問題在這份資料裡有兩類答案:觀察到變回、以及觀察不到。 6 檔裡 3 檔已確認變回,1 檔確認未變回,2 檔因沒人投標而不知道,不能把不知道當成「沒變」。

邊界:一切仍是在整理資料欄位的語意,不是市場訊號。 X 的限制從未擋住任何一筆投標,未還金額約是前一天的一半是行政流程,不代表券源緊張或任何價格方向。X 的真正成因、中午前歸還比例的成因、週一(三天期借款)是否真的更高(本樣本週一 0.567,n = 3,平日 0.505,n = 18,差距落在平日自身的波動範圍內),都還是空格。

✍️ 實踐

用今天的資料自己做兩個 20 分鐘的檢驗。第一個是缺席券:下載 https://markets.newyorkfed.org/api/seclending/all/results/details/search.json?startDate=2026-09-01&endDate=2026-10-03,只保留 operationType 為 Securities Lending 的操作(另有 Extensions 類型夾在同一個檔案裡,不挑掉會把 37 列延展當成借券列),數 parAmtSubmitted 為 0 的列(應為 0),再算每個換日「前一天有承作、今天沒有列」的券占前一天承作額的比例(應落在 1.1% 到 10.9%)。第二個是延展上界:對每個連續操作日配對檢查 outstandingLoans ≤ 前一天承作額 + 前一天延展額(應為 2,891 個配對零例外,拿掉延展項則有 10 個例外)。最後寫下一個明天(其實是下週一)能驗證的預測:10 月 2 日承作合計 469.66 億美元,過去 22 個換日的「當日未還 ÷ 前一操作日承作」比例範圍 0.313 到 0.612(中位數 0.488),所以 10 月 5 日(週一,三天期借款首次到期日)的未還加總預期落在約 147 億到 287 億美元,中位估計約 229 億;若落到區間外,要查原因。這是用歷史範圍套用,不是模型預測。

🔗 延伸學習

💬 問 AI

我在追紐約聯準銀行 SOMA 證券出借 API 的微觀結構,純屬學習與研究,
僅供學習、非投資建議,請不要給任何買賣建議或報酬預測。請依「方法論 → 驗算 →
意義 → 邊界」回答,並在每個結論標明「文章/文件明說的」「我用資料查證的」
「我推論但未證實的」三類。
 
我今天的結果(資料:2026-09-01 至 10-02,23 個操作日,4,367 列借券紀錄、
37 筆延展,每一列的 parAmtSubmitted 皆大於 0):
1. theoAvailToBorrow = floor(0.9 × somaHoldings, 100 萬美元),4,367 列零例外;
   actualAvailToBorrow = min(theo, floor(somaHoldings) − outstandingLoans)
   成立 4,341 列(99.40%)。10/2 的 193 列是樣本外,theo 193/193、min() 192/193。
2. 26 列失手全屬 6 檔券。每個「受限期」內,actual + outstanding(記為 X)
   是常數(例如 912810QE1 為 4,064 百萬,10 次觀察、28 個日曆日),
   其中 3 檔後來變回 floor(somaHoldings),1 檔至今未變回,2 檔之後無人投標。
   失手列中沒有任何一列的申報額超過公布的 actualAvailToBorrow。
3. 資料列只在有人投標時才存在;連續操作日的 2,891 個配對中,正的未還金額
   全部對得上前一天同一檔券的承作(孤兒 0 列);有 10 個配對的未還大於前一天
   承作額,10 個全部有前一天的延展紀錄,加上延展額後上界零例外。
4. 紐約聯準銀行 FAQ(2021 年更新)寫:保管帳戶中少於 90% 時,原因是未還貸款
   與「已承諾的附買回交易」,剩餘數量即為可借量。
 
請回答:
一、方法論:資料只含「有人投標」的券,對我算的比例有哪些選擇性偏誤?
   我該怎麼估計偏誤的方向與大小?(我已算出在場比例 89.1% 到 98.5%。)
二、驗算:請檢查「35 個延展配對中 10 個超出上界(29%)、其餘 2,856 個為 0」
   這個對照,是否足以說明延展就是超出的原因?還需要什麼對照?
   另外,X 在 28 天內精確不動,這跟「每日浮動的附買回承諾量」相比,
   哪一種解釋比較合理?什麼額外資料可以分出兩者?
三、意義:證券出借的可借量要同時受「比例上限」與「實際庫存」限制,
   在央行或清算機構的其他證券融通工具中還有類似結構嗎?
四、邊界:我引用的 FAQ 頁面標註更新於 2021 年,現行規則可能已變。
   哪些結論會因此降級?我還需要找什麼現行文件?
 
要求:不確定就說不確定;不要用我沒提供的數字當作事實;
所有數字請讓我能回頭用原始資料複核。