Bank of America vs JPMorgan Chase: 10-Year Scorecard
2016 - 2025
The Verdict
Year-by-Year Performance
Over 10 years, JPM won 8 individual years while BAC won 2.
| Year | Bank of America | JPMorgan Chase | Winner |
|---|---|---|---|
| 2016 | +36.6% | +38.7% | JPM |
| 2017 | +33.1% | +25.4% | BAC |
| 2018 | -16.1% | -7.5% | JPM |
| 2019 | +44.3% | +44.8% | JPM |
| 2020 | -12.7% | -6.6% | JPM |
| 2021 | +51.0% | +28.9% | BAC |
| 2022 | -26.6% | -14.4% | JPM |
| 2023 | +3.6% | +29.6% | JPM |
| 2024 | +33.0% | +42.6% | JPM |
| 2025 | +27.0% | +37.2% | JPM |
| Total Wins | 2 wins | 8 wins | JPM |
Cumulative Performance
This chart shows how $100 invested at the start of 2016 would have grown over time.
Price Comparison
Normalized to 100 at start date for comparison
Risk-Adjusted Metrics
How did each asset perform relative to the risk taken? Higher Sharpe, Sortino, and Calmar ratios indicate better risk-adjusted returns.
Tail-risk definitions: Value at Risk (VaR), Expected Shortfall, skew, kurtosis, and fat tails.
| Metric | BAC | JPM |
|---|---|---|
| Total Return | +316.6% | +559.6% |
| CAGR | +15.4% | +20.8% |
| Volatility (Ann.) | +31.2% | +27.6% |
| Sharpe Ratio | 0.48 | 0.67 |
| Sortino Ratio | 0.70 | 0.99 |
| Calmar Ratio | 0.31 | 0.48 |
| Max Drawdown | -48.9% | -43.6% |
Sharpe and Sortino ratios use the period-average risk-free rate based on the 3-month U.S. Treasury yield (FRED: DGS3MO). To reproduce: take the simple average of daily DGS3MO values from 2016-01-01 to 2025-12-31; in this window the average is 4.23%.
Tail Risk & Distribution Shape
Tail-risk metrics summarize how each asset behaved on extreme days from 2016 to 2025. We compute them from daily log returns ( ).
VaR and Expected Shortfall (ES/CVaR) are historical (non-parametric) 1-day metrics and are not annualized.
| Metric | BAC | JPM |
|---|---|---|
| Return observations (n) | 2513 | 2513 |
| 5% VaR (daily) | -2.90% | -2.56% |
| 5% Expected Shortfall (daily) | -4.58% (avg of worst 126 days) | -4.05% (avg of worst 126 days) |
| 1% VaR (daily) | -5.43% | -4.57% |
| 1% Expected Shortfall (daily) | -7.76% (avg of worst 26 days) | -6.88% (avg of worst 26 days) |
| Skew | -0.14 | -0.07 |
| Excess kurtosis | 10.05 | 13.40 |
| 2σ tail days (down/up) | 65 / 55 | 63 / 52 |
| |z| > 3σ days (observed vs expected) | 38 (6.78) | 35 (6.78) |
| Worst day (simple return) | -15.40% (2020-03-16) | -14.96% (2020-03-16) |
| Best day (simple return) | +17.80% (2020-03-13) | +18.01% (2020-03-13) |
Downside Co-moves (Tail Dependence)
Using shared closes, a “tail day” is when each asset is in its own worst 5% (or 1%) of days in 2016–2025.
Show co-crash dates
These are shared-date intervals when both assets were in their own worst-tail days (shown as simple returns). Most recent 30 dates are shown.
Both in worst 5% days
| Date | BAC | JPM |
|---|---|---|
| 2021-09-17 → 2021-09-20 | -3.43% | -2.99% |
| 2021-11-24 → 2021-11-26 | -3.93% | -3.01% |
| 2022-01-14 → 2022-01-18 | -3.44% | -4.19% |
| 2022-03-01 | -3.91% | -3.77% |
| 2022-03-04 | -3.62% | -2.81% |
| 2022-03-04 → 2022-03-07 | -6.37% | -3.86% |
| 2022-03-31 | -4.14% | -3.00% |
| 2022-04-22 | -3.47% | -2.87% |
| 2022-04-29 | -3.07% | -3.23% |
| 2022-06-10 | -3.88% | -4.60% |
| 2022-06-10 → 2022-06-13 | -3.47% | -2.98% |
| 2022-08-26 | -3.16% | -3.27% |
| 2022-09-13 | -3.60% | -3.47% |
| 2022-09-21 | -2.99% | -2.88% |
| 2022-10-11 | -2.90% | -2.89% |
| 2022-12-02 → 2022-12-05 | -4.46% | -2.80% |
| 2023-03-07 | -3.20% | -2.94% |
| 2023-03-09 | -6.20% | -5.41% |
| 2023-03-17 | -3.97% | -3.78% |
| 2023-03-22 | -3.32% | -2.58% |
| 2023-08-15 | -3.20% | -2.55% |
| 2023-10-27 | -3.64% | -3.60% |
| 2024-08-02 | -4.86% | -4.24% |
| 2024-12-18 | -3.44% | -3.35% |
| 2025-03-04 | -6.34% | -3.98% |
| 2025-03-07 → 2025-03-10 | -3.79% | -4.15% |
| 2025-04-03 | -11.06% | -6.97% |
| 2025-04-04 | -7.60% | -7.44% |
| 2025-04-10 | -3.50% | -3.09% |
| 2025-07-08 | -3.10% | -3.15% |
Both in worst 1% days
| Date | BAC | JPM |
|---|---|---|
| 2016-06-24 | -7.41% | -6.95% |
| 2018-02-02 → 2018-02-05 | -5.29% | -4.80% |
| 2020-03-06 → 2020-03-09 | -14.70% | -13.55% |
| 2020-03-12 | -9.53% | -8.24% |
| 2020-03-13 → 2020-03-16 | -15.40% | -14.96% |
| 2020-03-18 | -5.41% | -10.53% |
| 2020-03-20 → 2020-03-23 | -8.08% | -5.35% |
| 2020-04-01 | -6.88% | -6.30% |
| 2020-04-15 | -6.49% | -4.93% |
| 2020-06-11 | -10.04% | -8.34% |
| 2020-06-26 | -6.35% | -5.48% |
| 2023-03-09 | -6.20% | -5.41% |
| 2025-04-03 | -11.06% | -6.97% |
| 2025-04-04 | -7.60% | -7.44% |
Best and Worst Years
BAC Best Year
BAC Worst Year
JPM Best Year
JPM Worst Year
Maximum Drawdown
Maximum drawdown measures the largest peak-to-trough decline. Lower (less negative) is better.
Recovery time measures calendar days from the drawdown low back to the prior peak.
Correlation Analysis
The 10-year average correlation between Bank of America and JPMorgan Chase was 0.86. This high correlation indicates the assets tend to move together.
Bank of America vs. JPMorgan Chase Yearly Average Correlation (10-year)
Frequently Asked Questions
Which performed better over 10 years: Bank of America or JPMorgan Chase?
Bank of America returned +316.6% compared to JPMorgan Chase's +559.6% from 2016 to 2025. JPMorgan Chase delivered the higher total return. JPMorgan Chase won 8 out of 10 individual years.
What would $10,000 invested in Bank of America be worth today?
$10,000 invested in Bank of America at the start of 2016 would be worth $41,663.74 by the end of 2025. The same amount in JPMorgan Chase would be worth $65,955.40.
Which asset had better risk-adjusted returns?
JPMorgan Chase had the higher Sharpe ratio (0.67 vs 0.48), indicating better risk-adjusted performance than Bank of America.
How bad were the worst 5% days for Bank of America vs JPMorgan Chase?
From 2016 to 2025, BAC had a 5% Expected Shortfall of -4.58% and a 5% VaR of -2.90%. JPM's were -4.05% and -2.56%.
Do Bank of America and JPMorgan Chase crash together on bad days?
When JPM was in its worst 5% days, BAC was also in its worst 5% days 71.4% of the time (90 of 126). The reverse was 71.4% (90 of 126).
Methodology
- Price data sourced from Tiingo (BAC) and Tiingo (JPM)
- Volatility calculated as annualized standard deviation of daily returns
- Sharpe and Sortino ratios use the average 3-month Treasury rate as the risk-free rate
- Calmar ratio = CAGR / Maximum Drawdown
- Year-by-year returns calculated from first to last trading day of each calendar year
- Tail-risk metrics (VaR/ES, skew/kurtosis) use daily log returns in 2016–2025. Downside co-moves use shared closes (weekend/holiday moves roll into the next close).
Explore our financial glossary
Disclaimer: This scorecard is for informational and educational purposes only and does not constitute investment, financial, legal, or tax advice. Past performance is not indicative of future results. All investments involve risk, including the possible loss of principal. Data sourced from third parties may contain errors or be delayed. Always conduct your own research and consult a qualified financial advisor before making investment decisions.