MiniBankv20

MiniBankv20CORE BANKING / ACCOUNTING / SECURITY / OPERATIONS

小さな銀行で、大きな仕組みを学ぶ。

画面個人口座、法人口座、振込、権限管理、MFA。

裏側元帳・会計・日次運用から、融資、預金価格、リスク、グループ連結、将来の試算まで。

送金、融資、元帳、権限、リスク管理、復旧まで。
MiniBank v20は、銀行システムの表側と裏側を、
つくりながら理解するための学習・検証環境です。

Finance × Engineering × AI Development経理・財務の視点から、AIとともに銀行システムを20世代にわたって拡張してきた。

WHAT MINIBANK DOES10 operations

  1. PERSONAL口座を開く。
  2. PERSONALお金を振り込む。
  3. CORPORATE会社の支払いを申請し、別の担当者が承認する。
  4. LEDGER取引を仕訳へ変換し、台帳へ記録する。
  5. INTERBANK架空の他行送金を、模型として決済する。
  6. ACCOUNTING一日の取引を締め、試算表・BS・PLを確認する。
  7. AML不審な取引を検知し、証拠を集め、判断する。
  8. OPERATIONS結果不明の取引や差異を、運用担当者が追跡する。
  9. TREASURY預金が流出したら、銀行にいくら資金が必要になるのかを計算する。
  10. ALM金利が変わったら、調達コストや収益がどう動くのかを見る。
  • PERSONAL BANKING
  • CORPORATE BANKING
  • LEDGER / POSTING
  • INTERBANK PAYMENT
  • BANK ACCOUNTING
  • AML
  • OPERATIONS CENTER
  • TREASURY / ALM
  • ARCHITECTURE
  • MINIBANK ACADEMY

見えるのは銀行画面。つくったのは、その後ろで銀行を動かす仕組みです。

MiniBankは学習・研究・検証用のシミュレーションです。実際の預金を受け入れたり、実資金を送金したりする銀行サービスではありません。実在する個人情報・口座情報・機密情報を入力しないでください。

MiniBank System Overview

銀行という巨大な仕組みを、小さなシステムの中でつなげました。

利用者が見る画面から、その裏側にある認証、権限、取引制御、台帳、仕訳、銀行間決済、会計、AML、日次運用、障害対応、資金管理まで。

さらに、それらを読み解くArchitectureとAcademyまで。

以下の規模・教材数・試験数はv13時点の記録です。既存機能を土台として保持し、その下にv14〜v20の進化を増補しています。最新の教材数・試験数とは区別してください。

  • 13段階の進化v1 → v13
  • 9Academy コース9 Courses
  • 107レッスン107 Lessons
  • 226Privilege Tests PASS226 / 226

CHANNEL

BANK CORE

OPERATE

UNDERSTAND

PERSONAL BANKINGv1–v2個人向け銀行利用者登録・ログイン本人確認申請・KYC審査口座開設・凍結・解除・利用停止普通預金・入出金履歴振込先登録・振込MFA / TOTP定期預金章 01–03 CORPORATE BANKINGv3–v5法人向け銀行法人口座・法人メンバーRole / PermissionMaker / Checker指定日支払重要設定変更の二者確認法人全体の日次上限章 04–07 LEDGER / POSTINGv8台帳・記帳基盤Business EventPosting RuleJournal EntryLedger逆仕訳Integrity Check章 10–11 / 17–18 INTERBANK PAYMENTv9銀行間決済Participant BankClearingSettlement中央銀行預け金RESULT_UNKNOWN の照会章 19–21 BANK ACCOUNTINGv10銀行会計・決算General LedgerTrial BalanceBalance SheetProfit & Loss補助元帳照合日次・月次締め章 22–24 AMLv11不正・AMLScanAlertCaseInvestigationEvidenceDecision章 25–26 OPERATIONS CENTERv6–v7 / v12日次運用・障害対応論理営業日・EOD / BODReconciliation調査案件・復旧Backup / RestoreSystem StatusException / Approval QueueTrace・Incident・Runbook章 12–16 / 27–29 TREASURY / ALMv13資金繰り・ALM預金流出シナリオ必要調達額・調達コストInterest Rate ShockNIIWhat-ifGL → ALM → Posting章 30–34 ARCHITECTURE構造と責任分界Customer / Corporate / Admin UINext.js / TypeScriptPostgREST / Business RPCPostgreSQL Business LogicJava / Spring Boot Payment Service章 38–40 MINIBANK ACADEMY学習コンテンツ9 Courses107 LessonsBank Engineering 29 Lessons6 Labs章 41–46 TRANSACTION INTEGRITYIdempotencyConcurrencyRESULT_UNKNOWNReversalIntegrity Check全領域を横断SECURITY & CONTROL認証認可RLSDatabase PrivilegeRPCFail ClosedMFAMaker / Checker監査記録全領域を横断
概念図MiniBankを構成する領域と、各領域を横断する仕組み。各ブロックから該当章へ移動できます。

PART ADDENDUMv13 → v20

記録する銀行から、
条件を変えて考える銀行へ。

一件の取引を正しく残す。その土台を保ちながら、商品、連携、復旧、リスク、グループ、試算へと広がりました。

第1〜52章は、MiniBankをv13まで作り上げたストーリーです。口座と振込、法人の承認、台帳とGL、日次締め、AML、運用、Treasury / ALM。これらは新しい版でも土台として残ります。

v14〜v20の増補は、その土台に何をつないだのかを説明します。融資の元本は銀行の資産になり、預金の価格は調達費用になる。両者をリスクの入力へ、さらに銀行全体の試算へつなげると、一件の取引とは違う時間軸が見えてきます。

  1. v14融資・信用

    申込から審査・実行・返済・延滞・照合まで。預金とは反対側から銀行の資産を見る。

  2. v15預金・価格

    金利や手数料を版で管理し、見積りと契約時の条件を区別する。

  3. v16Open Banking Sandbox

    利用者の同意、認可、トークン、APIと通知を、閉じた検証環境でつなぐ。

  4. v17復旧・再開の統制

    止める、復元対象を宣言する、照合する、別の人が再開を判断する。

  5. v18銀行全体のリスク

    信用・市場・流動性・オペレーショナルを、同じ入力と明示した式で比較する。

  6. v19グループ・複数法人・連結

    法人別の元帳を守り、相互勘定を照合してから、報告上の連結を作る。

  7. v20Bank Digital Twin

    凍結した実績と架空の仮定から、銀行全体の変化を理由とともにたどる。

01 / 利用・業務
個人・法人の口座、申請、承認、振込、融資、預金商品。利用者が業務に触れる入口。
02 / 記録・会計
取引制御、Posting、Ledger、GL、試算表、BS・PL。何が起こったかを残し、照合する土台。
03 / 運用・統制
認証・権限、AML、日次運用、例外調査、復旧。正常時の処理と異常時の判断を支える。
04 / 経営の試算
Treasury・ALM、リスク、グループ連結、Digital Twin。実績を読み、仮定と区別して考える。
05 / 読み解く
ArchitectureとAcademy。画面の操作から設計上の責任、計算の前提へ戻るための入口。
概念図5つの層は機能を理解するための整理です。通信の経路やサービスの物理配置を表す図ではありません。

ここは学習・研究用のシミュレーションです。追加機能の説明は固定したv20基準コードと関連仕様に基づきます。コードの存在、隔離環境の試験記録、本番での確認は別の根拠として扱います。

PART DESIGNMiniBank v20 / Architecture

6つの設計図で見る
MiniBank v20

MiniBankは、画面や機能だけでなく、取引、権限、元帳、デプロイ、障害復旧までを一つのシステムとして設計しています。

融資・預金価格から、連携・復旧・リスク・グループ・Digital Twinへ。v14〜v20で広がる領域を、6つの視点から見渡します。

これらは責任の分け方や確認の考え方を読む設計図です。機能のコード実装、DBの定義・履歴、公開環境での業務検証は、それぞれ別の根拠として示しています。各図の下で、確認した範囲と設計上の目標を分けて説明します。

目次:既存52章と、v14〜v20の増補を読む

銀行は、「振込ボタン」だけではできていない。

UIモック(概念図)

送金ボタンを押した。

画面に「成功」と表示された。

それだけで、本当に銀行システムは完成なのでしょうか。

  1. その人は、本当にその口座を操作してよいのか。
  2. 本人確認は終わっているのか。
  3. 口座は利用可能なのか。
  4. 振込額は限度額以内なのか。
  5. 同じボタンを二度押しても、二重に送金されないか。
  6. 同じ口座から同時に二つの支払いが走ったらどうなるのか。
  7. データベースでは成功したのに、通信が切れて結果が画面へ届かなかったらどうするのか。
  8. 帳簿と残高が違っていたら、どちらを正しいと考えるのか。
  9. 法人なら、申請した本人がそのまま承認してよいのか。
  10. 他の銀行へ送るお金は、いつ「決済済み」になるのか。
  11. 一日が終わったとき、本当に帳簿は合っているのか。
  12. 不審な取引を見つけたら、いきなり口座を止めてよいのか。
  13. システム障害の後、どこから安全に再開できるのか。
  14. 預金が大量に流出したら、銀行はいくら資金を調達する必要があるのか。

MiniBankが作ってきたのは、

こうした「画面の先にある問題」を扱う仕組みです。

PART ICustomer Banking

まずは、銀行を使うところから。

MiniBankには、利用者として銀行を体験するための機能があります。

しかし、残高を表示するだけの銀行デモではありません。

