Skip to content

create_diversified_bank

Generate diversified_bank.zip -- 2-3 instruments per major type.

Simulation start date: 2022-01-04.

Instrument                  Basis            Amount     Acquired     Side   Book
========================    ===============  =========  ==========   =====  =======
Common Equity               NA               2,000,000  2021-01-04   SHORT  BANKING
Retained Earnings           NA                 500,000  2021-01-04   SHORT  BANKING
Demand Deposit (0%)         NA               3,000,000  2021-01-04   SHORT  BANKING
Savings Deposit (0.5%)      NA               4,000,000  2021-01-04   SHORT  BANKING
Term Deposit (2%)           NA               5,000,000  2021-01-04   SHORT  BANKING
10Y Treasury 3.5% HTM       AMORTIZED_COST    (NPV)    2021-01-04   LONG   BANKING
5Y Treasury 2.5% HTM        AMORTIZED_COST    (NPV)    2021-01-04   LONG   BANKING
5Y Corp Bond 4.5% FVOCI     FVOCI             (NPV)    2021-06-01   LONG   BANKING
3Y Corp Bond 3.5% FVTPL     FVTPL             (NPV)    2021-01-04   LONG   TRADING
7Y Corp Bond 5.0% FVTPL     FVTPL             (NPV)    2021-01-04   LONG   TRADING
30Y Res Mortgage 5%         AMORTIZED_COST  (outstand)  2021-01-04   LONG   BANKING
15Y Res Mortgage 4%         AMORTIZED_COST  (outstand)  2021-06-01   LONG   BANKING
Prime+250bp 5Y C&I Loan     AMORTIZED_COST   3,000,000  2021-06-01   LONG   BANKING
Prime+175bp 3Y Revolver     AMORTIZED_COST   2,000,000  2021-06-01   LONG   BANKING

Bond acquisition costs are QuantLib NPV at acquisition date. Mortgage/loan acquisition costs are QL outstanding balance at acquisition date.

Run::

uv run python src/brms/data/create_diversified_bank.py [data_folder]

Where data_folder contains treasury_yields.csv and prime_rates.csv. If omitted, yields are extracted from htm_treasury.zip and prime rates from temp/data/prime_rates.csv.

Functions:

create_diversified_zip

create_diversified_zip(
    data_folder: Path, out_path: Path | None = None
) -> Path

Write the diversified simulation zip to out_path and return its path.

data_folder must contain treasury_yields.csv and prime_rates.csv.