Data through Q2 2026 Updated 1 Sep 2026, 13:35 UTC Source: SEC EDGAR XBRL

Methodology

Every formula, every source, and the XBRL concept this site actually used for each bank and metric — read from the database as the pages render, not restated from a config file. Where the two could disagree, this table is the one telling the truth.

The universe, and why six rather than five

The site covers JPMorgan Chase, Bank of America, Wells Fargo, Citigroup, Goldman Sachs and Morgan Stanley. At holding-company level Goldman Sachs is top five; at bank-charter level it is not. Rather than pick a definition and lose a name, all six are shown and the definition is stated here.

A trap worth naming. These six do not share an SIC code. The four commercial banks file under 6021; Goldman Sachs and Morgan Stanley file under 6211 as broker-dealers. Filtering the universe by SIC code silently drops two of the six, and the result still looks like a complete peer set. This site selects by CIK.

JPMJPMORGAN CHASE & COCIK 0000019617SIC 6021
BACBANK OF AMERICA CORP /DE/CIK 0000070858SIC 6021
WFCWELLS FARGO & COMPANY/MNCIK 0000072971SIC 6021
CCITIGROUP INCCIK 0000831001SIC 6021
GSGOLDMAN SACHS GROUP INCCIK 0000886982SIC 6211
MSMORGAN STANLEYCIK 0000895421SIC 6211

Which XBRL concept was used, per bank

Bank tagging is inconsistent between filers and across years, so the ingester holds a list of candidate concepts per metric and picks the one with the best coverage of recent quarters. 13 of the resolved concepts are company extension elements, shown in a different colour — these are absent from the SEC's aggregated XBRL APIs entirely and are read from the filing's own rendered statements.

MetricJPMBACWFCCGSMS
Total net revenue us-gaap:RevenuesNetOfInterestExpense us-gaap:Revenues us-gaap:RevenuesNetOfInterestExpense us-gaap:Revenues us-gaap:RevenuesNetOfInterestExpense us-gaap:RevenuesNetOfInterestExpense
Net interest income us-gaap:InterestIncomeExpenseNet us-gaap:InterestIncomeExpenseNet us-gaap:InterestIncomeExpenseNet us-gaap:InterestIncomeExpenseNet us-gaap:InterestIncomeExpenseNet us-gaap:InterestIncomeExpenseNet
Noninterest income us-gaap:NoninterestIncome us-gaap:NoninterestIncome us-gaap:NoninterestIncome us-gaap:NoninterestIncome us-gaap:NoninterestIncome us-gaap:NoninterestIncome
Noninterest expense us-gaap:NoninterestExpense us-gaap:NoninterestExpense us-gaap:NoninterestExpense us-gaap:NoninterestExpense us-gaap:NoninterestExpense us-gaap:NoninterestExpense
Provision for credit losses us-gaap:ProvisionForLoanLeaseAndOtherLosses us-gaap:FinancingReceivableExcludingAccruedInterestCreditLossExpenseReversal us-gaap:ProvisionForLoanLeaseAndOtherLosses us-gaap:FinancingReceivableExcludingAccruedInterestCreditLossExpenseReversal us-gaap:ProvisionForLoanLeaseAndOtherLosses us-gaap:FinancingReceivableExcludingAccruedInterestCreditLossExpenseReversal
Net income us-gaap:NetIncomeLoss us-gaap:NetIncomeLoss us-gaap:NetIncomeLoss us-gaap:NetIncomeLoss us-gaap:NetIncomeLoss us-gaap:NetIncomeLoss
Net income to common us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic (Q4 derived: FY − 9M) us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
Diluted EPS us-gaap:EarningsPerShareDiluted us-gaap:EarningsPerShareDiluted us-gaap:EarningsPerShareDiluted us-gaap:EarningsPerShareDiluted us-gaap:EarningsPerShareDiluted us-gaap:EarningsPerShareDiluted
Weighted average diluted shares us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
Total assets us-gaap:Assets us-gaap:Assets us-gaap:Assets us-gaap:Assets us-gaap:Assets us-gaap:Assets
Deposits us-gaap:Deposits us-gaap:Deposits us-gaap:Deposits us-gaap:Deposits us-gaap:Deposits us-gaap:Deposits
Loans, net of allowance us-gaap:FinancingReceivableExcludingAccruedInterestAfterAllowanceForCreditLoss us-gaap:FinancingReceivableExcludingAccruedInterestAfterAllowanceForCreditLoss wfc:FinancingReceivableAndNetInvestmentInLeaseExcludingAccruedInterestAfterAllowanceForCreditLoss us-gaap:FinancingReceivableExcludingAccruedInterestAfterAllowanceForCreditLoss us-gaap:NotesReceivableNet us-gaap:FinancingReceivableExcludingAccruedInterestAfterAllowanceForCreditLoss
Allowance for credit losses us-gaap:FinancingReceivableAllowanceForCreditLossExcludingAccruedInterest us-gaap:FinancingReceivableAllowanceForCreditLossExcludingAccruedInterest wfc:FinancingReceivableAndNetInvestmentInLeaseAllowanceForLoanLossesExcludingAccruedInterest us-gaap:FinancingReceivableAllowanceForCreditLossExcludingAccruedInterest us-gaap:FinancingReceivableAllowanceForCreditLosses us-gaap:FinancingReceivableAllowanceForCreditLossExcludingAccruedInterest
Total stockholders’ equity us-gaap:StockholdersEquity us-gaap:StockholdersEquity us-gaap:StockholdersEquity us-gaap:StockholdersEquity us-gaap:StockholdersEquity us-gaap:StockholdersEquity
Preferred equity us-gaap:PreferredStockIncludingAdditionalPaidInCapitalNetOfDiscount bac:PreferredStockRedeemableAndNonRedeemableValue us-gaap:PreferredStockValue us-gaap:PreferredStockValue us-gaap:PreferredStockValue ms:PreferredStockCarryingValue
Goodwill us-gaap:Goodwill us-gaap:Goodwill us-gaap:Goodwill us-gaap:Goodwill us-gaap:Goodwill us-gaap:Goodwill
Other intangibles us-gaap:FiniteLivedIntangibleAssetsNet us-gaap:IntangibleAssetsNetExcludingGoodwill us-gaap:FiniteLivedIntangibleAssetsNet us-gaap:IntangibleAssetsNetExcludingGoodwill us-gaap:IntangibleAssetsNetExcludingGoodwill us-gaap:IntangibleAssetsNetExcludingGoodwill
Shares outstanding dei:EntityCommonStockSharesOutstanding us-gaap:CommonStockSharesOutstanding us-gaap:CommonStockSharesOutstanding dei:EntityCommonStockSharesOutstanding us-gaap:CommonStockSharesOutstanding us-gaap:CommonStockSharesOutstanding
Public float (annual, at Q2 end) dei:EntityPublicFloat dei:EntityPublicFloat dei:EntityPublicFloat dei:EntityPublicFloat dei:EntityPublicFloat dei:EntityPublicFloat