利用者が行った操作が、その後の取引記録や台帳までつながることを重視しています。

第1章 Personal Banking

アカウント・本人確認・口座から、振込まで。

アカウント・本人確認・口座

  1. 利用者登録。
  2. ログイン。
  3. 本人確認申請。
  4. 銀行側によるKYC審査。
  5. 口座開設。
  6. 口座状態の確認。
  7. 凍結。
  8. 解除。
  9. 利用停止。
  1. GATE 1「ログインできること」
  2. GATE 2「本人確認済みであること」
  3. GATE 3「その口座を操作できること」
  4. GATE 4「その口座で取引できること」
概念図「ログインできる」から「取引できる」までは、それぞれ別の条件。

は、それぞれ別の条件です。

画面を開けたからといって、金融取引まで許可されるわけではありません。

MiniBankの個人向けホーム画面。普通預金残高、口座番号、口座状態「利用中」、本人確認「確認済み」が表示されている。
実際のMiniBank画面個人向けホーム画面。普通預金残高とあわせて、口座状態・本人確認の状況が表示されます(撮影時点の画面・学習用のサンプルデータ)。

普通預金

  • 口座残高。
  • 入出金履歴。
  • 取引明細。
  • 取引状態。
  • 銀行側からの入出金。
  • 仕訳確認。

利用者に見える残高と、その裏側の銀行の記録をつなげます。

振込先登録・振込

  1. 振込先を登録する。
  2. 振込金額を入力する。
  3. 内容を確認する。
  4. 認証を行う。
  5. 振込を実行する。
  6. 履歴を確認する。

ここでも「送る」だけでは終わりません。

金融更新の前に確認すること

  • 振込先。
  • 残高。
  • 口座状態。
  • 利用上限。
  • 認証状態。
  • 重複した依頼。

これらを確認してから金融更新へ進みます。

MiniBankの振込画面。振込先入力・内容確認・本人認証・完了の4ステップと、本日の残り枠、1回・1日の振込限度額が表示されている。
実際のMiniBank画面振込画面。振込先入力 → 内容確認 → 本人認証 → 完了の4ステップと、振込限度額が表示されます(撮影時点の画面)。

第2章 MFA / TOTP

パスワードだけで、振込を確定しない。

MiniBankでは、振込認可にTOTPを利用したMFAフローを組み込んでいます。

  1. ENROLL認証アプリへ登録し、
  2. VERIFYTOTPを検証し、
  3. AUTH LEVEL必要な認証レベルを満たしたうえで、
  4. TRANSFER振込処理へ進む。
概念図認証を満たしてから、振込処理へ進む。

単に入力欄に6桁の数字を入れているだけではありません。

認証と金融取引を分けて考える。

その考え方まで含めて実装しています。

実在銀行の本人認証方式を完全に再現するものではありません。

第3章 Time Deposit

普通預金だけではなく、預金商品まで。

MiniBankでは定期預金も扱います。

  • 定期預金の作成。
  • 保有状況。
  • 解約。
  • 満期。
  • 元本返却。
  • 利息。
  • そして、それに伴う仕訳。

「定期預金残高」という数字を画面へ表示するだけではありません。

  1. ORDINARY普通預金資金を移す
  2. TIME DEPOSIT定期預金銀行の内部記録も変わる
  3. MATURITY満期元本と利息が動く
  4. JOURNAL仕訳銀行側の会計へ
概念図利用者の商品状態と、銀行側の会計をつなげる。

普通預金から定期預金へ資金が移れば、銀行の内部記録も変わる。

満期になれば元本と利息が動く。

利用者の商品状態と、銀行側の会計をつなげます。

利息計算は学習用の簡略化されたモデルです。

PART IICorporate Banking

会社のお金は、一人で動かさない。

個人向け銀行機能に会社名を付けただけではありません。

法人では、「会社」と「操作する人」を分けます。

第4章 Corporate Banking

「会社」と「操作する人」を分ける。

OWNER法人口座の所有者
  • USER ID担当者 A
  • USER ID担当者 B
  • USER ID担当者 C
概念図口座の所有者は法人。操作するのは、ユーザーIDを持った担当者。

口座の所有者は法人。

操作するのは、それぞれのユーザーIDを持った担当者です。

Role / Permission

法人ユーザーの役割は、実装上4つです。

  • viewer閲覧者
  • operator振込担当者
  • approver承認者
  • manager法人管理者

役割によって操作できる機能を分けます。

同じ法人に所属しているからといって、全員が同じ操作をできるわけではありません。

BANK SIDE — 法人Roleとは別

  • operatorオペレーター
  • admin_manager管理責任者

銀行側の担当者は、法人のRoleとは別に、銀行の管理者Role(オペレーター/管理責任者)として扱います。

第5章 Maker / Checker

申請した人が、そのまま自分で承認しない。

法人支払では、申請・承認・実行を分離します。

  1. MAKER申請支払依頼を作った時点では、お金は動きません。
  2. CHECKER承認別の担当者が内容を確認する。
  3. EXECUTE実行承認された内容に基づいて実行する。
概念図申請・承認・実行の分離。承認後に内容が変われば、以前の承認は使わせない。
  • 金額や振込先を後から変えれば、以前の承認をそのまま使わせない。
  • 担当者の権限が変われば、それも取引条件に反映する。

銀行システムだけでなく、

企業内部統制の考え方

まで扱っています。

第6章 Scheduled Payment

支払日と実行日は、同じではない。

指定日付きの支払依頼も扱います。

  1. REQUESTED申請日
  2. BEFORE VALUE DATE指定日前実行を拒否する
  3. VALUE DATE指定日
  4. EXECUTED実行日実際に実行された日を記録する
概念図申請日・指定日・実行日。この3つを分けます。

申請日。指定日。実行日。この3つを分けます。

指定日前なら実行を拒否する。

指定日を過ぎてから実行したなら、実際に実行された日を記録する。

そして、指定日になったからといって無条件に送金するわけではありません。

実行時にも、

  • 権限。
  • 口座状態。
  • 残高。
  • 限度額。

などを確認します。

自動振込サービスではなく、学習用の指定日支払フローです。

第7章 Corporate Control

支払いだけ厳しくしても、統制にはならない。

  • 限度額を一人で自由に変更できたらどうでしょう。
  • 担当者の権限を一人で変更できたらどうでしょう。

MiniBankでは、支払いだけでなく、

  • 法人メンバー。MAKER + CHECKER
  • 権限。MAKER + CHECKER
  • 限度額。MAKER + CHECKER
  • 重要な設定変更。MAKER + CHECKER
概念図支払い以外の操作にも、二者確認の考え方を入れる。

こうした操作にも二者確認の考え方を入れています。

法人全体の日次上限も、口座や担当者を分けるだけで簡単に回避できないように扱います。

PART IIITransaction Integrity

取引の正しさを、画面の外で守る。

Idempotency・Concurrency・RESULT_UNKNOWN・逆仕訳・Ledger。

第8章 Idempotency / Concurrency

同じ依頼を、二重の送金にしない。

金融システムでは、

「ボタンを二回押した」

「通信が切れて再送した」

だけで二重送金になってはいけません。

MiniBankでは、依頼を識別するキーを使います。

同じ依頼が再び届いたとき、

REQUESTkey: 同じキー同じ依頼が再び届いた
SAME KEY · SAME CONTENTすでに処理済みなら既存結果を返す。
SAME KEY · DIFFERENT CONTENT同じキーなのに内容だけ違うなら拒否する。
概念図依頼を識別するキーで、再送を安全に扱う。

同時に処理されたら?

PROCESS A古い残高を読む引き落とす
PROCESS B同じ古い残高を読む引き落とす
BALANCE残高は壊れます。
概念図二つの処理が同じ古い残高を読むと、残高は壊れる。

二つの処理が同じ古い残高を読み、

それぞれが勝手に引き落としたら、

残高は壊れます。

そのためMiniBankでは、

重要な金融更新をデータベース側で制御します。

  • 残高確認。
  • 口座状態。
  • 限度額。
  • 金融記録。

これらをバラバラに更新するのではなく、必要な単位で整合させます。

第9章 Result Unknown

エラーになった。
だから失敗した。
……とは限らない。

これはMiniBankで特に重視している考え方です。

  1. DATABASEデータベースでは送金が完了した。
  2. NETWORKしかし、その直後に通信が切れた。
  3. SCREEN利用者の画面にはエラーが出た。
概念図DBでは完了、画面ではエラー。このとき安易に再送すると二重送金になり得る。

このとき、

「失敗したから、もう一度送ろう」

と考えると、

二重送金になる可能性があります。

そこでMiniBankでは、

  • SUCCESS
  • FAILED
  • RESULT_UNKNOWN

を区別します。

結果が分からなければ、

  1. まず元の依頼を照会する。
  2. 確定済みなら、その結果を取得する。
  3. 分からないからといって、安易に再送しない。

金融システムでは、

「分からない状態」を正しく扱うこと自体が機能です。

第10章 Reversal

間違いを、履歴ごと消さない。

銀行の帳簿で、

都合の悪い取引を削除してしまったら、

何が起きたのか後から分からなくなります。

MiniBankでは、訂正が必要な場合、

元の仕訳を残したうえで、

反対方向の仕訳を追加する

逆仕訳

を扱います。

逆仕訳の考え方
記録借方貸方扱い
元の仕訳勘定 X勘定 Y残す
逆仕訳勘定 Y勘定 X追加(反対方向)
概念図元の仕訳は削除せず、反対方向の仕訳を追加する。
  • 元の記録。
  • 訂正。
  • 訂正理由。

