Unrealized Losses on Bank Securities (AFS & HTM): What the Numbers Hide
At year-end 2025, U.S. banks were sitting on **$306.1 billion** in unrealized losses on investment securities. That number is down from the 2022–2023 peak, but it is still roughly three …
At year-end 2025, U.S. banks were sitting on $306.1 billion in unrealized losses on investment securities. That number is down from the 2022–2023 peak, but it is still roughly three times the pre-rate-shock baseline. Most of it does not appear in reported capital. That gap — between what a bond is worth and what the balance sheet says it is worth — is what this post is about.
The 2023 bank failures clarified something that ALCO meetings had been quietly worrying over for decades: unrealized losses are not just an accounting abstraction. Combined with the wrong funding mix, they can kill a bank in a weekend. Understanding unrealized losses on bank securities — and the accounting that reveals or conceals them — is now a baseline skill for anyone reading a bank.

The chart above makes plain what the rate cycle did to bank bond books. The losses arrived fast and the recovery has been slow.
Why Bond Portfolios Lose Money Without Anyone Selling Anything
Banks hold substantial investment portfolios — U.S. Treasuries, agency MBS, municipal bonds — to deploy excess deposits, meet liquidity requirements, and generate a spread above the cost of funds. These are not speculative positions. They are the plain-vanilla, supposedly-safe part of the balance sheet.
The catch is that bond prices move inversely to rates. A 10-year Treasury bought at par when the 10-year yield was 1.5% is worth considerably less when that same yield trades at 4.5%. The bank still owns the bond. It will get par back at maturity. But right now, today, the thing is worth less than what was paid for it. That gap is the unrealized loss.
What shows up in the financial statements — and what does not — depends entirely on how the security is classified.
AFS vs. HTM: The Classification That Determines What Gets Disclosed
Banks classify investment securities into two buckets under ASC 320. The choice has large consequences for reported capital.
Available-for-sale (AFS) securities are marked to market each quarter. Unrealized gains and losses flow through accumulated other comprehensive income (AOCI), a component of stockholders’ equity reported on Schedule RC of the FFIEC 031/041. The MDRM code for AOCI is RCON3757. When AFS bonds fall in value, that loss shows up in equity — you can see it, it reduces book value, and for banks subject to the full AOCI opt-out rules (generally those with $100B+ in assets), it flows through regulatory capital as well.
Held-to-maturity (HTM) securities are carried at amortized cost. The premise is that the bank intends and has the ability to hold the security until it matures, at which point it receives par regardless of what the bond traded at in the interim. Under that logic, interim price moves are economically irrelevant. Unrealized losses on HTM securities are disclosed in footnotes — Schedule RC-B asks for fair value alongside amortized cost for both AFS and HTM holdings — but they do not reduce the carrying value of the asset or reported capital.
| Available-for-sale (AFS) | Held-to-maturity (HTM) | |
|---|---|---|
| Carrying value | Fair (market) value | Amortized cost |
| Unrealized losses | Reduce equity via AOCI (RCON3757) | Footnote disclosure only |
| Capital impact | Visible; affects CET1 for large banks | No balance-sheet impact |
| Key schedule | RC-B, column C/D | RC-B, column A/B |
| The assumption | Bank may sell before maturity | Bank holds to maturity |
The HTM bucket is the one that made headlines. A bank could report healthy capital ratios while carrying billions in securities worth materially less than amortized cost. As long as nothing forced a sale, the loss stayed in the footnotes.
Something forced a sale.
What the 2023 Failures Actually Showed
The sequence that brought down certain institutions in 2023 was not complicated, but it was fast. A bank had grown its balance sheet aggressively during the deposit surge of 2020–2021, deploying excess funds into longer-dated securities when rates were near zero. When the Fed tightened, those portfolios developed large unrealized losses — in some cases exceeding reported tangible equity. Much of the loss sat in HTM, invisible in capital ratios.
On its own, that was uncomfortable but potentially survivable. An HTM bond held to maturity still pays par. The problem was funding. These institutions carried large concentrations of uninsured deposits — corporate accounts, venture-backed startups, tech-sector payroll — precisely the depositors most likely to move quickly when they got nervous. When news of the unrealized losses spread, the rational response for an uninsured depositor was to leave. That created the need to liquidate securities to fund the outflows, which converted HTM paper losses into realized losses, which broke capital, which confirmed every fear and accelerated the run.
The lesson is not that unrealized losses are inherently lethal. It is that they are lethal in the presence of fragile funding. The risk is the interaction — duration mismatch in assets combined with instability in liabilities. Analyzing either in isolation misses the point.
How to Actually Measure the Exposure
Pulling this from call report data is straightforward once you know where to look. Schedule RC-B reports securities by category (Treasuries, agency, MBS, AML, other) with both amortized cost and fair value for each classification bucket. The difference is the unrealized gain or loss position.
The UBPR standardizes this further. Table 7 covers investment securities and interest rate risk, including unrealized loss as a percentage of amortized cost and relative to capital. MDRM code RCON8641 captures AFS securities at fair value; RCON1773 is HTM at amortized cost; RCON1778 is HTM at fair value. The gap between RCON1773 and RCON1778 is what is not in capital.
For a quick programmatic pull using the BankRegReports API:
from bankregreports import BankReg
brr = BankReg("brr_your_api_key")
# Pull securities and AOCI data for a specific bank
data = brr.bank(rssd_id=480228).metrics(
codes=["RCON8641", "RCON1773", "RCON1778", "RCON3757"],
periods=8 # last 8 quarters
)
print(data)
# rssd_id report_date RCON8641 RCON1773 RCON1778 RCON3757
# 480228 2025-12-31 4_821_000 6_104_000 5_619_000 -312_000
# 480228 2025-09-30 4_756_000 6_211_000 5_688_000 -287_000
# 480228 2025-06-30 4_699_000 6_338_000 5_701_000 -341_000
# ...
# RCON1773 - RCON1778 = HTM unrealized loss not in capital
# RCON3757 = AOCI (negative = net unrealized loss reducing equity)
The questions worth asking of that output:
How large is the combined loss relative to capital ratios? Add AFS unrealized losses (which are partially in capital for large banks) and HTM unrealized losses (which are not in capital for anyone) and compare to tangible common equity. Some banks in 2022 had combined paper losses exceeding 100% of TCE.
What fraction is in HTM? A bank that shifted aggressively into HTM after 2020 may have done so specifically to avoid the AOCI hit — which is a legitimate accounting choice, but it means more of the loss is out of sight.
What does the deposit base look like alongside this? The securities analysis without the funding picture is incomplete. A bank with 40% uninsured deposits and a combined unrealized loss equal to 60% of equity deserves a hard look. A bank with the same loss and 85% core retail deposits is in a structurally different position.