A candidate list is not the same as a result. Concepts are ranked by how many of the eight most recent quarters they actually cover, because banks leave dead concepts in their taxonomies for years — JPMorgan still carries LoansAndLeasesReceivableNetReportedAmount, whose last fact is from 2016. Choosing it because it exists would produce a metric that is present, plausible, and empty.

Derived metrics

Everything below is computed by this site and labelled derived wherever it appears. None of it is reported by the banks in this form.

Common equitytotal_equity − preferred_equity
Tangible common equitycommon_equity − goodwill − other intangibles
TBVPStangible_common_equity ÷ shares_outstanding
Efficiency rationoninterest_expense ÷ revenue_total
ACL / loansallowance_credit_losses ÷ total_loans
ROTCE(net_income_common × 4) ÷ average(TCE_t, TCE_t−1)
Implied price (annual)public_float ÷ shares_outstanding
P / TBV at the float dateimplied_price ÷ tbvps

ROTCE is ours, not theirs. It is annualized from a single quarter on a two-point average equity base. Each bank uses its own averaging convention and its own definition of average tangible common equity, so this figure will differ from the company's reported ROTCE, typically by tens of basis points. It is never presented as the company's number.

The implied price is a year old and slightly low, by construction. Every 10-K cover page states the aggregate market value of shares held by non-affiliates (dei:EntityPublicFloat), measured at the last business day of the company's second fiscal quarter — it is the one price-bearing figure in a public-domain filing. Dividing it by shares outstanding at the same date recovers the price the filer used, with two caveats stated wherever the figure renders: the point is up to fourteen months old by the time the next 10-K arrives, and it understates the market price because the float excludes affiliate-held shares while the divisor counts all shares outstanding — under one percent for these six banks, whose insider ownership is negligible. Both sides of the P/TBV built from it are measured at the same date, so the ratio is internally consistent for that date and is never presented as current. Nothing is adjusted or estimated.

Strict null propagation. A derived metric with any missing input is itself missing, with one documented exception: other intangibles are deducted from tangible common equity when the filer tags them, and only goodwill is deducted when it does not. JPMorgan does not tag other intangibles in its 10-Qs at all, and treating that as a missing input would blank TBVPS and ROTCE for three quarters in four. The omitted amount was $1.3bn against $288bn of tangible common equity at Q4 2025 — 45 basis points, inside the 50bp tolerance this project sets for derived figures. Nothing is carried forward or estimated.

Q4 is recovered, not reported