何が起きたのかを後から追えることを重視します。

第11章 Ledger

残高の裏側には、帳簿がある。

MiniBankは、

口座テーブルの残高数字だけを増減させるアプリではありません。

取引の裏側には、

銀行側の台帳があります。

CUSTOMER VIEW顧客の普通預金資産
BANK VIEW銀行から見れば負債
概念図同じ預金が、顧客から見れば資産、銀行から見れば負債。
  • 顧客の普通預金は、顧客にとっては「資産」。銀行から見れば「負債」。
  • 利息を払えば、銀行側には費用が発生する。
  • 定期預金へ資金を移せば、銀行内部でも勘定間の動きが生じる。

顧客に見えるお金の動きと、銀行側の会計をつなぐ。

ここは、経理・財務の視点からMiniBankを見ると特に面白い部分です。

PART IVBusiness Day / Recovery

銀行の一日を締め、問題の後まで扱う。

論理営業日・EOD / BOD・照合・調査・Backup / Restore。

第12章 Business Day

銀行の一日は、0時になっただけでは終わらない。

MiniBankには、システムが管理する論理営業日があります。

  1. OPEN営業中。
  2. CLOSING締め処理開始。
  3. EOD日次処理。
  4. RECONCILE照合。
  5. REVIEW確認。
  6. CLOSED営業日終了。
  7. BOD翌営業日開始。
金融取引を受け付ける新しい金融更新を止める(結果の確認は止めない)
概念図論理営業日の流れ。締め処理が始まれば、新しい金融更新を止める。

という流れを管理します。

締め処理が始まれば、新しい金融更新を止める。

一方で、すでに依頼された取引の結果確認まで止めてしまうわけではない。

「金融取引を受け付ける時間」と「結果を確認すること」を分けます。

第13章 EOD / BOD

一日を締める。
翌日を始める。

End of Day。Beginning of Day。

MiniBankでは、単なる日付更新ではなく、銀行業務として扱います。

  • 定期預金の満期処理。
  • 取引状況。
  • 帳簿。
  • 残高。
  • 各種照合。
  • 異常の有無。
概念図必要な日次処理を確認してから締める。

必要な日次処理を確認してから締める。

問題があれば、

「なかったこと」にせず、

調査対象へ回します。

第14章 Reconciliation

帳簿と残高は、本当に合っているか。

金融システムでは、

複数の場所に似た数字が存在します。

  • 台帳。
  • 表示用残高。
  • 業務取引。
  • 商品残高。
  • 補助元帳。
RECONCILIATION一致しているか差異 → 運用上の問題として扱う
概念図複数の場所にある似た数字が、一致しているかを確認する。

これらが一致しているか確認する。

それが照合です。

MiniBankでは、

「画面上の残高がそれっぽい」

だけで正常とは判断しません。

差異を検出したら、

それ自体を運用上の問題として扱います。

第15章 Investigation / Recovery

問題が起きた後までが、システム。

  • 日次処理の失敗。
  • 支払予定の問題。
  • 残高差異。
  • 結果不明。

こうしたものを調査案件として扱います。

  1. 根拠を残す。
  2. 履歴を残す。
  3. 別担当者が確認する。

そして、

CASE案件を「完了」にする
≠
MONEYお金を動かす
概念図案件の完了と、お金を動かすことは別の操作。

案件を「完了」にすることと、お金を動かすことを分離する。

調査画面で完了ボタンを押したからといって、

金融記録まで都合よく書き換わるわけではありません。

第16章 Backup / Restore

バックアップがあることと、
安全に再開できることは違う。

バックアップを復元できた。

アプリも起動した。

だから復旧完了。

……ではありません。

  • そのバックアップの後に成立した取引はどうなるのか。
  • 台帳は正しいか。
  • 残高は正しいか。
  • 権限は戻っているか。
  • 監査記録は残っているか。
  • 同じ取引を再度送ったらどうなるのか。
  1. RESTORE隔離した検証環境で復元
  2. RECONCILE復元後のデータを照合
  3. SAFE RESTART?安全に金融更新を再開できる状態か
概念図「起動できる」と「安全に再開できる」の間にある確認。

MiniBankでは隔離した検証環境で、

復元後のデータを照合し、

安全に金融更新を再開できる状態かを確認する考え方まで扱っています。

起動できることと、安全に再開できることを分ける。

これも金融システムの重要なテーマです。

PART Vv8 – v10 · Posting / Interbank / Accounting

v8〜v13:銀行の内側へ。

v8 Ledger & Posting Engine から、v13 Treasury / ALM Simulator まで。

第17章 Ledger & Posting Enginev8

そしてMiniBankは、
「仕訳を書くアプリ」から
「仕訳を生み出す基盤」へ。

v8では、Ledger & Posting Engineを追加しました。

それまで各業務の中に存在していた記帳を、

より体系的な仕組みとして扱います。

Business Event
業務で何が起きたのか。
Posting Rule
そのイベントなら、どの勘定へ、どちら側に、いくら記帳するのか。
Journal
ルールによって生成された仕訳。
Ledger
それらを積み上げる銀行の帳簿。
  1. BUSINESS EVENT業務で何が起きたか
  2. POSTING RULEどの勘定へ・どちら側に・いくら
  3. JOURNAL ENTRY生成された仕訳借方 / 貸方
  4. LEDGER銀行の帳簿
概念図Posting Engine:業務イベントからルールで仕訳を生成し、帳簿へ積み上げる。

つまり、Business Event → Posting Rule → Journal Entry → Ledger という流れです。

「振込処理のコードの中で仕訳を書いた」

だけではありません。

銀行取引を会計記録へ変換する仕組みそのものを、一つの基盤として扱う。

MiniBankはここで、一段階違うシステムになりました。

第18章 Integrity Check

記帳できれば、それで終わりではない。

Posting Engineでは、

帳簿そのものの整合性も確認します。

  • 残高。
  • 元帳。
  • 仕訳。
  • 勘定。
  • 取引記録。
INTEGRITY ISSUE → CLOSINGBLOCKED運用者に対応を求める
概念図整合性チェックで問題が見つかった締めは、CLOSEDではなくBLOCKEDとして記録される。

差異を抱えたまま締め処理を完了させてしまえば、

問題を含んだ帳簿が「締めた結果」として残ってしまいます。

だから、

異常を検知したら、締め処理を完了させない。

整合性チェックで問題が見つかった日次・月次の締めは、

CLOSEDではなくBLOCKEDとして記録し、

運用者に対応を求めます。

「とりあえず締める」ではなく、

金融システムでは安全側に倒すことも重要な設計です。

第19章 Interbank Payment Simulatorv9

MiniBankの中だけで終わらない。
他の銀行へ送る。

v9では、Interbank Payment Simulatorを追加しました。

MiniBank内部の口座振替だけでなく、

別の銀行へ送金するケースを扱います。

Participant Bank
架空の参加銀行。
Interbank Payment
他行宛の支払。
Clearing
誰から誰へ、いくら送るのかを整理する。
Settlement
実際の銀行間資金決済を確定する。

MiniBankでは、この流れを学習用にシミュレーションします。

実際の銀行ネットワークへ接続するわけではありません。

しかし、

自分の銀行内だけで残高を減らせば他行送金が終わるわけではない

という重要な考え方を、動く形で扱います。

第20章 Central Bank Money

顧客の預金と、銀行同士のお金は同じではない。

MINIBANK顧客A顧客の預金(銀行内部の帳簿)
INTERBANK PAYMENT銀行間支払CENTRAL BANK中央銀行預け金銀行側の決済用資金
PARTICIPANT BANK顧客B架空の参加銀行
概念図顧客の振込(銀行内の帳簿)と、銀行間の資金決済(中央銀行預け金)を分けて考える。架空の参加銀行によるシミュレーション。

顧客Aから顧客Bへ送る。

二人が同じ銀行なら、銀行内部の帳簿で完結できます。

しかし、相手が別の銀行なら、銀行同士の決済が必要になります。

そこで登場するのが、銀行側の決済用資金です。

MiniBankでは、銀行間支払と中央銀行預け金を意識した勘定をつなぎます。

これにより、

顧客の振込
と
銀行間の資金決済

を分けて考えられます。

第21章 RESULT_UNKNOWN — Interbank

他行送金で、結果が分からない。
だからもう一度送る。
……は危険です。

v9では、銀行間決済でも RESULT_UNKNOWN を重要な状態として扱います。

送信した。

しかし返答がない。

この状態で同じ決済を再送したら、

二重決済になる可能性があります。

そこで、再送ではなく照会を行います。

  1. SENT送信した。
  2. RESULT_UNKNOWNしかし返答がない。
  3. INQUIRY照会:相手側・決済側の確定状態を確認する
  4. SETTLED結果に合わせてMiniBank側の状態を解決する
RESEND安易な再送 → 二重決済の可能性
概念図結果不明の取引は、再送ではなく照会で SETTLED へ解決する。

相手側・決済側の確定状態を確認し、

その結果に合わせてMiniBank側の状態を解決する。

実装上も、

結果不明の取引に対して安易な再送をさせず、

照会によってSETTLEDへ解決する流れを用意しています。

第22章 Bank Accounting & Closingv10

銀行取引を、
最後は「銀行の決算」までつなげる。

v10では、Bank Accounting & Closingへ進みました。

