Bank of America Corporation
For each quarter end in the past 2.0years, we re-ran Mr. Market's protocol using only the financial data that was on file at that moment, and compared the resulting intrinsic value to the price Mr. Market was actually quoting that day. The dark line is what the business was worth, by the protocol. The blue line is what Mr. Market wanted for it.
The protocol is structurally unreliable for this sector. Bank — D&A is not a meaningful proxy for maintenance reinvestment in a deposit-and-loan business.The intrinsic-value series below uses Operating Cash Flow only — a stopgap that does not correspond to cash an owner could withdraw — so the chart should be read as illustrative of Mr. Market's mood swings against the (broken) model, not as a serious valuation. A proper banking variant (Gordon residual on tangible book × ROE) is queued for a later stage.
Subscribers see the full backtest on BAC.
We've replayed the protocol against 2 years of BAC's history. The chart, the quarter-by-quarter table, and the commentary all unlock with a subscription.
A note on what this is — and isn't.
The backtest replays a simplified version of Mr. Market's live protocol against BAC's historical filings. It is informative for spotting persistent over- or under-valuation but it is not a perfect re-derivation of what the live page would have said on a given historical date. Iter 15 disclosure update.
- G1 substitution. The live protocol uses the forward analyst-consensus EPS chain. FMP doesn't expose what consensus was at each historical date, so the backtest substitutes the trailing five-year actual EPS CAGR computed at each quarter — a proxy for “growth that was knowable then.”
- G2 is constant. The live protocol pulls G2 daily from FRED's GDPC1 series. The backtest holds G2 at 2.5% across the entire window for tractability — historical real-GDP YoY-YoY isn't reconstructed point-in-time.
- Sector risk premium is omitted. The live protocol adds +1pp / +2pp to the discount rate for tech, energy, biotech, cyclicals, and low-rate environments. The backtest uses the bare 10Y Treasury yield as r, no sector adjustment. This makes the backtest IV systematically higher than the live IV would be on the same date for those sectors.
- Bank Gordon variant is omitted. The live protocol replaces the OE-DCF entirely for banks with the Gordon residual model. The backtest runs the OCF-only sector exception but does not apply the Bank Gordon override — bank IVs in the historical chart are based on a known-broken methodology and should be read as illustrative-of-mood-swings only, not as a fair point-in-time IV.
- Historical window depth. The chart shows ~7-8 years of point-in-time IVs even when the methodology references 20 years; FMP's annual fundamentals coverage at our tier currently caps the usable window at the available quarterly filings for any given name.
- The smoothing window is TTM-quarterly, not annual. The live protocol smooths Owner Earnings as the median of the last 3 annual filings. The backtest smooths as the median of the last 3 trailing-twelve-month windows of quarterly data — a finer-grained equivalent that lets the chart move every quarter rather than only on annual filings.
Everything else — the maintenance-capex proxy (D&A subtraction), the linear-fade projection mechanics, the terminal-value formula with the r − 0.5pp G2 guard, the 25% margin of safety — runs identically between the live protocol and the backtest.
- Owner Earnings is smoothed across three trailing TTM windows (current, one year back, two years back) — a single bad quarter doesn't collapse the intrinsic value to zero.
- G1 substituted with trailing 5-year EPS CAGR — historical forward analyst consensus is not available at point-in-time on our current data tier.
- G2 held constant at 2.5% across the backtest window.
- Sector exception (Banks/Insurance/REITs use OCF only) applied identically across all quarters. Banks do not yet get the Gordon residual model in the backtest — that ships next.