どの列を読むか、どこからが大きいか、そして 130% とは誰の 130% なのか。
信用買い残高と加権指数を同じチャートに重ねると、二本の線はほぼ一致します——2025-09-17~2026-09-15 のこの 1 年の相関係数は +0.973。指標を見つけたと思うでしょう。しかしサンプル期間を 5 年に広げると、同じ相関係数は +0.417 まで落ちます。本稿では信用買い残高が実際に何なのか、どの列を読むべきか、どこからが大きいのか、そして公式の原文と実測値で崩せる三つの読み違いを扱います。
信用買い残高は市場における未返済の信用買いポジションで、取引単位(千株)で数えます。同じレポートには「信用買い金額」の列が別にあり、単位は千 TWD です。各与信機関(証券金融会社および自ら信用取引を扱う証券会社を含む)が報告し、TWSE が集計して公表します。
混同されがちな三つの用語を、まず切り分けます:
| 用語 | 何か | 誰が算出するか |
|---|---|---|
| 信用買い残高 | 未返済の信用買いポジション、単位は千株。別に信用買い金額の列があり単位は千 TWD | 与信機関が報告し、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(当日残高)
同じ日の信用買い金額(千 TWD)も同じ式で合います: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 億 TWD | 同上 |
| 残高レンジ | 7,236,488 ~ 9,618,551 千株 | 2025-09-17~2026-09-15、n=229 |
| 千株あたりの信用買い金額 | 63,352 TWD(同期間 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 千株。つまり一日の増減が 40,000 千株前後なら通常運転で、115,000 千株を超えて初めてこの期間の上位 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 までの 1 年(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(TWD)、
# 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% の日で、この二つの計算法が異なる答えを返します。多くの場合その差は数千株ですが、520,000 千株ずれる日が一日あるだけで、あなたのシグナルはその日の偽の跳ねに引きずられます。
個別銘柄の層は 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 でも直接見られます:市場全体の信用取引、個別銘柄の信用取引。