銀行エンジニアリング 19:TreasuryとALM — 銀行自身の資金を管理する
顧客の口座ではなく、銀行そのものの資金繰りと、資産・負債のバランスを管理するのがTreasury(市場・資金部門)とALM(資産負債管理)です。
v8以降に実装した台帳・記帳エンジンなどを実際に動かし、正常時と異常時の両方から銀行システムの構造を学ぶ。
Prerequisite: BANKING SYSTEMLEARNING GOALS
このページで学ぶこと
- Treasury と ALM の役割
- Cash Position・流動性・Funding の意味
- MiniBankのポジションがGLから計算されること
PLAIN LANGUAGE
まず、ここだけつかむ
Treasuryは銀行自身の資金繰りと市場での調達・運用、ALMは資産と負債のずれの管理です。
MiniBankのポジションはv10のGLから計算され、Treasury専用の残高は持ちません。
資金取引は記帳され、BSとPLにそのまま反映されます。
DIFFICULT PARTS, STEP BY STEP
難しいポイントを、順番にほどく
専門用語を覚えることより、「なぜ必要か」「このシステムのどこで使うか」を理解することが目標です。
Cash Position
今日すぐ使えるお金です。
当日の支払いに備えるためです。
1000 現金+1100 中央銀行預け金。
Funding
資産を支えるお金の出どころです。
預金が減っても支払えるようにするためです。
預金(2100・2200)と借入(2400)。
ALM
資産と負債の金額・期間・金利のずれの管理です。
流動性と利益の両方を守るためです。
満期別ギャップとシナリオ計算。
Level 1 基礎:銀行の「お財布」はどこにあるか
顧客から集めた預金(負債)は、銀行の中で現金や中央銀行預け金、貸出や短期運用(資産)に形を変えています。預金者がお金を引き出しに来たとき、すぐ払えるお金(流動性)が足りなければ、銀行は他から借りてくる(Funding)必要があります。
Treasuryは日々の資金繰りと市場での調達・運用を、ALMは資産と負債の金額・期間・金利のずれが銀行全体の利益と安全性に与える影響を管理します。
| 言葉 | 意味 | MiniBank v13 |
|---|---|---|
| Cash Position | 今日すぐ使えるお金 | 1000 現金 + 1100 中央銀行預け金 |
| 流動資産(Liquidity) | 短期間で支払いに回せる資産 | Cash Position + 30日以内に満期のコールローン |
| Funding(資金調達) | 資産を支えるお金の出どころ | 預金(2100・2200)と借入(2400 コールマネー) |
| Deposit Funding | 預金による調達 | 預金による調達の割合として表示 |
Level 2 銀行業務:資金を借りる・貸す
| 取引 | 借方 | 貸方 | 意味 |
|---|---|---|---|
| コールマネーで調達(TREASURY_BORROW) | 1100 中央銀行預け金 | 2400 コールマネー | 他の銀行から短期で借りる |
| コールローンで運用(TREASURY_PLACE) | 1200 コールローン | 1100 中央銀行預け金 | 余ったお金を他の銀行へ短期で貸す |
| 借入利息(TREASURY_FUNDING_INTEREST) | 5200 資金調達費用 | 1100 中央銀行預け金 | 借りた対価を払う |
| 運用の受取利息(TREASURY_PLACEMENT_INTEREST) | 1100 中央銀行預け金 | 4100 資金運用収益 | 貸した対価を受け取る |
Level 3 システム:MiniBankでの実装
- ポジションは treasury.position() が v10 の試算表(GL)から計算する。Treasury専用の残高を別に持たない
- 市場データは treasury.market_scenarios の固定の架空シナリオ(基準・基準金利+1%・基準金利−0.25%)だけ。外部の市場データには接続しない
- 資金取引は v8 Posting Engine で記帳され、v10のBS/PLにそのまま反映される(DBテストで、借入利息288円が 5200、運用利息740円が 4100 に計上されることを確認)
- 資金取引の明細(treasury.deals)と 1200・2400 の残高は照合される
Level 4 アーキテクチャ:同じ元帳を別の目で見る
会計(v10)は「正しく記録されたか」、Treasury(v13)は「この先支払えるか・儲かるか」を見ます。見る目的は違っても、元になる数字は同じ元帳です。数字の出どころを1つにすることで、会計とTreasuryの報告が食い違う問題を構造的に防いでいます。
どこを確認すればよいか
- 管理画面「Treasury・ALM」:ポジション・満期別ギャップ・資金取引
- 管理画面「銀行会計・締め」:1200・2400・5200 の残高
CHECK YOUR UNDERSTANDING
3問で理解チェック
答えを頭の中で考えてから、各項目を開いて確認してください。
Q1MiniBankのポジションはどこから計算されますか?
v10の総勘定元帳(試算表)からです。
Q2コールマネーで借りると、どの科目が増えますか?
1100 中央銀行預け金と 2400 コールマネーです。
Q3MiniBankは実際の市場データを使いますか?
使いません。固定の架空シナリオだけです。
完全に暗記する必要はありません。大切な考え方を説明できそうなら押してください。
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-bank-accounting-basics預金は銀行の負債
- RELATED LESSON/docs/corporate-borrower-treasury借入企業のTreasury管理
- CURRENT IMPLEMENTATION
supabase/migrations/20260924150000_v13_treasury_alm.sqltreasury.position / treasury.maturity_ladderGLからのポジションと満期別ギャップ - CURRENT IMPLEMENTATION
supabase/migrations/20260930130000_v17_reliability.sqltreasury.open_deal資金取引(調達・運用)の約定(v17で、運用は中央銀行預け金の残高を超えられない) - CURRENT IMPLEMENTATION
scripts/banking/v13-treasury.test.mjs20%流出の例題、単調性、金利上昇、資金取引のBS/PL反映のDBテスト