BANKING TRANSACTIONS
  • 顧客が振り込んだ。
  • 定期預金を作った。
  • 利息を支払った。
  • 他行から入金があった。
  1. JOURNAL仕訳Posting Engine(v8)
  2. GENERAL LEDGER総勘定元帳
  3. TRIAL BALANCE試算表借方と貸方を確認
  4. BS / PLBalance Sheet / Profit & Loss
概念図銀行取引が仕訳・総勘定元帳を経て、試算表・BS・PLへ集約される。
General Ledger
銀行の総勘定元帳。
Trial Balance
勘定残高を一覧化し、借方と貸方を確認する。
Balance Sheet
資産。負債。純資産。
Profit & Loss
収益。費用。
Subsidiary Ledger Reconciliation
補助元帳とGLの整合を確認する。
Daily Closing
一日の締め。
Monthly Closing
月次の締め。

顧客が振り込んだ。定期預金を作った。利息を支払った。他行から入金があった。

それらは最後に、

銀行の会計へ集約されます。

第23章 Balance Sheet

資産 = 負債 + 純資産

ASSETS資産
LIABILITIES負債
EQUITY純資産
概念図取引を積み上げた結果として、この関係が保たれていること。

これは会計の基本です。

しかし、

画面へ式を書くだけなら簡単です。

重要なのは、

実際の取引を積み上げた結果として、

その関係が保たれていること。

MiniBankでは、

  • GL。
  • 補助元帳。
  • BS。
  • PL。

それぞれをつなぎ、

銀行業務の結果を会計として確認します。

第24章 Closing

締めるということは、
「ボタンを押した」ではない。

  • 日次締め。
  • 月次締め。
  1. 必要な確認を実施する。
  2. 問題があれば警告を残す。
  3. 照合結果を確認する。
  4. そして、締めた状態を記録する。

「会計画面があります」から、「締め処理まで動く」へ。

v10でMiniBankはそこまで広がりました。

PART VIv11 – v13 · AML / Operations / Treasury

v11〜v13:監視し、運用し、資金を管理する。

v11 Fraud / AML Simulator・v12 Banking Operations Center・v13 Treasury / ALM Simulator。

第25章 Fraud / AML Simulatorv11

不審な取引を見つける。
しかし、「怪しい」だけで犯人にしない。

v11では、Fraud / AML Simulatorを追加しました。

Ledgerに記録された取引を監視し、

一定のルールに該当するものを検出します。

しかし、

アラートが出たからといって、

その時点で不正と決めつけるわけではありません。

  1. SCAN取引を監視する。
  2. ALERTルールに該当する取引を検出する。
  3. CASE調査案件を作る。
  4. INVESTIGATION何が起きたかを調べる。
  5. EVIDENCE判断の根拠を集める。
  6. DECISION調査結果を判断する。
概念図検知から判断まで。アラートは調査の入口であり、不正の確定ではない。
Alert≠Fraud

アラートと不正確定を分ける。これはAMLを扱ううえで非常に重要な考え方です。

第26章 Evidence before Decision

証拠なしで、判断しない。

MiniBankのAMLフローでは、

必要な調査を行わないまま、

いきなり判断しようとすると拒否される設計があります。

ALERT → DECISION調査なしで、いきなり判断拒否
INVESTIGATE → EVIDENCE → DECISION調査する。根拠を残す。そのうえで判断する。判断へ
概念図調査・根拠を経ない判断は拒否される。
  1. 調査する。
  2. 根拠を残す。
  3. そのうえで判断する。

誤検知なら、

誤検知として完了する。

「怪しいから自動で口座凍結」

だけの単純な仕組みにしない。

検知・調査・判断・実処理を分けています。

第27章 Banking Operations Centerv12

銀行は、正常時だけ動けばいいわけではない。

v12では、Banking Operations Centerを追加しました。

ここでMiniBankは、

「機能を持つシステム」から

「運用するシステム」

へ進みます。

  • SYSTEM STATUS現在、銀行システムの各業務がどの状態なのか。
  • EXCEPTION QUEUE正常に終わっていないものは何か。
  • APPROVAL QUEUE人の判断を待っているものは何か。
  • RECONCILIATION ISSUE帳簿と補助記録に差異はないか。
  • RESULT_UNKNOWN結果が分からない取引は残っていないか。
  • TRACEその取引は、どこまで処理されたのか。
  • INCIDENT何が起きたのか。
  • RUNBOOKその状況で、何を確認すべきなのか。
UIモック(概念図)Operations Centerが扱う観点を並べた概念図です。実際の画面ではありません。

第28章 Trace

「エラーです」ではなく、
何が起きたかを追う。

金融システムで問題が起きたとき、

ただログを眺めるだけでは判断できないことがあります。

  1. どの依頼なのか。
  2. 誰の取引なのか。
  3. どの処理まで成功したのか。
  4. 仕訳は作られたのか。
  5. 決済は確定したのか。
  6. 結果は利用者へ返ったのか。
概念図取引を「業務の流れ」として追う。

MiniBankでは、

運用画面から原因を追跡するための情報をつなぎます。

取引を「業務の流れ」として追う。

それがOperations Centerの役割です。

第29章 Incident Management

システム障害を、「何となく直った」で終わらせない。

  1. 異常を検知する。
  2. インシデントとして扱う。
  3. 対象を特定する。
  4. 状況を確認する。
  5. 必要な手順を確認する。
  6. 安全な操作だけを行う。
  7. そして、再開できるかを判断する。

MiniBankでは、

問題発生後の運用までをシステム設計の対象にしています。

第30章 Treasury / ALM Simulatorv13

そして、MiniBankは
「銀行の資金繰り」へ。

v13では、Treasury / ALM Simulatorを追加しました。

ここまで来ると、

顧客向け銀行アプリという枠を大きく超えます。

銀行には、資金繰りがある。
  • 預金が減った。
  • 支払いが増えた。
  • 金利が上がった。
  • 調達コストが変わった。

銀行は、

資産と負債を見ながら、

必要な資金を確保しなければなりません。

第31章 Liquidity

預金が流出したら、銀行は大丈夫なのか。

Treasury / ALM Simulatorでは、

預金流出シナリオを設定できます。

預金が20%流出したら。−20%
さらに40%流出したら。−40%
概念図預金流出シナリオの考え方(棒の長さは流出率のイメージ)。
  • 現在の流動性で耐えられるのか。
  • 足りなければ、いくら調達する必要があるのか。
  • その調達に、いくらコストがかかるのか。

数字で確認します。

第32章 Interest Rate Shock

金利が変われば、銀行の収益も変わる。

  1. MARKET RATE ↑市場金利が上昇したら。
  2. FUNDING RATE ↑調達金利が上がったら。
  3. FUNDING COST銀行の資金調達費用はどうなるのか。
  4. NIINet Interest Income、NIIはどう変化するのか。

MiniBankでは、

市場シナリオを使ったWhat-if分析を行います。

第33章 What-if

「もし」を、実際に計算する。

架空の銀行条件を入力し、

再現可能なシナリオとして計算します。

例えば、

預金流出
20%
必要調達額
150万円
調達コスト
5,250円
NIIへの影響
−6,100円
計算例MiniBankの学習用シナリオに基づく計算例(原稿記載の数値)。

さらに流出率を大きくすれば、

資金ショートが発生するケースも確認できます。

これらはMiniBankの学習用シナリオに基づく計算例であり、実在銀行の財務状況や規制指標ではありません。

第34章 GL → ALM

Treasuryは、突然別の数字を使わない。

v13で重要なのは、

ALM画面だけを独立して作ったのではないことです。

  1. v10までに作ったGL。
  2. そこから銀行のポジションを取得する。
  3. 市場シナリオを与える。
  4. 流動性を見る。
  5. 必要調達額を計算する。
  6. 資金取引が必要なら、v8のPosting Engineへつなぐ。
  7. その結果は、再び銀行会計へ反映される。
v8 · v10 · v13と循環します。
  1. GL銀行のポジション
  2. Treasury / ALM市場シナリオ・流動性
  3. Funding必要調達額
  4. Posting Engine資金取引を仕訳へ
  5. GL / BS / PL銀行会計へ反映
概念図GL → Treasury / ALM → Funding → Posting Engine → GL / BS / PL と循環する。

PART EXAMPLETransfer / Ledger / GL

一万円の振込を、帳簿までたどる。

AからBへ、同じ銀行内で10,000円を振り込む。これは実取引ではなく、記録の関係を読むための例です。Aの預金が減り、Bの預金が増える。銀行から見ると、顧客に対する預金負債の内訳が移ります。

取引のBusiness EventをPosting Ruleに従って仕訳へ変換し、Ledgerに残す。GLでは科目の集計を行い、補助元帳と照合する。この説明上の順序を、すべてが同時に一つのトランザクションで確定する保証として読み替えません。

  1. A → B10,000円の振込
  2. EVENT / RULE事象と記帳規則
  3. JOURNAL / LEDGERAの預金減・Bの預金増
  4. GL科目の集計
  5. RECONCILE補助元帳との照合
概念図手数料を含めない同一銀行内の10,000円の振込例。業務記録とGL集計・照合の関係を示す概念図。

残高の数字だけでなく、なぜその数字になったのかを残す。

PART v14Lending / Credit

預金を預かるだけではない。
貸す、返す、確かめる。

個人向けの架空融資を、申込画面だけで終わらせず、契約・返済・会計・運用までつなげます。

申込と、審査と、実行を分ける。

融資は、ボタンを押して残高を増やす処理ではありません。申込が届き、担当者が審査し、別の管理責任者が承認する。実行時には、承認の期限と、その時点で有効な担当者・決裁者の権限をもう一度確認します。