Banks do not tag a 90-day duration fact for the fourth quarter; the 10-K reports the full year. Q4 flows are therefore recovered as full year − the filer's own nine-month subtotal, both from the same concept. Cells recovered this way are marked on the bank pages.

Per-share figures are excluded from this treatment. Diluted EPS and average diluted share count are not additive across quarters because the denominator moves, so Q4 is left missing rather than computed.

The nine-month subtotal is preferred over the sum of the three quarters for a specific reason. Bank of America restated its Q1 and Q2 2025 revenue in filings made after the FY2025 10-K. Subtracting the restated quarters from that full year mixes two bases and puts the entire restatement into Q4, giving 29,319 where the consistent figure is 31,180 — a 6% error that looks entirely ordinary. Where a restatement is detected the row says so.

Update cadence

SEC EDGAR — filing historyDailySubmissions API, per company
SEC EDGAR — XBRL factsWeekly, and after each filingcompanyfacts, per company
SEC EDGAR — rendered statementsPer filingFallback for what companyfacts cannot serve
FRED — daily seriesDailyT10Y2Y, SOFR, DFF
FRED — weekly seriesWeeklyTOTLL, DPSACBW027SBOG, MORTGAGE30US
FRED — monthly and quarterlyWeekly checkUNRATE, DRCCLACBS

Last successful sync

JobLast successRows
edgar_facts 1 Sep 2026, 13:35 UTC 24,895
edgar_submissions 31 Aug 2026, 23:22 UTC 127
filing_fallback 1 Sep 2026, 02:35 UTC 89
fred_series 31 Aug 2026, 23:22 UTC 11,281

Macro series

SeriesTitleFrequencyDrivesLatest
DFF Effective Federal Funds Rate Daily Deposit betas 2026-08-28
DPSACBW027SBOG Deposits, All Commercial Banks Weekly, ending Wednesday Deposit balances 2026-08-19
DRCCLACBS Delinquency Rate on Credit Card Loans, All Commercial Banks Quarterly Net charge-offs (leads ~2 quarters) 2026-04-01
MORTGAGE30US 30-Year Fixed Rate Mortgage Average in the US Weekly, ending Thursday Mortgage banking revenue 2026-08-27
SOFR Secured Overnight Financing Rate Daily Funding cost 2026-08-28
T10Y2Y 10-Year Treasury Constant Maturity Minus 2-Year Daily Net interest margin 2026-08-31
TOTLL Loans and Leases in Bank Credit, All Commercial Banks Weekly, ending Wednesday Loan growth 2026-08-19
UNRATE Unemployment Rate Monthly CECL reserve assumption 2026-07-01

This product uses the FRED® API but is not endorsed or certified by the Federal Reserve Bank of St. Louis.

Known limitations, stated plainly

  • The SEC's aggregated XBRL APIs are incomplete in two ways. They contain no company extension namespaces, so Wells Fargo's loans and allowance and Bank of America's and Morgan Stanley's preferred equity are unreachable through them. And they can lag a filer: Citigroup's 2026Q1 and 2026Q2 were filed with entirely standard concepts and absent from both companyfacts and companyconcept. Both cases are filled from each filing's own rendered statements.
  • Citigroup's TBVPS and ROTCE are blank for 2026, for two different reasons. While the SEC's aggregation lags Citi, its 2026 quarters come from the rendered face statements, and each figure is missing one input that no face statement carries. TBVPS lacks quarter-end shares outstanding: the balance sheet parenthetical carries shares issued, and Citi holds enough treasury stock that the two differ by nearly half, while the cover page dates its outstanding count at the filing date, about a month after quarter end. ROTCE lacks net income to common, which Citi discloses in its earnings-per-share note rather than on the income statement. Using either substitute would be an approximation, so the figures are left out; both fill in automatically once companyfacts catches up with Citi's filings.
  • Bank of America's four 2025 quarters do not sum to its reported full year, by the restatement amount described above. Each quarter is individually the most recently reported figure.
  • Net interest margin, net charge-off rates, segment results and CET1 are not here. They are not reliably in XBRL; they live in each bank's financial supplement, in its own layout. Nothing on this site is parsed from those documents.
  • No current prices. There is no free price source whose terms clearly permit redistribution, so a live P/TBV is not published; the valuation view shows returns and lets the reader supply the price. The one exception is the once-a-year implied price recovered from each 10-K's public float, described above — exactly dated, public domain, and up to fourteen months stale.
  • No consensus estimates and no transcripts. Both are licensed.

Sources

FundamentalsSEC EDGAR XBRL APIs and the filings themselves. US government work, public domain.
MacroFRED, Federal Reserve Bank of St. Louis. Third-party series inside FRED carry their own terms.
Filing documentsEDGAR full-text archive.

Reconciliation against the banks' own filings is automated and re-run before every release; the current result is 18 bank-quarters checked with zero mismatches.