Duration matters too. Schedule RC-B and the interest rate sensitivity tables in Schedule RC-L give you the maturity bucketing. Long-dated fixed-rate portfolios carry more price risk for a given rate move than shorter-dated or floating instruments. A bank that bought 20-year MBS in 2021 is in a different position than one that bought 2-year Treasuries.
The Footnote Problem
One thing genuinely annoying about this analysis: for smaller banks (those filing FFIEC 041 or FFIEC 051 rather than FFIEC 031), the HTM footnote disclosures can be thin. The call report captures aggregate fair values, but granular maturity-bucket breakdowns for HTM portfolios are sometimes only in the annual report footnotes — which many community banks do not publish in a machine-readable form. You end up combining call report data for the headline numbers with PDF footnotes for the duration detail.
The UBPR helps standardize some of this, but the UBPR’s interest rate risk section is built from the same underlying call report data, so it inherits the same granularity limits.
BankRegReports pulls the Schedule RC-B time series, computes the unrealized loss as a percentage of capital, and displays it alongside deposit composition going back through 2000 — which means you can see how a bank’s securities book has evolved across multiple rate cycles, not just the current one.
Frequently Asked Questions
What are unrealized losses on bank securities? Unrealized losses are declines in the market value of securities a bank still holds. Because bond prices fall when interest rates rise, a bank holding fixed-rate bonds bought when rates were lower will carry unrealized losses on those positions. The loss is economically real — the asset is worth less than book value — but has not been crystallized by a sale.
What is the difference between AFS and HTM securities? AFS securities are marked to market; unrealized losses reduce equity through AOCI (RCON3757). HTM securities are carried at amortized cost; their unrealized losses are disclosed in footnotes to Schedule RC-B but do not reduce reported capital.
Why did unrealized losses matter in the 2023 bank failures? Banks with large HTM portfolios had substantial unrealized losses that did not appear in capital ratios. When uninsured depositors withdrew funds, those banks had to sell securities, converting paper losses into realized ones and triggering capital shortfalls. The losses were not the problem in isolation — the combination of paper losses and fragile funding was.
Do unrealized losses reduce a bank’s reported capital ratios? For AFS securities, unrealized losses flow through AOCI and reduce book equity; for banks above $100B in assets (or those that opted in), they also reduce CET1. For HTM securities, they do not affect reported capital ratios at all — they sit in the footnotes.
Where do I find this data in the call report? Schedule RC-B reports amortized cost and fair value for both AFS and HTM securities by instrument type. MDRM codes RCON8641 (AFS fair value), RCON1773 (HTM amortized cost), and RCON1778 (HTM fair value) are the key fields. The BankRegAPI exposes all three with full quarterly history.
What the 2023 cycle exposed was not a new risk — ALCO practitioners knew interest rate risk in the securities book existed. What it exposed was how many analysts, examiners, and investors were looking at capital ratios without adjusting for HTM unrealized losses, and how many were looking at unrealized losses without looking at who funded them. Run both analyses on any bank you are evaluating before you draw a conclusion from either one.
The data referenced in this post is available through the BankRegReports Data API. The BankRegAPI Python SDK (pip install bankregreports) returns clean, UBPR-validated data from FFIEC, FDIC, Federal Reserve, NCUA, and SEC EDGAR in a single call. Get a free API key →