顧客には、自分の申込、契約、返済予定が見えます。管理者の審査メモや内部の提案まで、そのまま顧客に返す構成にはしません。第5章のMaker / Checkerを、今度は信用供与へつなぐ考え方です。

  1. APPLY申込
  2. REVIEW担当者の審査
  3. APPROVE別人の承認
  4. DISBURSE実行と記帳
  5. REPAY返済と照合
概念図個人向け学習用融資の説明上の流れ。法人融資や自動与信を表すものではありません。

契約時の条件を、返済まで持ち続ける。

基準の商品は固定金利・元金均等12回の学習用モデルです。契約には締結時の金利と返済回数を保存します。後で新しい商品の版を作っても、既存契約の約束を一斉に変えません。

返済予定表は元本と利息を区別します。利息は日数と残元本をもとに計算し、返済は確定済み未収利息から元本へ充当します。口座の残高が足りなければ、部分的に引き落として成功と見せるのではなく、処理を失敗として扱います。

期日を過ぎた延滞の状態と、契約そのものの状態も区別します。デフォルトの確定は別人確認を伴い、元本や未収利息を都合よく消す操作ではありません。回復や訂正にも理由と記録が必要です。

貸出の数字は、GLとリスクへ続く。

実行
貸付金という銀行の資産と、顧客預金という銀行の負債を記録する。
利息・返済
未収利息、利息収益、返済による元本の減少を、業務の記録と仕訳の両方で追う。
照合
契約ごとの元本・未収利息とGLを照らし合わせ、日次運用の差異やv18の信用リスク入力へつなぐ。

第17章のPostingと第22章のGLは、融資でも土台です。元本残高だけが合っていても、契約と仕訳が食い違えば十分ではない。その関係を、照合で確かめます。

実信用情報の照会、自動与信、実資金の融資・回収、法人融資、繰上返済、実際の税務や法令適合性の保証は対象外です。教材で扱う法人融資の概念と、この個人向け実装を混同しません。

PART v15Deposit / Pricing

金利が変わっても、
契約の約束は残る。

預金の金利・手数料・中途解約条件を版として管理し、見積りから会計まで理由を残します。

価格の版と、契約の条件は違う。

同じ定期預金でも、契約した時期で金利は変わります。そこで商品と価格の版を分け、提案者と別の管理責任者が承認します。公開された版の内容は後から書き換えず、新しい条件は新しい版として扱います。

見積りでは、元本・期間・営業日に対して適用する版、満期日、利息、中途解約の目安を確認できます。契約までに見積りが失効したり条件が変わったりした場合は、古い画面を信じて進めず、再見積りが必要になります。

契約時には版と金利、開始日・満期日、中途解約条件を固定して保存します。現在の価格表を読み直して、過去の契約の利息を勝手に変えることはしません。版を持たない旧契約も、推測で新しい版へ付け替えず、従来の扱いを区別して残します。

  1. VERSION価格の版
  2. QUOTE期限つきの見積り
  3. CONTRACT契約時の条件を固定
  4. INTEREST / EXIT利息・中途解約
  5. POSTING記帳・照合
概念図価格の版から契約条件へ。現在の価格と、既存契約に固定した条件を区別する概念図。

利息にも、手数料にも、計算の根拠を持たせる。

普通預金の利息は、期間の残高と版付き金利から再計算できる形にします。口座維持手数料には免除条件を持たせ、残高不足のときは請求できなかった記録を残します。実行済みの同じ口座・期間を重ねて処理しないことも、金額計算と同じくらい大切です。

新しい定期預金は契約時の条件から満期や解約の利息を計算し、業務の記録をLedgerの仕訳と照合します。これにより、v13の調達コスト、v18のリスク、v20の試算が「いま表示中の金利」だけに依存しない入力を持てます。

対象は架空の円建て預金商品です。実際の金利決定、税、預金保険を扱いません。v15の価格管理を、既存の他行送金手数料を全面変更する機能として説明しません。

PART v16Open Banking Sandbox

つなぐ前に、
誰が、何を許したのか。

架空の外部アプリを使い、同意・認可・API・通知の境界を学ぶ、閉じたSandboxです。

ログインと、外部アプリへの許可を混ぜない。

利用者がログインしたことと、外部アプリが口座を読めることは別です。まず架空クライアントを登録し、利用者が同意する範囲を確認します。認可コードをPKCEとともにトークンへ交換し、その資格とscopeで資源APIにアクセスします。

口座、残高、取引の参照と、振込の依頼は権限が異なります。本人の対象か、同意がいまも有効か、クライアントが停止していないかを確認します。第三者アプリから振込を依頼できても、利用者自身の承認まで省略するものではありません。

  1. CLIENT架空アプリ
  2. CONSENT利用者の同意
  3. PKCEコードとトークン
  4. RESOURCE権限つきAPI
  5. APPROVAL利用者の承認
概念図架空クライアントとMiniBankの閉じた検証環境。実在企業や銀行への接続ではありません。

通知が遅れても、金融結果を作り直さない。

状態の変更はイベントとして記録し、Webhookの配信を模擬します。成功、失敗、再試行、重複、逆順といった受信者の振る舞いを試すための仕組みです。通知は結果を伝えるものであり、通知を受けるたびに資金を動かす処理ではありません。

受け手はイベントIDで重複を除き、同意ごとの順番を見ます。欠けた通知はAPIで追いつく。振込の応答が消えたときは、元の冪等キーで状態を照会する。第8・9章のRESULT_UNKNOWNと二重送金防止が、連携の外側でも同じ意味を持ちます。

同意の失効、トークンの期限切れ、scope不足、他人の口座、改ざんされた署名を、正常な成功と区別して拒否します。金融結果と通知の結果を分けることで、連携の障害を金融取引のやり直しへ直結させません。

実第三者、実金融機関、実API、外向きのWebhook配信を接続するサービスではありません。OAuth / PKCEを学ぶ教育用の簡易構成で、認可サーバーの認証や実運用への準拠を保証しません。

PART v17Reliability / Recovery

復元できた、だけでは
再開しない。

何を戻したのか。その状態で再開してよいのか。復旧の判断にも、証拠と別人確認を持たせます。

止める。対象を決める。戻した状態を確かめる。

古いバックアップを戻して、帳簿の借貸が合っているだけで再開してしまうと、障害前の取引が欠けていても見逃すおそれがあります。復旧では、内部の整合性だけでなく、戻すべき状態との一致が必要です。

書き込みを止め、復元対象の識別情報と書き込み世代を、障害前に外へ控えた値に照らして宣言する。口座・元帳・GLだけでなく、融資、価格、グループなどの関連領域も照合する。問題が残っていれば、検証結果を成功に置き換えず、再開を止めます。

  1. PAUSE書込停止
  2. DECLARE復元対象・世代の宣言
  3. RECONCILE関連領域の照合
  4. VERIFY再開前の検証
  5. REVIEW別人確認・再開判断
概念図復旧のガードレールを説明する概念図。自動バックアップや無人復旧の保証ではありません。

修復と、再開の承認も分ける。

限定された差異の修復と、復元後の全体検証は別です。修復できる範囲を絞り、提案・確認・実行の記録を残します。元の履歴を消して何事もなかったように見せることとは違います。

復旧結果を提出した人と、再開を認める人を分ける。提出後に状態が変わっていないかも確認する。第16章までの安全な再開と、第27〜29章の例外・Incident・Runbookを、新しい領域が増えた状態でも守るための統制です。

「照合が通った」「隔離環境で復元を試した」「本番をこの手順で復旧した」は、それぞれ違う証拠です。実際に運用する人の作業や、外へ控える情報を含む手順まで確認して、はじめて運用として評価できます。

本番の自動バックアップ、PITR、Authデータの自動復元、無停止復旧、RTO / RPOの保証を意味しません。復旧演習の記録と本番での実施条件は別途照合対象です。

PART v18Enterprise Risk

四つのリスクを、
同じ入力から考える。

融資、価格、ALM、運用の記録を凍結し、仮定と計算式を明示した比較へつなげます。

信用
融資の元本・未収利息と区分を使い、架空のPD・LGDから期待損失を試算する。
市場・金利
金利ショックによる純金利収益の変化や再評価ギャップを見る。
流動性
預金流出後の流動資産と必要調達額、調達費用を比べる。
オペレーショナル
Incidentの時間と重大度、架空の重みから想定損失を計算する。

何を入力し、どの式で計算したかが残る。

違う時点の残高や契約を比べて、シナリオの差だけだと誤解しないように、入力のスナップショットを取ります。パラメータも承認された版を使い、実行記録には入力、式、結果、警告、欠測を残します。

金利上昇、預金流出、信用ストレス、複合ストレスを、同じスナップショットで比較する。保存した入力から再計算し、結果を確かめる。指標の意味と前提が分かっているから、単に赤い数字が出るダッシュボードとは違う読み方ができます。

必要なALMや価格の入力がなければ、欠測や代替の仮定を明示します。計算できない値を0にして安全に見せません。また、異なる単位の指標をそのまま合算しません。同じ円の単位で整理した総合比較も、相関・分散効果を考慮しない簡易モデルであることを残します。

対策の記録は、取引の自動実行ではない。

対策案には、対象の実行結果、理由、期待する効果を記録し、別の管理責任者が判断します。その承認は意思決定の記録です。勝手に融資条件や取引上限を変更したり、調達取引を実行したりはしません。

v13のTreasury / ALMが資金や金利を見る土台なら、v18は信用と運用も含めて比較する視点です。v20では、その計算を試算の期末状態へつなぎます。

