Securities - Gross Unrealized Losses (Details) (USD $)
In Millions, unless otherwise specified |
Dec. 31, 2014
|
Dec. 31, 2013
|
---|---|---|
Debt securities | ||
Available-for-sale Securities, Continuous Unrealized Loss Position [Abstract] | ||
Less than Twelve Months, Fair Value |
$ 16,346us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_DebtSecuritiesMember |
$ 154,358us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_DebtSecuritiesMember |
Less than Twelve Months, Gross Unrealized Losses |
(99)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_DebtSecuritiesMember |
(5,791)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_DebtSecuritiesMember |
Twelve Months or Longer, Fair Value |
49,554us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_DebtSecuritiesMember |
14,839us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_DebtSecuritiesMember |
Twelve Months or Longer, Gross Unrealized Losses |
(736)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_DebtSecuritiesMember |
(760)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_DebtSecuritiesMember |
Total, Fair Value |
65,900us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_DebtSecuritiesMember |
169,197us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_DebtSecuritiesMember |
Total, Gross Unrealized Losses |
(835)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_DebtSecuritiesMember |
(6,551)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_DebtSecuritiesMember |
Temporarily impaired AFS debt securities | Debt securities | ||
Available-for-sale Securities, Continuous Unrealized Loss Position [Abstract] | ||
Less than Twelve Months, Fair Value |
15,791us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_DebtSecuritiesMember |
154,356us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_DebtSecuritiesMember |
Less than Twelve Months, Gross Unrealized Losses |
(66)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_DebtSecuritiesMember |
(5,790)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_DebtSecuritiesMember |
Twelve Months or Longer, Fair Value |
49,554us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_DebtSecuritiesMember |
14,838us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_DebtSecuritiesMember |
Twelve Months or Longer, Gross Unrealized Losses |
(736)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_DebtSecuritiesMember |
(759)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_DebtSecuritiesMember |
Total, Fair Value |
65,345us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_DebtSecuritiesMember |
169,194us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_DebtSecuritiesMember |
Total, Gross Unrealized Losses |
(802)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_DebtSecuritiesMember |
(6,549)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_DebtSecuritiesMember |
Temporarily impaired AFS debt securities | U.S. Treasury and agency securities | ||
Available-for-sale Securities, Continuous Unrealized Loss Position [Abstract] | ||
Less than Twelve Months, Fair Value |
10,121us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USTreasuryAndGovernmentMember |
5,770us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USTreasuryAndGovernmentMember |
Less than Twelve Months, Gross Unrealized Losses |
(22)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USTreasuryAndGovernmentMember |
(61)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USTreasuryAndGovernmentMember |
Twelve Months or Longer, Fair Value |
667us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USTreasuryAndGovernmentMember |
19us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USTreasuryAndGovernmentMember |
Twelve Months or Longer, Gross Unrealized Losses |
(10)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USTreasuryAndGovernmentMember |
(1)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USTreasuryAndGovernmentMember |
Total, Fair Value |
10,788us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USTreasuryAndGovernmentMember |
5,789us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USTreasuryAndGovernmentMember |
Total, Gross Unrealized Losses |
(32)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USTreasuryAndGovernmentMember |
(62)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USTreasuryAndGovernmentMember |
Temporarily impaired AFS debt securities | Agency | ||
Available-for-sale Securities, Continuous Unrealized Loss Position [Abstract] | ||
Less than Twelve Months, Fair Value |
1,366us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyMember |
132,032us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyMember |
Less than Twelve Months, Gross Unrealized Losses |
(8)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyMember |
(5,457)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyMember |
Twelve Months or Longer, Fair Value |
43,118us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyMember |
9,324us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyMember |
Twelve Months or Longer, Gross Unrealized Losses |
(585)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyMember |
(497)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyMember |
Total, Fair Value |
44,484us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyMember |
141,356us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyMember |
Total, Gross Unrealized Losses |
(593)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyMember |
(5,954)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyMember |
Temporarily impaired AFS debt securities | Agency-collateralized mortgage obligations | ||
Available-for-sale Securities, Continuous Unrealized Loss Position [Abstract] | ||
Less than Twelve Months, Fair Value |
2,242us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember |
13,438us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember |
Less than Twelve Months, Gross Unrealized Losses |
(19)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember |
(210)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember |
Twelve Months or Longer, Fair Value |
3,075us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember |
2,661us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember |
Twelve Months or Longer, Gross Unrealized Losses |
(60)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember |
(105)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember |
Total, Fair Value |
5,317us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember |
16,099us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember |
Total, Gross Unrealized Losses |
(79)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember |
(315)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember |
Temporarily impaired AFS debt securities | Non-agency residential | ||
Available-for-sale Securities, Continuous Unrealized Loss Position [Abstract] | ||
Less than Twelve Months, Fair Value |
307us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
819us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
Less than Twelve Months, Gross Unrealized Losses |
(3)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
(15)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
Twelve Months or Longer, Fair Value |
809us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
1,237us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
Twelve Months or Longer, Gross Unrealized Losses |
(41)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
(106)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
Total, Fair Value |
1,116us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
2,056us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
Total, Gross Unrealized Losses |
(44)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
(121)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
Temporarily impaired AFS debt securities | Commercial | ||
Available-for-sale Securities, Continuous Unrealized Loss Position [Abstract] | ||
Less than Twelve Months, Fair Value |
286us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialMortgageBackedSecuritiesMember |
|
Less than Twelve Months, Gross Unrealized Losses |
(12)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialMortgageBackedSecuritiesMember |
|
Twelve Months or Longer, Fair Value |
0us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialMortgageBackedSecuritiesMember |
|
Twelve Months or Longer, Gross Unrealized Losses |
0us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialMortgageBackedSecuritiesMember |
|
Total, Fair Value |
286us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialMortgageBackedSecuritiesMember |
|
Total, Gross Unrealized Losses |
(12)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialMortgageBackedSecuritiesMember |
|
Temporarily impaired AFS debt securities | Non-U.S. securities | ||
Available-for-sale Securities, Continuous Unrealized Loss Position [Abstract] | ||
Less than Twelve Months, Fair Value |
157us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_ForeignSecuritiesMember |
0us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_ForeignSecuritiesMember |
Less than Twelve Months, Gross Unrealized Losses |
(9)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_ForeignSecuritiesMember |
0us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_ForeignSecuritiesMember |
Twelve Months or Longer, Fair Value |
32us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_ForeignSecuritiesMember |
45us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_ForeignSecuritiesMember |
Twelve Months or Longer, Gross Unrealized Losses |
(2)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_ForeignSecuritiesMember |
(24)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_ForeignSecuritiesMember |
Total, Fair Value |
189us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_ForeignSecuritiesMember |
45us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_ForeignSecuritiesMember |
Total, Gross Unrealized Losses |
(11)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_ForeignSecuritiesMember |
(24)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_ForeignSecuritiesMember |
Temporarily impaired AFS debt securities | Corporate/Agency bonds | ||
Available-for-sale Securities, Continuous Unrealized Loss Position [Abstract] | ||
Less than Twelve Months, Fair Value |
43us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_CorporateandAgencyBondsMember |
106us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_CorporateandAgencyBondsMember |
Less than Twelve Months, Gross Unrealized Losses |
(1)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_CorporateandAgencyBondsMember |
(3)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_CorporateandAgencyBondsMember |
Twelve Months or Longer, Fair Value |
93us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_CorporateandAgencyBondsMember |
282us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_CorporateandAgencyBondsMember |
Twelve Months or Longer, Gross Unrealized Losses |
(1)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_CorporateandAgencyBondsMember |
(4)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_CorporateandAgencyBondsMember |
Total, Fair Value |
136us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_CorporateandAgencyBondsMember |
388us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_CorporateandAgencyBondsMember |
Total, Gross Unrealized Losses |
(2)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_CorporateandAgencyBondsMember |
(7)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_CorporateandAgencyBondsMember |
Temporarily impaired AFS debt securities | Other taxable securities, substantially all asset-backed securities | ||
Available-for-sale Securities, Continuous Unrealized Loss Position [Abstract] | ||
Less than Twelve Months, Fair Value |
575us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_OtherTaxableSecuritiesMember |
116us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_OtherTaxableSecuritiesMember |
Less than Twelve Months, Gross Unrealized Losses |
(3)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_OtherTaxableSecuritiesMember |
(2)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_OtherTaxableSecuritiesMember |
Twelve Months or Longer, Fair Value |
1,080us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_OtherTaxableSecuritiesMember |
280us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_OtherTaxableSecuritiesMember |
Twelve Months or Longer, Gross Unrealized Losses |
(19)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_OtherTaxableSecuritiesMember |
(3)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_OtherTaxableSecuritiesMember |
Total, Fair Value |
1,655us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_OtherTaxableSecuritiesMember |
396us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_OtherTaxableSecuritiesMember |
Total, Gross Unrealized Losses |
(22)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_OtherTaxableSecuritiesMember |
(5)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_OtherTaxableSecuritiesMember |
Temporarily impaired AFS debt securities | Total taxable securities | ||
Available-for-sale Securities, Continuous Unrealized Loss Position [Abstract] | ||
Less than Twelve Months, Fair Value |
14,811us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_TaxableSecuritiesMember |
152,567us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_TaxableSecuritiesMember |
Less than Twelve Months, Gross Unrealized Losses |
(65)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_TaxableSecuritiesMember |
(5,760)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_TaxableSecuritiesMember |
Twelve Months or Longer, Fair Value |
48,874us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_TaxableSecuritiesMember |
13,848us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_TaxableSecuritiesMember |
Twelve Months or Longer, Gross Unrealized Losses |
(718)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_TaxableSecuritiesMember |
(740)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_TaxableSecuritiesMember |
Total, Fair Value |
63,685us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_TaxableSecuritiesMember |
166,415us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_TaxableSecuritiesMember |
Total, Gross Unrealized Losses |
(783)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_TaxableSecuritiesMember |
(6,500)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_TaxableSecuritiesMember |
Temporarily impaired AFS debt securities | Tax-exempt securities | ||
Available-for-sale Securities, Continuous Unrealized Loss Position [Abstract] | ||
Less than Twelve Months, Fair Value |
980us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_TaxExemptSecuritiesMember |
1,789us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_TaxExemptSecuritiesMember |
Less than Twelve Months, Gross Unrealized Losses |
(1)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_TaxExemptSecuritiesMember |
(30)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_TaxExemptSecuritiesMember |
Twelve Months or Longer, Fair Value |
680us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_TaxExemptSecuritiesMember |
990us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_TaxExemptSecuritiesMember |
Twelve Months or Longer, Gross Unrealized Losses |
(18)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_TaxExemptSecuritiesMember |
(19)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_TaxExemptSecuritiesMember |
Total, Fair Value |
1,660us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_TaxExemptSecuritiesMember |
2,779us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_TaxExemptSecuritiesMember |
Total, Gross Unrealized Losses |
(19)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_TaxExemptSecuritiesMember |
(49)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss / bac_ImpairmentTypeAxis = bac_TemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_TaxExemptSecuritiesMember |
Other-than-temporarily impaired AFS debt securities | Non-agency residential | ||
Available-for-sale Securities, Continuous Unrealized Loss Position [Abstract] | ||
Less than Twelve Months, Fair Value |
555us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue / bac_ImpairmentTypeAxis = bac_OtherThanTemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
2us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue / bac_ImpairmentTypeAxis = bac_OtherThanTemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
Less than Twelve Months, Gross Unrealized Losses |
(33)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss / bac_ImpairmentTypeAxis = bac_OtherThanTemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
(1)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss / bac_ImpairmentTypeAxis = bac_OtherThanTemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
Twelve Months or Longer, Fair Value |
0us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue / bac_ImpairmentTypeAxis = bac_OtherThanTemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
1us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue / bac_ImpairmentTypeAxis = bac_OtherThanTemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
Twelve Months or Longer, Gross Unrealized Losses |
0us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss / bac_ImpairmentTypeAxis = bac_OtherThanTemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
(1)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss / bac_ImpairmentTypeAxis = bac_OtherThanTemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
Total, Fair Value |
555us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue / bac_ImpairmentTypeAxis = bac_OtherThanTemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
3us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue / bac_ImpairmentTypeAxis = bac_OtherThanTemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
Total, Gross Unrealized Losses |
$ (33)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss / bac_ImpairmentTypeAxis = bac_OtherThanTemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
$ (2)us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss / bac_ImpairmentTypeAxis = bac_OtherThanTemporarilyImpairedMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
X | ||||||||||
- Definition
Amount of accumulated unrealized loss on investments in debt and equity securities classified as available-for-sale that have been in a continuous loss position for twelve months or longer. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Details
|
X | ||||||||||
- Definition
Amount of accumulated unrealized loss on investments in debt and equity securities classified as available-for-sale in a continuous loss position. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
This item represents the aggregate fair value of investments in debt and equity securities in an unrealized loss position which are categorized neither as held-to-maturity nor trading securities. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
Amount of accumulated unrealized loss on investments in debt and equity securities classified as available-for-sale that have been in a continuous loss position for less than twelve months. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
This item represents the aggregate fair value of investments in debt and equity securities categorized neither as held-to-maturity nor trading securities that have been in a continuous unrealized loss position for less than twelve months. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
This item represents the aggregate fair value of investments in debt and equity securities categorized neither as held-to-maturity nor trading securities that have been in a continuous unrealized loss position for twelve months or longer. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Details
|
X | ||||||||||
- Details
|
X | ||||||||||
- Details
|