銀行エンジニアリング 20:満期と資金ギャップ(Maturity Bucket / Funding Gap)
「いつ入ってきて、いつ出ていく可能性があるか」を期間ごとに並べると、資金が足りなくなる時期が見えます。MiniBankの満期別ギャップ表の読み方を学びます。
v8以降に実装した台帳・記帳エンジンなどを実際に動かし、正常時と異常時の両方から銀行システムの構造を学ぶ。
Prerequisite: BANKING SYSTEMLEARNING GOALS
このページで学ぶこと
- 満期バケットとギャップ・累積ギャップ
- 普通預金の「コア預金」という仮定
- 満期のミスマッチが生むリスク
PLAIN LANGUAGE
まず、ここだけつかむ
資産と負債を満期の期間ごとに並べ、ギャップと累積ギャップを見ます。
普通預金の70%はコア預金として1年超に置く、という仮定を使います。
短期の累積ギャップがマイナスなら、その時期に資金が足りなくなる可能性があります。
DIFFICULT PARTS, STEP BY STEP
難しいポイントを、順番にほどく
専門用語を覚えることより、「なぜ必要か」「このシステムのどこで使うか」を理解することが目標です。
Maturity Bucket
満期までの期間の区切りです。
いつ資金が動くかをまとめて見るためです。
O/N・2〜30日・31〜90日・91〜365日・1年超。
Funding Gap
期間ごとの資産−負債です。
資金不足になる時期を見つけるためです。
treasury.maturity_ladder() のギャップと累積ギャップ。
Core Deposit
長く留まると仮定する預金です。
契約上の満期だけでは実態を表せないためです。
treasury.policy.core_deposit_ratio(0.7)。
Level 1 基礎:期間のずれ
普通預金はいつでも引き出せますが、実際には多くが長く留まります。一方、銀行が貸したお金は満期まで戻りません。「短く借りて長く貸す」構造が銀行の利益の源泉であり、同時に流動性リスクの源でもあります。
Level 2 銀行業務:MiniBankのバケット
ギャップ=資産−負債。累積ギャップがマイナスになる期間は、その時点までに入ってくる資金より出ていく可能性のある資金が多く、追加の調達が必要になるかもしれない時期です。
| バケット | 資産(入ってくる) | 負債(出ていく可能性) |
|---|---|---|
| O/N | 現金・中央銀行預け金 | 普通預金の変動部分(30%)、未決済為替・仮受金 |
| 2〜30日/31〜90日/91〜365日 | 満期を迎えるコールローン | 満期を迎える定期預金・コールマネー |
| 1年超 | — | 普通預金のコア部分(70%、仮定) |
Level 3 システム:MiniBankでの実装
- treasury.maturity_ladder() が、GL残高・treasury.deals・public.time_deposits から5つのバケットの資産・負債・ギャップ・累積ギャップを計算する
- 普通預金の70%をコア預金として1年超に置く仮定は treasury.policy.core_deposit_ratio にあり、画面の見出しにも表示される
- DBテストで、30日のコールマネーが 2〜30日、180日のコールローンが 91〜365日、コア預金が 1年超に入ることを確認している
異常時:短期の累積ギャップがマイナス
| 段階 | 内容 |
|---|---|
| 症状 | 2〜30日の累積ギャップがマイナス |
| 原因の例 | 長期のコールローンに資金を出しすぎた/短期の借入が集中して満期を迎える |
| 対応の選択肢 | 満期の長い調達に切り替える、運用の一部を短期にする、流動資産を積み増す |
| MiniBankでの確認 | 資金取引を行うと、ギャップ表とBSが同時に変わる |
Level 4 アーキテクチャ:契約上の満期と行動上の満期
システムが持つ満期日(契約上の満期)だけでは流動性リスクを正しく表せません。顧客の行動に基づく仮定(行動上の満期)をデータとして分離し、画面に明示し、変更できるようにしておくことが、ALMの数字を説明可能に保つ設計上の要点です。
どこを確認すればよいか
- 管理画面「Treasury・ALM」→ 満期別ギャップ
CHECK YOUR UNDERSTANDING
3問で理解チェック
答えを頭の中で考えてから、各項目を開いて確認してください。
Q1180日のコールローンはどのバケットに入りますか?
91〜365日です。
Q2コア預金の割合は事実ですか、仮定ですか?
仮定です(教育用に0.7)。
Q3累積ギャップがマイナスとは?
その時点までに出ていく可能性のある資金が、入ってくる資金より多いことです。
完全に暗記する必要はありません。大切な考え方を説明できそうなら押してください。
SOURCE TRAIL
根拠と関連教材
CURRENT IMPLEMENTATIONは確認したrepository内の実装です。HISTORICAL IMPLEMENTATIONは導入・修正の履歴で、後続migrationによる再定義があり得ます。RELATED LESSONは教材への案内で、実装の一次Sourceではありません。ASSUMPTIONは仮定、UNKNOWNは未確認を表します。
確認基点: d02eae8914f39cbf06bfe422dc39c71886f82b3e / 2026-09-11。稼働環境への適用確認: UNKNOWN。パス実在の自動検査と、記述した技術的事実の確認は別です。
Implementation Status: IMPLEMENTED IN MINIBANK(この教材が扱うコードの範囲)
- RELATED LESSON/docs/be-treasury-alm-basicsTreasuryとALM
- CURRENT IMPLEMENTATION
supabase/migrations/20260924150000_v13_treasury_alm.sqltreasury.position / treasury.maturity_ladderGLからのポジションと満期別ギャップ - CURRENT IMPLEMENTATION
scripts/banking/v13-treasury.test.mjs20%流出の例題、単調性、金利上昇、資金取引のBS/PL反映のDBテスト