PD・LGD・損失係数は教育用の架空の仮定です。規制上の自己資本比率、LCR / NSFR、認証済みリスク計測、実市場価格の評価、集中リスクや相関を含む全面的なリスク管理を提供しません。

PART v19Group / Consolidation

法人ごとの正しさと、
グループ全体の見方。

元帳は法人別に守る。相互勘定は照合する。連結の消去は報告上で行う。

同じグループでも、元帳と権限は一つにしない。

既存の銀行を基準法人とし、追加法人には独立した元帳と、扱える人の役割を持たせます。基準銀行の記帳は、引き続き既存のPosting Engineが入口です。グループの画面ができたからといって、銀行の元帳を別の書き込み口に置き換えません。

法人口座の顧客と、グループ内の法人を管理する権限も異なります。グループ管理は、既存の全データを単に「法人ID付きの一枚の表」に移す説明ではありません。

送った側と、受け取った側を、別々に確定する。

グループ内の資金移動は、送り手が記帳する段階と、受け手が記帳する段階を持ちます。資金供与、返済、役務の対価には、それぞれ異なる相互勘定が残ります。二つの法人をまたぐ一つの仕訳を作って、両側の責任を曖昧にしません。

片側だけが確定しているときは、照合待ちとして扱います。理由を残して受け取りを再試行するか、送り手の仕訳を逆仕訳で取り消すかを判断する。完了していないものを成功と表示しない、第9章からの考え方です。

法人別の借貸、相手別の債権・債務、基準銀行の補助元帳、読み取りadapterを別々に照合します。「全体の合計が合っている」だけで、片側の欠落を隠しません。

  1. ENTITY A / B法人別元帳
  2. MATCH相互勘定の照合
  3. SNAPSHOT同じ営業日の確定入力
  4. ELIMINATION報告上の消去
  5. REPORT連結結果・差異の説明
概念図法人別の確定元帳から報告上の連結へ。消去結果は正式な元帳に書き戻しません。

連結した報告から、法人別の記録へ戻れる。

同じ営業日の法人別スナップショットを合算し、債権・債務と受取・支払手数料を報告上で消去します。消し切れない残りは、移動中なのか、説明できない不一致なのかを分けて示します。確定後に元帳が動いた場合も、報告時点との差として読みます。

連結報告は、法人ごとの元帳を書き換える訂正処理ではありません。v20のベースラインにも、法人別とグループ全体を区別した入力としてつながります。

対象は架空のグループと簡易連結です。持分法、外貨換算、少数株主持分、実在企業の連結財務報告、完全な会計基準対応を提供するものではありません。

PART v20BANK DIGITAL TWIN

金利が1ポイント上がると、
銀行に何が起こるのか。

取引を記録する仕組みから、条件を変えて理由をたどる試算へ。

BASELINE凍結した実績
元帳・価格・融資・Treasury・リスク・法人別の記録を、一時点の入力として固定する。
MODEL架空のモデル
預金の追随率や貸出需要など、明示した仮定の版を使う。実績からAIが学習する模型ではない。
SCENARIO条件の変更
政策金利や一時的な預金流出、計算する期間を設定する。「1ポイント」は仮想の例。
SEED再現の条件
試算の揺れを再現するための値。将来予測の確度や統計的な信頼区間を示す値ではない。

預金の金利は、どこまで追随するのか。

預金が流出したら、いくら調達する必要があるのか。

貸出の利息収益と調達費用は、どのように変わるのか。

v20のBank Digital Twinは、凍結したMiniBank内の実績データと、明示したモデルの仮定を使い、条件を変えたときの影響をたどる試算機能です。

政策金利から、預金価格、預金残高、調達コスト、貸出収益、資金繰り、試算上のBS・PL、リスクまで。

一つの条件変更を、つながりのある変化として見ていきます。

同じ入力で計算し直す。条件をそろえたシナリオを比べる。仮定を変え、何が結果を左右するかを確かめる。

大切なのは、未来を言い当てることではなく、結果に至る理由をたどれることです。

取引で残った実績と、条件を変えて作る試算。二つを混ぜずにつなぐ。

凍結した入力 + 架空の仮定 + シナリオ + シード

  1. 01 政策金利基準の金利に、シナリオの変化を加える。
  2. 02 預金の価格価格の版と追随率から、試算する金利を決める。
  3. 03 預金残高金利差・流出の仮定・シード値から、残高の変化をたどる。
  4. 04 調達コスト預金利息と借入利息を、同じ月の入力から計算する。
  5. 05 貸出需要・利息収益既存の固定金利は維持し、新規貸出の需要と金利へ伝える。
  6. 06 Treasury・ALM流動資産と資金の運用を、銀行全体の関係で見る。
  7. 07 資金不足必要なバッファに対する不足を、試算上の調達で埋める。
  8. 08 試算上のBS・PL貸借対照表・損益計算書を作り、会計恒等式を確認する。
  9. 09 リスクの試算期末の状態を、既存のv18リスク計算へつなげる。

出力は試算の記録。正式な元帳・口座残高・契約への書き戻しはありません。

概念図矢印は月次試算の説明上の順序。凍結入力から9段階をたどる概念図であり、稼働中のサービス間通信や実際の金融取引を表すものではありません。

比べる。

同じベースライン・モデルの版・シード値をそろえた試算を比較する。

入力をそろえてから条件の違いを見ることで、比較してよい結果の組を区別します。

確かめる。

保存した入力から再計算し、結果が一致するか確認する。

凍結入力と保存済み結果のハッシュを照合し、同じ条件を再現できるかを確かめます。

理由をたどる。

各段階の入力・式・出力と、仮定の感応度を確かめる。

感応度はパラメータを一つずつ変える分析です。自動で最適な経営判断を提案するものではありません。

4入力から9段階をたどる計算、比較・再計算・感応度は固定コード上の実装を確認しています。現在のProductionで業務E2Eを実証したという意味ではありません。試算は実績ではありません。正式な元帳・口座残高・商品契約は変更しません。模型の仮定は架空であり、現実の銀行を予測するための精度検証や、統計的な当てはめを行ったものではありません。試算の入力・実行結果は専用領域に記録します。

いまある機能を、試算の入力につなぐ。

v13のTreasury・ALM、v14の融資、v15の預金価格、v18のリスク、v19の法人別元帳。Digital Twinはそれぞれの実績を凍結し、同じ言葉と計算につなげます。

既存の固定金利融資は、金利ショックで一斉に変動金利へ変更しません。価格の版、既存契約、新規貸出を区別します。

必要な入力がないときは、実行を拒否する場合や、注意・欠測を返す場合があります。見栄えのために0で埋めたグラフは作りません。

ここで示す図は、試算の仕組みを説明する概念図です。実績を予測の数値として読み替えず、入力・仮定・欠測とともに結果を読みます。

試算を支える仕組みを見る →

第35章 One Transaction. One Bank.

MiniBankの本当の特徴は、機能の数ではない。

1件の取引を考えてみます。

一つひとつ別々のデモを作ったのではありません。

できる限り、

一つの銀行の中でつなげる。

それがMiniBankの設計思想です。

  1. 利用者がログインする。AUTH
  2. 本人確認・口座状態を確認する。PERSONAL
  3. 振込先と金額を入力する。PERSONAL
  4. MFAで認証する。MFA
  5. 権限・上限・残高を確認する。CONTROL
  6. 振込を確定する。TRANSFER
  7. Posting Engineが仕訳を生成する。POSTING · v8
  8. Ledgerへ記録する。LEDGER · v8
  9. 他行宛ならInterbank Paymentへ進む。INTERBANK · v9
  10. 銀行間決済を行う。SETTLEMENT · v9
  11. GLへ集約する。GL · v10
  12. AMLが取引を監視する。AML · v11
  13. 異常があればAlert / Caseへ。AML · v11
  14. Operations Centerから状態を確認する。OPS · v12
  15. 営業日終了時に照合・Closingを行う。EOD / CLOSING
  16. BS / PLを確認する。BS / PL · v10
  17. Treasury / ALMが銀行全体の流動性・金利影響を見る。ALM · v13
概念図1件の振込が、認証から会計・監視・運用・資金管理まで通っていく経路。

PART VIISecurity & Control

セキュリティと統制、そして監査。

認証・認可・RLS・Database Privilege・RPC・Fail Closed・MFA・Maker / Checker・監査記録。

第36章 Security & Control

セキュリティは、ログイン画面では終わらない。

MiniBankでは、画面を非表示にするだけで権限管理を終わらせません。

  1. L1IDENTITY認証。MFA。
  2. L2ACCESS認可。法人所属。法人ロール。
  3. L3DATABASERLS。データベース権限。RPC。
  4. L4TRANSACTION口座状態。振込限度額。Maker / Checker。
  5. L5EVIDENCE監査記録。
概念図認証から監査記録まで、複数の制御を組み合わせる。

認証。認可。RLS。データベース権限。RPC。口座状態。法人所属。法人ロール。振込限度額。Maker / Checker。MFA。監査記録。

これらを組み合わせます。

UI ONLY見えない画面を非表示にするだけ
ENFORCEDできないRLS・権限・RPCで拒否する
概念図画面で隠すことと、データベースが拒否することは違う。
Row Level Security
そのユーザーが参照できるデータを制限する。
Database Privilege
そのロールが実行できる操作を制限する。
RPC
許可された業務処理を通して更新する。
Fail Closed
必要な設定や認証条件が満たされないとき、「とりあえず通す」のではなく、拒否する。

