• Saturday

    • SVB summary.
      • 40 years. Working with mostly startups and VCs.
      • Midquarter update on wednesday. Announced losses and the need to raise.
        • Like all other balance sheets, they raise X by offering Y and use X for Z. In most cases, X is money from investors/depositors. Y is usually equity or interest. Z can be a product/service they’re building/offering (a device, a software app, loans, other investments, whatever the business model is).
        • In this case, X is depositor money, Y is interest, and Z is a mix of investments. Z was mostly split into long-term loans for startups as well as bonds (investment). X was ~175b, Z was ~210b, hence losses.
        • Problem #1: Markets have been bad for a while, so deposits were slowing while investments did not slow as much. More out than in. This was mostly concentrated in bay area tech, so little diversification.
        • Problem #2: Markets have been bad for a while, so the bond investments of Z are down bad (bonds move inversely with interest rates of course). Again, little diversification.
      • SIVB lost a ton of value after the announcement. Confirmed lots of fears depositors already had. Everyone pulled. Bank run. Liquidity was need for withdrawals, so SVB had to sell assets, and all bonds were sold at large loss (+ early sale before maturity), exacerbating the problem (reducing confidence in SVB balances/liquidity). Death spiral. Trading on SIVB Halted.
      • Friday, 2 days later, FDIC places SVB into receivership and takes control.
      • FDIC insurance limit is $250k, which each depositor will receive on monday. Plus certificates for the remainder (the majority). Then the FDIC will sell the remaining SBV assets over time and pay depositors back (maybe in full, maybe not).
      • Another big financial institution can rescue SVB in the next couple days, provide the backstop/balance/liquidity, and take over the business.
    • Remember to use tuple[str, ...] and include ... so that python knows to match size. Python can do the type expansion for mutable iterables like list[str], but tuples have immutable length and so we enforce type on all elements of the collection; tuple[str] by itself implies a tuple with one element.