学習・技術検証用デモ — 本システムは実際の銀行サービスではありません。

公開情報をもとに構築した教育目的のシステムです。実在する個人情報・口座情報・機密情報・認証情報等を入力しないでください。

ミニ銀行ACADEMY SYSTEM LEARNING
教材メニュー
学習進捗0 / 134
あと134項目
ADVANCED · 発展COURSE 09 · BANKING ENGINEERING

銀行エンジニアリング 36:ストレスの比較・再現・対策案の決定

基準とストレスを同じ入力で並べ、結果を再計算で再現し、対策案を『決定の記録』として残します。リスクの計算が、取引や商品を自動では変えない理由も確かめます。

46 / 55
BANKING ENGINEERING · 銀行エンジニアリング

v8以降に実装した台帳・記帳エンジンなどを実際に動かし、正常時と異常時の両方から銀行システムの構造を学ぶ。

Prerequisite: BANKING SYSTEM

LEARNING GOALS

このページで学ぶこと

  • 基準とストレスの比較と、比べられない組み合わせ
  • 実行の冪等性と再計算による再現
  • パラメータの版と対策案の二者承認

PLAIN LANGUAGE

まず、ここだけつかむ

1

基準とストレスは、同じスナップショット・同じパラメータの版どうしだけを比べます。

2

実行は冪等で、保存された入力から再計算して結果を再現できます。

3

パラメータの版と対策案は、提案者とは別の管理責任者が決裁します。決裁は記録で、取引は自動では変わりません。

DIFFICULT PARTS, STEP BY STEP

難しいポイントを、順番にほどく

専門用語を覚えることより、「なぜ必要か」「このシステムのどこで使うか」を理解することが目標です。

01

再現

やさしく言うと

同じ入力から同じ結果が出ることです。

なぜ必要?

説明と監査ができるようにするためです。

Minibankでは

risk.recompute。ハッシュの一致。

02

冪等な実行

やさしく言うと

同じ組み合わせの再実行が、前の結果を返すことです。

なぜ必要?

二重に保存しないためです。

Minibankでは

(snapshot, scenario, パラメータの版, モデルの版) が一意。

03

決定の記録

やさしく言うと

誰が、何を、なぜ承認したかの記録です。

なぜ必要?

責任の所在を残すためです。

Minibankでは

risk.measures。実取引は変えない。

Level 1 基礎:ストレスは『もしも』の数字

ストレステストは、予測ではなく『もし、こうなったら』の試算です。基準(ストレスなし)と並べて、何がどれだけ悪化するかを見ます。

シナリオ置く条件
基準ストレスなし
金利+1%基準金利が100bp上がる
預金流出20%普通預金の20%が出ていく
信用ストレスPDが2倍、LGDが10ポイント上がる
複合上の3つと、障害の損失1.5倍を同時に置く

Level 2 銀行業務:比べるときの決まり

  • 同じスナップショットから作った実行どうしだけを比べる(違うと RK003)
  • 同じパラメータの版どうしだけを比べる(違うと RK004)
  • PD・LGD などの版は、提案者とは別の管理責任者が承認する(自己承認は RK005)。承認すると、以後の実行が新しい版を使い、過去の実行は使った版のまま残る
  • 対策案も同じ二者承認。承認は『決定の記録』で、取引・商品・上限は変わらない

Level 3 システム:MiniBankでの実装

  • risk.run は (スナップショット, シナリオ, パラメータの版, モデルの版) が同じなら、前の実行をそのまま返す(冪等)。結果には式、仮定、警告が含まれ、結果のハッシュが保存される
  • risk.recompute は、保存された入力とパラメータから結果を計算し直し、ハッシュが一致するかを返す。入力をこっそり書き換えると、一致しなくなる(入力ハッシュも合わなくなる)
  • risk 関数は Posting を呼ばず、元帳・商品・契約の表に一切書かない。テストで、実行の前後に元帳の件数・試算表・口座残高が変わらないことと、移行のSQLに投稿する記述がないことを固定している
  • 承認待ちのパラメータと対策案は、運用センターの承認キューに出る

異常時:ストレスの数字が急に変わった

段階内容
症状同じシナリオの悪影響の合計が、前日と大きく違う
確認1スナップショットの入力ハッシュ:入力が変わったのか(融資の延滞、障害、預金残高)
確認2パラメータの版:承認された新しい版に切り替わっていないか
確認3recompute:保存された結果が、凍結した入力から再現できるか(できなければ調査)

Level 4 アーキテクチャ:計算と決定を分ける

リスクの計算は『見る』仕組み、対策の決定は『決める』仕組みです。見る仕組みが商品や取引を書き換えられないようにしておけば、モデルの誤りが顧客に波及しません。決める仕組みは、人の承認の記録として残します。

どこを確認すればよいか

  • 管理画面『リスク管理』:比較表、パラメータの版、対策案
  • Lab:ストレスを実行し、再計算で再現できること、自己承認が断られることを確かめる

CHECK YOUR UNDERSTANDING

3問で理解チェック

答えを頭の中で考えてから、各項目を開いて確認してください。

Q1別のスナップショットの実行どうしを比べられますか?
答え

できません(RK003)。

Q2提案者が自分の提案を承認できますか?
答え

できません(RK005)。

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-risk-snapshot-creditスナップショットと信用リスク
  • RELATED LESSON/docs/be-risk-market-liquidity-operational金利・流動性・オペレーショナル
  • CURRENT IMPLEMENTATIONsupabase/migrations/20260930140000_v18_risk.sqlrisk.run / risk.recompute / risk.compare実行の保存(冪等)・再計算による再現の確認・同じ入力どうしの比較
  • CURRENT IMPLEMENTATIONsupabase/migrations/20260930140000_v18_risk.sqlrisk.decide_parameters / risk.decide_measureパラメータの版と対策案は、提案者とは別の管理責任者が決裁する
  • CURRENT IMPLEMENTATIONscripts/banking/v18-risk.test.mjs式の手計算、v13との一致、凍結と再現、欠測、元帳を書かないこと、決裁のDBテスト