「見えない」だけではなく、「できない」。

この境界を重要視しています。

第37章 Auditability

後から説明できること。

AUDIT TRAIL

  • 誰が。
  • いつ。
  • 何をしたのか。
  • 何が成功したのか。
  • 何が失敗したのか。
  • 何を承認したのか。
  • 何を取り消したのか。
  • 何を調査したのか。
  • 何を根拠に判断したのか。
概念図監査記録で後からたどれるようにしたい観点。

金融システムでは、

結果だけではなく、

経緯をたどれること

も重要です。

MiniBankでは、

重要操作と監査記録をつなげます。

PART VIIIArchitecture

この銀行が、どう動くのか。
構造まで見える。

MiniBankでは、利用者画面だけでなく、システム内部の責任分界も学習対象です。

第38章 Architecture

画面から帳簿、そして銀行機能まで。

概念的には、

  1. 01Customer / Corporate / Admin UI
  2. 02Next.js / TypeScript
  3. 03Authentication / Authorization
  4. 04Application Service / API
  5. 05PostgREST / Business RPC
  6. 06PostgreSQL Business Logic
  7. 07Posting Engine
  8. 08Ledger / GL
  9. 09AML / Operations / Treasury
概念図MiniBankの概念構成(原稿記載の構成を上から下へ)。

という関係になっています。

第39章 Responsibility

技術スタックより、「誰が何を守るか」。

  • 画面は何を担当するのか。
  • APIは何を確認するのか。
  • データベースは何を保証するのか。
  • 金融取引はどこで確定するのか。
  • 帳簿の正はどこなのか。
  • 異常を誰が検知するのか。
  • 運用担当者は何を確認するのか。

MiniBank Architectureでは、単に

  • Next.js。
  • TypeScript。
  • Supabase。
  • PostgreSQL。
  • Vercel。
  • Java。
  • Spring Boot。
RESPONSIBILITYその技術に、どの責任を持たせているか
概念図製品名を並べるのではなく、その技術に持たせた責任を見る。

と製品名を並べるのではありません。

その技術に、どの責任を持たせているか

を見ることを重視します。

第40章 Java / Spring Boot

別の技術スタックでも、同じ金融取引を考える。

MiniBankには、

Java / Spring BootによるPayment Serviceもあります。

  1. JAVAAPI
  2. SPRING BOOTController
  3. SPRING BOOTService
  4. SPRING BOOTRepository
概念図Payment Serviceの構成要素。
  • Controller。
  • Service。
  • Repository。
  • API。
  • 金融取引の責務。
  • エラー処理。

Next.js / PostgreSQLだけではなく、

エンタープライズ開発で広く使われるJavaの構成からも、

銀行システムを学べます。

重要なのは、

  • 別の実装経路だからといって、勝手に別の帳簿を作らないこと。
  • エラー時に何でも別経路へ流して二重処理を起こさないこと。

技術が違っても、金融取引の正しさは一つ。

その考え方を共有します。

PART IXMiniBank Academy

動かして終わりにしない。
なぜ動くのかまで学ぶ。

振込ができる。

それと、振込がなぜ安全に処理できるのか説明できる。

これは違います。

第41〜46章はv13時点の教材構成です。コースへの割当レッスン数と、教材ページのroutes数は異なります。現在のProduction表示数は別途照合対象です。固定基準コードの割当数は、v20増補で確認範囲とともに紹介します。

第41章 MiniBank Academy

動いているMiniBankを教材にする。

  • なぜ台帳が必要なのか。
  • なぜ二重送金を防ぐ必要があるのか。
  • なぜ法人では承認と実行を分けるのか。
  • なぜRESULT_UNKNOWNですぐ再送してはいけないのか。
  • なぜBSは貸借一致するのか。
  • なぜAMLではAlertとDecisionを分けるのか。
  • なぜ営業日を管理するのか。
  • なぜALMが必要なのか。

MiniBank Academyは、

動いているMiniBankを教材にして、銀行業務とシステム設計をつなげて学ぶコンテンツです。

MINIBANK動く
ARCHITECTURE構造が見える
ACADEMY仕組みを学べる
概念図MiniBank・Architecture・Academyが一体になっている。
MiniBank Academyのトップ画面。左に教材一覧と学習進捗、中央に「銀行の動きを、自分の言葉で説明する。」という見出しがある。
実際のMiniBank画面MiniBank Academyのトップ画面。左側に教材一覧と学習進捗が並びます(撮影時点の画面)。

第42章 9 Courses

基礎から専門領域まで。

Academyは、基礎から専門領域まで広がっています。

  1. COURSE 01

    基礎

    MiniBankの全体像、基本用語、画面・API・DBの関係。

  2. COURSE 02

    銀行業務

    口座、決済、預金、銀行ビジネスなど。

  3. COURSE 03

    銀行システム

    台帳、会計、振込、認証、監査、照合。

  4. COURSE 04

    ソフトウェア工学

    トランザクション、並行処理、API、DB、テスト、障害対応。

  5. COURSE 05

    Java / Enterprise Development

    Java、Spring Boot、Controller / Service / Repositoryなど。

  6. COURSE 06

    金融IT・信頼性

    安定稼働、品質、技術選択、金融システムの信頼性。

  7. COURSE 07

    Enterprise Architecture

    業務、アプリケーション、データ、技術を横断して設計する。

  8. COURSE 08

    法人銀行業務

    法人金融、企業財務、融資、コミットメントライン、シンジケートローンなど。

  9. COURSE 09

    Bank Engineering

    Posting。Interbank Payment。Bank Accounting。AML。Operations Center。Treasury / ALM。MiniBank v8〜v13で実装した銀行内部機能を、実装と結びつけて学びます。

    v8〜v13

第43章 107 Lessons

合計107レッスン。

既存教材を残しながら、

v8〜v13に合わせて銀行エンジニアリング教材を追加。

合計
107レッスン
新しい銀行エンジニアリング
29レッスン
Lab
6つのLab
そして
総まとめ

新しい銀行エンジニアリングには、29レッスン。6つのLab。総まとめ。を用意しています。

第44章 7 Learning Paths + Full Course

学び方は一つではありません。

目的から選ぶLearning Pathは7つ。

  • PATH 1 · 最初の1周Minibankを説明できるようになりたい全体像から振込、台帳、監査、照合までを最短距離でつなぎます。
  • PATH 2 · 設計・開発安全な金融transactionを設計したい境界、並行制御、脅威、テスト、障害対応をFailure Firstで追います。
  • PATH 3 · 金融IT・EA金融ITアーキテクトの視点を持ちたい実銀行の全体像から品質・信頼性・EAへ視野を広げます。
  • PATH 4 · 法人金融法人融資を銀行と企業の両面から学びたい信用分析から商品、契約、事務、モニタリング、Treasury、Dataまでを追います。
  • PATH 5 · はじめて学ぶ人初心者ルート:銀行システムの基本を学ぶ口座・残高・振込・台帳を、専門知識なしで順に理解します。
  • PATH 6 · 経理・財務・監査経理・財務ルート:Ledgerから照合まで台帳、記帳ルール、取消・訂正、照合を、銀行会計の視点で追います。
  • PATH 7 · 設計・開発エンジニアルート:取引の安全性と障害回復トランザクション境界、冪等性、同時実行、整合性検査、障害対応を実装で確かめます。

さらに、

FULL COURSE · 全体を体系的にフルコース:すべてを順番に学ぶCOURSE 01 から最新のコースまで、定義順にすべてのレッスンを学びます。

自分のバックグラウンドから、銀行システムへ入れます。

第45章 LAB

読むだけではなく、考える。

Labでは、

正解だけを読むのではありません。

  • 取引で問題が起きたら。
  • RESULT_UNKNOWNになったら。
  • 帳簿が合わなかったら。
  • 銀行間決済の結果が分からなかったら。
  • 流動性が不足したら。

自分ならどう判断するのか。

実装を見ながら考えます。

第46章 Implementation ≠ Real Bank

「教材にある」と「MiniBankで実装済み」は分ける。

Academyでは、

実銀行の仕組みについても扱います。

しかし、

教材で説明していることが、

すべてMiniBankの実行機能として存在するわけではありません。

例えば、

  • 実在金融機関との接続。
  • 実際の銀行間決済ネットワーク。
  • 実在のKYCサービス。
  • 実際の金融規制対応。
  • 実資金。
  • 本番銀行向けの可用性保証。

これらを提供しているわけではありません。

  • IMPLEMENTED実装済み。
  • SIMULATIONシミュレーション。
  • CONCEPT概念学習。
  • NOT IMPLEMENTED未実装。

を混同しない。

これもMiniBank Academyの重要な方針です。

PART LEARNArchitecture / Academy / v20

触って、戻って、
理由を読み解く。

新しい領域も、操作だけで終わらせず、設計と計算の前提へ戻ります。

個人口座から始める。第17章で取引と仕訳をつなぐ。第22章でGLを読み、第30章で資金繰りを見る。その先で融資・価格・リスクをたどると、Digital Twinの入力がどこから来たのかを説明できます。

Architectureは、画面・認証・API / RPC・DBの権限・元帳・GLという責任の流れを読み解く入口です。6枚の設計図と、第38〜40章の既存説明を行き来できます。図に描かれた運用構想と、実際の確認済み機能も分けて読みます。

  1. LP機能・設計を読む
  2. LINK本体・教材へのリンク
  3. MINIBANK本体の利用画面
  4. ACADEMY概念・演習を読む
概念図紹介LPとMiniBank本体の境界。LPは本体の業務APIやDBを操作せず、閲覧リンクを提供します。

固定基準コード上で、9コースへのレッスン割当は133件です。Bank Engineeringは55件、そのうちLabは13件。これはコースへの割当数で、routes数・教材ファイル数・現在のProduction表示数を数えた値ではありません。第41〜46章の107件などはv13当時の構成として残しています。教材の将来設計や対象外の業務を、利用画面の実装機能と数えません。

PART XEvolution / Verification / Process

一つの口座から、銀行全体へ。
「作った」だけでは終わらせない。

第47〜50章はv13までの進化と検証記録です。掲載する試験数はv13時点の値で、v20の試験数や本番の確認結果を示すものではありません。

第47章 v1 → v13

一つの口座から、銀行全体へ。

MiniBankは、

最初からこの規模だったわけではありません。

  1. v1–v2
    口座。取引。台帳。認証。本人確認。個人振込。銀行システムの基礎を作る。
  2. v3
    法人口座。法人メンバー。役割。権限。企業向け銀行業務へ拡張。
  3. v4
    申請。承認。実行。二者統制。重要設定変更。企業内部統制へ。
  4. v5
    指定日支払。支払予定。実行条件。日付を持つ金融業務へ。
  5. v6
    調査案件。根拠。独立確認。問題発生後の業務へ。
  6. v7
    確定境界。RESULT_UNKNOWN。営業日。EOD / BOD。照合。復旧。安全な再開。金融システムの信頼性へ。
  7. v8
    Ledger & Posting Engine銀行取引を仕訳へ変換する基盤へ。
  8. v9
    Interbank Payment Simulator銀行内振込から、銀行間決済へ。
  9. v10
    Bank Accounting & ClosingGL、試算表、BS / PL、日次・月次締めへ。
  10. v11
    Fraud / AML Simulator取引監視、Alert、Case、Investigation、Evidence、Decisionへ。
  11. v12
    Banking Operations CenterException、Approval、Trace、Incident、Runbook。銀行の運用へ。
  12. v13
    Treasury / ALM Simulator流動性、金利、調達、NII。銀行の資金管理へ。

第48章 Verified, not just Built.

「作った」だけでは終わらせない。

MiniBankでは、

機能追加だけでなく、

継続的に検証を行っています。

v13の検証では、

  • DB Tests106 / 106PASS
  • Privilege Tests226 / 226PASS
  • Unit TestsPASS
  • TypecheckPASS
  • BuildPASS
  • Academy ValidatorPASS

さらにRelease Candidateでは、

  • Regression Test
  • Browser / E2E Verification(Playwright・実TOTP)

をローカルの検証環境で実施しました。

また、

Academy全ルート。内部リンク。管理画面。顧客画面。モバイル表示。

なども確認しています。

テスト数が多ければ安全だ、と単純に言うつもりはありません。

しかし、

「動いたから完成」ではなく、何を確認したのかを残す。

それを開発プロセスの一部にしています。

第49章 AI Development

AIでつくる。
だからこそ、確認する。

MiniBankは、

AIを活用して開発してきたプロジェクトです。

AIは大量のコードを作ることができます。

しかし、

コードが生成されたことと、

正しい銀行システムになったことは同じではありません。

だから、

  1. 設計。
  2. 実装。
  3. テスト。
  4. 実ブラウザ確認。
  5. 権限確認。
  6. DB整合性。
  7. Migration。
  8. Release Gate。
  9. Production確認。
概念図工程を分けて進める。

を分けて進める。

AIが速いからこそ、

人間は「何を正しいとするのか」を決める。

MiniBankは、

AI時代のシステム開発そのものを学ぶプロジェクトでもあります。

第50章 Finance × Engineering

経理・財務から、銀行システムを見る。

MiniBankの特徴の一つは、

技術だけから銀行を見ていないことです。

  • 仕訳。
  • 元帳。
  • 残高。
  • 試算表。
  • BS。
  • PL。
  • 日次締め。
  • 月次締め。
  • 流動性。
  • 金利。
  • 資金調達。
  • 内部統制。

これらを、

システム実装と結びつけています。

  • 金融業務を知らずにシステムだけを見るのでもない。
  • システムを知らずに会計だけを見るのでもない。
業務。会計。システム。運用。
概念図業務・会計・システム・運用を横断する。

それらを横断することを目指しています。

PART EVIDENCEEvidence / Boundaries

「ある」と「確かめた」を、
同じ言葉にしない。

コードがあること。試験で通ったこと。公開環境で確認したこと。これらは別の根拠です。v20の説明は、その区別を保ち、まだ照合できていない情報を成功として扱いません。

v20追加領域の根拠と確認範囲
区分説明できる範囲
実装コードv14〜v20の業務migration・型・関連仕様を固定基準コードで照合。機能の存在と説明範囲を確認。
隔離環境の試験ローカル受入・過去の試験記録は存在。本番の最終公開結果や、現在の適用状態を証明するものとは分ける。
Unit / DB / Privilege / MFAv20最終公開記録との件数・区分の照合はTBD。未照合の最新試験数やPASSバッジは掲載しない。
画面・復旧・整合性本番の主要画面、隔離復元、限定修復、最終整合性の公開記録は追加照合対象。未確認を検証済みとしない。
DBの定義・履歴2026年10月3日の監査対象は、業務schema 25(publicと空のcoreを含む)・通常table 122。provider管理領域、view、partitioned tableは業務table数に含めません。固定ソースのmigrationファイル150本と接続先DBの履歴150件は、版番号・名称が一致。SQL内容の完全同一性を確認したという意味ではありません。
公開・運用の設計公開deploymentとGit連携は確認しましたが、全機能の本番業務E2Eとは別です。mainの保護設定は無効。自動バックアップ・PITR・通知・自動復帰・可用性の実証は未確認で、実稼働済みとは紹介しません。

第48章に残した試験数はv13当時の記録です。この紹介は、金融サービスとしての安全性・可用性・法令適合性や、外部監査・認証を保証するものではありません。

PART XIScope

本物の銀行を丸ごと再現した。
とは言わない。

第51章 MiniBank is not a Real Bank.

できていることと、できていないことを分けて説明します。

MiniBankは、

実在の銀行システムと同等ではありません。

  • 実資金を扱いません。
  • 実在銀行ネットワークへ接続しません。
  • 金融機関としての認可を持ちません。
  • 実銀行と同等のセキュリティ・可用性・法令適合性を保証しません。
  • 実在のAML基盤やKYC基盤をそのまま再現しているわけでもありません。
  • ALMも学習用シナリオです。

だからこそ、

できていることと、できていないことを分けて説明します。

第52章 But it is more than a UI Demo.

それでも、単なる銀行風UIではありません。

  • 口座
  • 本人確認
  • 預金
  • 振込
  • MFA
  • 法人
  • 権限
  • 申請
  • 承認
  • 指定日支払
  • 調査
  • Idempotency
  • Concurrency
  • RESULT_UNKNOWN
  • 逆仕訳
  • 営業日
  • EOD / BOD
  • 照合
  • 復旧
  • Posting Engine
  • Interbank Payment
  • GL
  • Trial Balance
  • BS
  • PL
  • Closing
  • AML
  • Operations Center
  • Trace
  • Incident
  • Treasury
  • Liquidity
  • ALM
  • Architecture
  • Academy

銀行という題材を通じて、
業務・会計・技術・運用を、
一つのシステムとしてつなげる。

それがMiniBankです。

PART FAQQuestions / Learning

触れる前に、知っておきたいこと。

本物のお金を預けたり、送金したりできますか?

できません。MiniBankは架空の銀行システムシミュレーションです。実資金、実在金融機関との決済、実際の預金受入を提供しません。実在の個人情報・認証情報・金融情報を入力しないでください。

実在の銀行や本人確認サービスにつながっていますか?

つながっていません。他行、KYC、Open Bankingのクライアントや通知は、学習・検証用の模型または閉じたSandboxです。外部連携が実稼働しているという意味ではありません。

利用者として、どこまで触れますか?

個人口座などの利用者向け画面と、管理者権限を必要とする機能は別です。利用者向けの入口から、他行の決済や銀行全体の設定・試算を無制限に操作できるわけではありません。

Digital Twinは、現実の銀行の将来を予測しますか?

しません。MiniBank内の凍結実績と、明示した架空モデルによる試算です。未来予測の精度、実データへの統計的な当てはめ、実際の経営判断の妥当性を保証しません。正式な元帳や契約へも書き戻しません。

管理者用のアカウントや権限は公開されていますか?

管理機能には役割と権限が必要です。このLPから管理者権限や認証情報を提供することはありません。公開の紹介と、権限を持つ検証者の操作範囲を区別しています。

銀行や会計に詳しくなくても学べますか?

利用者の操作から、第1〜52章の説明、Architecture、MiniBank Academyへ順に進めます。まず一件の振込を読み、台帳・GL・日次運用へ戻り、その後で融資・価格・リスク・Twinをつなぐ読み方がおすすめです。

銀行を使うだけでは見えないものを、
動かして理解する。

  1. 口座を開く。
  2. 振り込む。
  3. 企業の支払いを承認する。
  4. 仕訳する。
  5. 他行へ決済する。
  6. 帳簿を締める。
  7. 異常を検知する。
  8. 原因を追う。
  9. 資金繰りを考える。

そして、その仕組みをAcademyで学ぶ。

  • MINIBANK動くMiniBank。
  • ARCHITECTURE構造が見えるArchitecture。
  • ACADEMY仕組みを学べるAcademy。