Fair Value Measurements - Recurring Fair Value (Details) (USD $)
|
Mar. 31, 2015
|
Dec. 31, 2014
|
Mar. 31, 2014
|
Dec. 31, 2013
|
Financial assets |
|
|
|
|
Federal funds sold and securities borrowed or purchased under agreements to resell |
$ 60,451,000,000us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellFairValueDisclosure
|
$ 62,182,000,000us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellFairValueDisclosure
|
|
|
Trading account assets |
186,860,000,000us-gaap_TradingSecurities
|
191,785,000,000us-gaap_TradingSecurities
|
|
|
Gross Derivative Assets |
966,000,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement
|
984,800,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement
|
|
|
Derivative assets |
61,331,000,000us-gaap_DerivativeAssets
|
52,682,000,000us-gaap_DerivativeAssets
|
|
|
Total available-for-sale debt securities |
288,942,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities
|
284,274,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities
|
|
|
Other debt securities carried at fair value |
35,232,000,000bac_OtherDebtSecuritiesCarriedAtFairValue
|
36,421,000,000bac_OtherDebtSecuritiesCarriedAtFairValue
|
|
|
Loans and leases, measured at fair value |
8,466,000,000us-gaap_LoansReceivableFairValueDisclosure
|
8,681,000,000us-gaap_LoansReceivableFairValueDisclosure
|
|
|
Mortgage servicing rights |
3,394,000,000us-gaap_ServicingAssetAtFairValueAmount
|
3,530,000,000us-gaap_ServicingAssetAtFairValueAmount
|
4,765,000,000us-gaap_ServicingAssetAtFairValueAmount
|
5,042,000,000us-gaap_ServicingAssetAtFairValueAmount
|
Loans held-for-sale, measured at fair value |
7,690,000,000us-gaap_LoansHeldForSaleFairValueDisclosure
|
6,801,000,000us-gaap_LoansHeldForSaleFairValueDisclosure
|
|
|
Other assets |
14,114,000,000us-gaap_OtherAssetsFairValueDisclosure
|
13,873,000,000us-gaap_OtherAssetsFairValueDisclosure
|
|
|
Liabilities |
|
|
|
|
Interest-bearing, measured at fair value |
1,275,000,000bac_InterestbearingDepositLiabilitiesDomesticFairValueDisclosure
|
1,469,000,000bac_InterestbearingDepositLiabilitiesDomesticFairValueDisclosure
|
|
|
Federal funds purchased and securities loaned or sold under agreements to repurchase, measured at fair value |
27,129,000,000us-gaap_FederalFundsPurchasedAndSecuritiesLoanedOrSoldUnderAgreementsToRepurchaseFairValueDisclosure
|
35,357,000,000us-gaap_FederalFundsPurchasedAndSecuritiesLoanedOrSoldUnderAgreementsToRepurchaseFairValueDisclosure
|
|
|
Gross Derivative Liabilities |
960,000,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement
|
981,800,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement
|
|
|
Derivative Liability |
52,234,000,000us-gaap_DerivativeLiabilities
|
46,909,000,000us-gaap_DerivativeLiabilities
|
|
|
Short-term borrowings, measured at fair value |
2,893,000,000us-gaap_ShorttermDebtFairValue
|
2,697,000,000us-gaap_ShorttermDebtFairValue
|
|
|
Long-term debt |
32,875,000,000us-gaap_LongTermDebtFairValue
|
36,404,000,000us-gaap_LongTermDebtFairValue
|
|
|
Assets and Liabilities, Recurring Basis, Supplemental Information: |
|
|
|
|
Assets transferred from Level 2 to Level 1 |
327,000,000us-gaap_FairValueAssetsLevel2ToLevel1TransfersAmount
|
|
|
|
Assets transferred from Level 1 to Level 2 |
|
4,100,000,000us-gaap_FairValueAssetsLevel1ToLevel2TransfersAmount
|
|
|
Liabilities transferred from Level 1 to Level 2 |
|
570,000,000us-gaap_FairValueLiabilitiesLevel1ToLevel2TransfersAmount
|
|
|
U.S. Treasury and agency securities |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
59,516,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USTreasuryAndGovernmentMember
|
69,595,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USTreasuryAndGovernmentMember
|
|
|
Agency |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
181,838,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyMember
|
165,039,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyMember
|
|
|
Agency-collateralized mortgage obligations |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
13,961,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember
|
14,248,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember
|
|
|
Non-agency residential |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
4,026,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember
|
4,454,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember
|
|
|
Commercial |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
3,989,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialMortgageBackedSecuritiesMember
|
4,000,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialMortgageBackedSecuritiesMember
|
|
|
Other taxable securities |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
9,578,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_OtherTaxableSecuritiesMember
|
10,791,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_OtherTaxableSecuritiesMember
|
|
|
Tax-exempt securities |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
9,717,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_TaxExemptSecuritiesMember
|
9,549,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_TaxExemptSecuritiesMember
|
|
|
US Government-sponsored Enterprises Debt Securities |
|
|
|
|
Financial assets |
|
|
|
|
Trading account assets |
16,500,000,000us-gaap_TradingSecurities / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentSponsoredEnterprisesDebtSecuritiesMember
|
17,200,000,000us-gaap_TradingSecurities / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentSponsoredEnterprisesDebtSecuritiesMember
|
|
|
Recurring |
|
|
|
|
Financial assets |
|
|
|
|
Federal funds sold and securities borrowed or purchased under agreements to resell |
60,451,000,000us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellFairValueDisclosure / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
62,182,000,000us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellFairValueDisclosure / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Trading account assets |
186,860,000,000us-gaap_TradingSecurities / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
191,785,000,000us-gaap_TradingSecurities / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Netting adjustments |
(904,730,000,000)us-gaap_DerivativeAssetFairValueGrossLiabilityAndObligationToReturnCashOffset / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
(932,103,000,000)us-gaap_DerivativeAssetFairValueGrossLiabilityAndObligationToReturnCashOffset / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Derivative assets |
61,331,000,000us-gaap_DerivativeAssets / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
52,682,000,000us-gaap_DerivativeAssets / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Total available-for-sale debt securities |
288,942,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
284,274,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Other debt securities carried at fair value |
35,232,000,000bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
36,421,000,000bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Loans and leases, measured at fair value |
8,466,000,000us-gaap_LoansReceivableFairValueDisclosure / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
8,681,000,000us-gaap_LoansReceivableFairValueDisclosure / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Mortgage servicing rights |
3,394,000,000us-gaap_ServicingAssetAtFairValueAmount / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
3,530,000,000us-gaap_ServicingAssetAtFairValueAmount / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Loans held-for-sale, measured at fair value |
7,690,000,000us-gaap_LoansHeldForSaleFairValueDisclosure / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
6,801,000,000us-gaap_LoansHeldForSaleFairValueDisclosure / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Other assets |
14,114,000,000us-gaap_OtherAssetsFairValueDisclosure / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
13,873,000,000us-gaap_OtherAssetsFairValueDisclosure / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Total assets |
666,480,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
660,229,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Liabilities |
|
|
|
|
Interest-bearing, measured at fair value |
1,275,000,000bac_InterestbearingDepositLiabilitiesDomesticFairValueDisclosure / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
1,469,000,000bac_InterestbearingDepositLiabilitiesDomesticFairValueDisclosure / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Federal funds purchased and securities loaned or sold under agreements to repurchase, measured at fair value |
27,129,000,000us-gaap_FederalFundsPurchasedAndSecuritiesLoanedOrSoldUnderAgreementsToRepurchaseFairValueDisclosure / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
35,357,000,000us-gaap_FederalFundsPurchasedAndSecuritiesLoanedOrSoldUnderAgreementsToRepurchaseFairValueDisclosure / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Total trading account liabilities |
74,791,000,000us-gaap_TradingLiabilitiesFairValueDisclosure / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
74,192,000,000us-gaap_TradingLiabilitiesFairValueDisclosure / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Netting adjustment |
(907,769,000,000)us-gaap_DerivativeLiabilityFairValueGrossAssetAndRightToReclaimCashOffset / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
(934,857,000,000)us-gaap_DerivativeLiabilityFairValueGrossAssetAndRightToReclaimCashOffset / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Derivative Liability |
52,234,000,000us-gaap_DerivativeLiabilities / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
46,909,000,000us-gaap_DerivativeLiabilities / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Short-term borrowings, measured at fair value |
2,893,000,000us-gaap_ShorttermDebtFairValue / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
2,697,000,000us-gaap_ShorttermDebtFairValue / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Accrued expenses and other liabilities |
12,664,000,000bac_AccruedExpensesandOtherLiabilitiesFairValueDisclosure / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
12,055,000,000bac_AccruedExpensesandOtherLiabilitiesFairValueDisclosure / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Long-term debt |
32,875,000,000us-gaap_LongTermDebtFairValue / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
36,404,000,000us-gaap_LongTermDebtFairValue / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Total liabilities |
203,861,000,000us-gaap_LiabilitiesFairValueDisclosure / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
209,083,000,000us-gaap_LiabilitiesFairValueDisclosure / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Recurring | U.S. government and agency securities |
|
|
|
|
Financial assets |
|
|
|
|
Trading account assets |
50,867,000,000us-gaap_TradingSecurities / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
|
51,019,000,000us-gaap_TradingSecurities / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
|
|
|
Liabilities |
|
|
|
|
Total trading account liabilities |
20,082,000,000us-gaap_TradingLiabilitiesFairValueDisclosure / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
|
18,960,000,000us-gaap_TradingLiabilitiesFairValueDisclosure / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
|
|
|
Recurring | Corporate securities, trading loans and other |
|
|
|
|
Financial assets |
|
|
|
|
Trading account assets |
34,521,000,000us-gaap_TradingSecurities / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember
|
35,212,000,000us-gaap_TradingSecurities / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember
|
|
|
Liabilities |
|
|
|
|
Total trading account liabilities |
7,921,000,000us-gaap_TradingLiabilitiesFairValueDisclosure / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember
|
7,169,000,000us-gaap_TradingLiabilitiesFairValueDisclosure / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember
|
|
|
Recurring | Equity securities |
|
|
|
|
Financial assets |
|
|
|
|
Trading account assets |
57,658,000,000us-gaap_TradingSecurities / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_EquitySecuritiesMember
|
56,358,000,000us-gaap_TradingSecurities / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_EquitySecuritiesMember
|
|
|
Liabilities |
|
|
|
|
Total trading account liabilities |
29,025,000,000us-gaap_TradingLiabilitiesFairValueDisclosure / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_EquitySecuritiesMember
|
28,349,000,000us-gaap_TradingLiabilitiesFairValueDisclosure / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_EquitySecuritiesMember
|
|
|
Recurring | Non-U.S. sovereign debt |
|
|
|
|
Financial assets |
|
|
|
|
Trading account assets |
32,726,000,000us-gaap_TradingSecurities / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember
|
36,254,000,000us-gaap_TradingSecurities / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember
|
|
|
Liabilities |
|
|
|
|
Total trading account liabilities |
17,763,000,000us-gaap_TradingLiabilitiesFairValueDisclosure / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember
|
19,714,000,000us-gaap_TradingLiabilitiesFairValueDisclosure / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember
|
|
|
Recurring | Mortgage trading loans and ABS |
|
|
|
|
Financial assets |
|
|
|
|
Trading account assets |
11,088,000,000us-gaap_TradingSecurities / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember
|
12,942,000,000us-gaap_TradingSecurities / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember
|
|
|
Recurring | U.S. Treasury and agency securities |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
59,516,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USTreasuryAndGovernmentMember
|
69,595,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USTreasuryAndGovernmentMember
|
|
|
Other debt securities carried at fair value |
1,272,000,000bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USTreasuryAndGovernmentMember
|
1,541,000,000bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USTreasuryAndGovernmentMember
|
|
|
Recurring | Agency |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
181,838,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyMember
|
165,039,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyMember
|
|
|
Other debt securities carried at fair value |
15,670,000,000bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyMember
|
15,704,000,000bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyMember
|
|
|
Recurring | Agency-collateralized mortgage obligations |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
13,961,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember
|
14,248,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember
|
|
|
Recurring | Non-agency residential |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
4,026,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember
|
4,454,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember
|
|
|
Other debt securities carried at fair value |
3,869,000,000bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember
|
3,745,000,000bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember
|
|
|
Recurring | Commercial |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
3,989,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialMortgageBackedSecuritiesMember
|
4,000,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialMortgageBackedSecuritiesMember
|
|
|
Recurring | Non-U.S. securities |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
5,952,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ForeignCorporateDebtSecuritiesMember
|
6,230,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ForeignCorporateDebtSecuritiesMember
|
|
|
Other debt securities carried at fair value |
14,124,000,000bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ForeignCorporateDebtSecuritiesMember
|
15,132,000,000bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ForeignCorporateDebtSecuritiesMember
|
|
|
Recurring | Corporate/Agency bonds |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
365,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CorporateBondSecuritiesMember
|
368,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CorporateBondSecuritiesMember
|
|
|
Recurring | Other taxable securities |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
9,578,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_OtherTaxableSecuritiesMember
|
10,791,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_OtherTaxableSecuritiesMember
|
|
|
Other debt securities carried at fair value |
297,000,000bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_OtherTaxableSecuritiesMember
|
299,000,000bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_OtherTaxableSecuritiesMember
|
|
|
Recurring | Tax-exempt securities |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
9,717,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_TaxExemptSecuritiesMember
|
9,549,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_TaxExemptSecuritiesMember
|
|
|
Recurring | Level 1 |
|
|
|
|
Financial assets |
|
|
|
|
Federal funds sold and securities borrowed or purchased under agreements to resell |
0us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
0us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Trading account assets |
86,602,000,000us-gaap_TradingSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
87,579,000,000us-gaap_TradingSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Gross Derivative Assets |
4,764,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
4,957,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Total available-for-sale debt securities |
60,411,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
70,624,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Other debt securities carried at fair value |
13,799,000,000bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
14,811,000,000bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Loans and leases, measured at fair value |
0us-gaap_LoansReceivableFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
0us-gaap_LoansReceivableFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Mortgage servicing rights |
0us-gaap_ServicingAssetAtFairValueAmount / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
0us-gaap_ServicingAssetAtFairValueAmount / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Loans held-for-sale, measured at fair value |
0us-gaap_LoansHeldForSaleFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
0us-gaap_LoansHeldForSaleFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Other assets |
12,296,000,000us-gaap_OtherAssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
11,581,000,000us-gaap_OtherAssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Total assets |
177,872,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
189,552,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Liabilities |
|
|
|
|
Interest-bearing, measured at fair value |
0bac_InterestbearingDepositLiabilitiesDomesticFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
0bac_InterestbearingDepositLiabilitiesDomesticFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Federal funds purchased and securities loaned or sold under agreements to repurchase, measured at fair value |
0us-gaap_FederalFundsPurchasedAndSecuritiesLoanedOrSoldUnderAgreementsToRepurchaseFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
0us-gaap_FederalFundsPurchasedAndSecuritiesLoanedOrSoldUnderAgreementsToRepurchaseFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Total trading account liabilities |
60,784,000,000us-gaap_TradingLiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
59,471,000,000us-gaap_TradingLiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Gross Derivative Liabilities |
5,121,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
4,493,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Short-term borrowings, measured at fair value |
0us-gaap_ShorttermDebtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
0us-gaap_ShorttermDebtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Accrued expenses and other liabilities |
11,602,000,000bac_AccruedExpensesandOtherLiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
10,795,000,000bac_AccruedExpensesandOtherLiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Long-term debt |
0us-gaap_LongTermDebtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
0us-gaap_LongTermDebtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Total liabilities |
77,507,000,000us-gaap_LiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
74,759,000,000us-gaap_LiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Recurring | Level 1 | U.S. government and agency securities |
|
|
|
|
Financial assets |
|
|
|
|
Trading account assets |
34,138,000,000us-gaap_TradingSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
|
33,470,000,000us-gaap_TradingSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
|
|
|
Liabilities |
|
|
|
|
Total trading account liabilities |
19,941,000,000us-gaap_TradingLiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
|
18,514,000,000us-gaap_TradingLiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
|
|
|
Recurring | Level 1 | Corporate securities, trading loans and other |
|
|
|
|
Financial assets |
|
|
|
|
Trading account assets |
494,000,000us-gaap_TradingSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember
|
243,000,000us-gaap_TradingSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember
|
|
|
Liabilities |
|
|
|
|
Total trading account liabilities |
212,000,000us-gaap_TradingLiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember
|
189,000,000us-gaap_TradingLiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember
|
|
|
Recurring | Level 1 | Equity securities |
|
|
|
|
Financial assets |
|
|
|
|
Trading account assets |
34,110,000,000us-gaap_TradingSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_EquitySecuritiesMember
|
33,518,000,000us-gaap_TradingSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_EquitySecuritiesMember
|
|
|
Liabilities |
|
|
|
|
Total trading account liabilities |
25,127,000,000us-gaap_TradingLiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_EquitySecuritiesMember
|
24,679,000,000us-gaap_TradingLiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_EquitySecuritiesMember
|
|
|
Recurring | Level 1 | Non-U.S. sovereign debt |
|
|
|
|
Financial assets |
|
|
|
|
Trading account assets |
17,860,000,000us-gaap_TradingSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember
|
20,348,000,000us-gaap_TradingSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember
|
|
|
Liabilities |
|
|
|
|
Total trading account liabilities |
15,504,000,000us-gaap_TradingLiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember
|
16,089,000,000us-gaap_TradingLiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember
|
|
|
Recurring | Level 1 | U.S. Treasury and agency securities |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
57,422,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USTreasuryAndGovernmentMember
|
67,413,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USTreasuryAndGovernmentMember
|
|
|
Other debt securities carried at fair value |
1,272,000,000bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USTreasuryAndGovernmentMember
|
1,541,000,000bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USTreasuryAndGovernmentMember
|
|
|
Recurring | Level 1 | Agency |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
0us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyMember
|
0us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyMember
|
|
|
Other debt securities carried at fair value |
0bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyMember
|
0bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyMember
|
|
|
Recurring | Level 1 | Agency-collateralized mortgage obligations |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
0us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember
|
0us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember
|
|
|
Recurring | Level 1 | Non-agency residential |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
0us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember
|
0us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember
|
|
|
Other debt securities carried at fair value |
0bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember
|
0bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember
|
|
|
Recurring | Level 1 | Commercial |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
0us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialMortgageBackedSecuritiesMember
|
0us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialMortgageBackedSecuritiesMember
|
|
|
Recurring | Level 1 | Non-U.S. securities |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
2,969,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ForeignCorporateDebtSecuritiesMember
|
3,191,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ForeignCorporateDebtSecuritiesMember
|
|
|
Other debt securities carried at fair value |
12,527,000,000bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ForeignCorporateDebtSecuritiesMember
|
13,270,000,000bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ForeignCorporateDebtSecuritiesMember
|
|
|
Recurring | Level 1 | Corporate/Agency bonds |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
0us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CorporateBondSecuritiesMember
|
0us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CorporateBondSecuritiesMember
|
|
|
Recurring | Level 1 | Other taxable securities |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
20,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_OtherTaxableSecuritiesMember
|
20,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_OtherTaxableSecuritiesMember
|
|
|
Other debt securities carried at fair value |
|
0bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_OtherTaxableSecuritiesMember
|
|
|
Recurring | Level 1 | Tax-exempt securities |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
0us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_TaxExemptSecuritiesMember
|
0us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_TaxExemptSecuritiesMember
|
|
|
Recurring | Level 2 |
|
|
|
|
Financial assets |
|
|
|
|
Federal funds sold and securities borrowed or purchased under agreements to resell |
60,451,000,000us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
62,182,000,000us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Trading account assets |
94,544,000,000us-gaap_TradingSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
97,947,000,000us-gaap_TradingSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Gross Derivative Assets |
953,847,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
972,977,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Total available-for-sale debt securities |
226,847,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
211,095,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Other debt securities carried at fair value |
21,433,000,000bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
21,610,000,000bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Loans and leases, measured at fair value |
6,512,000,000us-gaap_LoansReceivableFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
6,698,000,000us-gaap_LoansReceivableFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Mortgage servicing rights |
|
0us-gaap_ServicingAssetAtFairValueAmount / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Loans held-for-sale, measured at fair value |
7,147,000,000us-gaap_LoansHeldForSaleFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
6,628,000,000us-gaap_LoansHeldForSaleFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Other assets |
971,000,000us-gaap_OtherAssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
1,381,000,000us-gaap_OtherAssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Total assets |
1,371,752,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
1,380,518,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Liabilities |
|
|
|
|
Interest-bearing, measured at fair value |
1,275,000,000bac_InterestbearingDepositLiabilitiesDomesticFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
1,469,000,000bac_InterestbearingDepositLiabilitiesDomesticFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Federal funds purchased and securities loaned or sold under agreements to repurchase, measured at fair value |
27,129,000,000us-gaap_FederalFundsPurchasedAndSecuritiesLoanedOrSoldUnderAgreementsToRepurchaseFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
35,357,000,000us-gaap_FederalFundsPurchasedAndSecuritiesLoanedOrSoldUnderAgreementsToRepurchaseFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Total trading account liabilities |
13,966,000,000us-gaap_TradingLiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
14,685,000,000us-gaap_TradingLiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Gross Derivative Liabilities |
946,351,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
969,502,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Short-term borrowings, measured at fair value |
2,878,000,000us-gaap_ShorttermDebtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
2,697,000,000us-gaap_ShorttermDebtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Accrued expenses and other liabilities |
1,052,000,000bac_AccruedExpensesandOtherLiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
1,250,000,000bac_AccruedExpensesandOtherLiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Long-term debt |
30,069,000,000us-gaap_LongTermDebtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
34,042,000,000us-gaap_LongTermDebtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Total liabilities |
1,022,720,000,000us-gaap_LiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
1,059,002,000,000us-gaap_LiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Recurring | Level 2 | U.S. government and agency securities |
|
|
|
|
Financial assets |
|
|
|
|
Trading account assets |
16,729,000,000us-gaap_TradingSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
|
17,549,000,000us-gaap_TradingSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
|
|
|
Liabilities |
|
|
|
|
Total trading account liabilities |
141,000,000us-gaap_TradingLiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
|
446,000,000us-gaap_TradingLiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
|
|
|
Recurring | Level 2 | Corporate securities, trading loans and other |
|
|
|
|
Financial assets |
|
|
|
|
Trading account assets |
31,267,000,000us-gaap_TradingSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember
|
31,699,000,000us-gaap_TradingSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember
|
|
|
Liabilities |
|
|
|
|
Total trading account liabilities |
7,668,000,000us-gaap_TradingLiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember
|
6,944,000,000us-gaap_TradingLiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember
|
|
|
Recurring | Level 2 | Equity securities |
|
|
|
|
Financial assets |
|
|
|
|
Trading account assets |
23,208,000,000us-gaap_TradingSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_EquitySecuritiesMember
|
22,488,000,000us-gaap_TradingSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_EquitySecuritiesMember
|
|
|
Liabilities |
|
|
|
|
Total trading account liabilities |
3,898,000,000us-gaap_TradingLiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_EquitySecuritiesMember
|
3,670,000,000us-gaap_TradingLiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_EquitySecuritiesMember
|
|
|
Recurring | Level 2 | Non-U.S. sovereign debt |
|
|
|
|
Financial assets |
|
|
|
|
Trading account assets |
14,358,000,000us-gaap_TradingSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember
|
15,332,000,000us-gaap_TradingSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember
|
|
|
Liabilities |
|
|
|
|
Total trading account liabilities |
2,259,000,000us-gaap_TradingLiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember
|
3,625,000,000us-gaap_TradingLiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember
|
|
|
Recurring | Level 2 | Mortgage trading loans and ABS |
|
|
|
|
Financial assets |
|
|
|
|
Trading account assets |
8,982,000,000us-gaap_TradingSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember
|
10,879,000,000us-gaap_TradingSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember
|
|
|
Recurring | Level 2 | U.S. Treasury and agency securities |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
2,094,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USTreasuryAndGovernmentMember
|
2,182,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USTreasuryAndGovernmentMember
|
|
|
Other debt securities carried at fair value |
0bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USTreasuryAndGovernmentMember
|
0bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USTreasuryAndGovernmentMember
|
|
|
Recurring | Level 2 | Agency |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
181,838,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyMember
|
165,039,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyMember
|
|
|
Other debt securities carried at fair value |
15,670,000,000bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyMember
|
15,704,000,000bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyMember
|
|
|
Recurring | Level 2 | Agency-collateralized mortgage obligations |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
13,961,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember
|
14,248,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember
|
|
|
Recurring | Level 2 | Non-agency residential |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
3,624,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember
|
4,175,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember
|
|
|
Other debt securities carried at fair value |
3,869,000,000bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember
|
3,745,000,000bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember
|
|
|
Recurring | Level 2 | Commercial |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
3,989,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialMortgageBackedSecuritiesMember
|
4,000,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialMortgageBackedSecuritiesMember
|
|
|
Recurring | Level 2 | Non-U.S. securities |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
2,974,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ForeignCorporateDebtSecuritiesMember
|
3,029,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ForeignCorporateDebtSecuritiesMember
|
|
|
Other debt securities carried at fair value |
1,597,000,000bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ForeignCorporateDebtSecuritiesMember
|
1,862,000,000bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ForeignCorporateDebtSecuritiesMember
|
|
|
Recurring | Level 2 | Corporate/Agency bonds |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
365,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CorporateBondSecuritiesMember
|
368,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CorporateBondSecuritiesMember
|
|
|
Recurring | Level 2 | Other taxable securities |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
8,868,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_OtherTaxableSecuritiesMember
|
9,104,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_OtherTaxableSecuritiesMember
|
|
|
Other debt securities carried at fair value |
297,000,000bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_OtherTaxableSecuritiesMember
|
299,000,000bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_OtherTaxableSecuritiesMember
|
|
|
Recurring | Level 2 | Tax-exempt securities |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
9,134,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_TaxExemptSecuritiesMember
|
8,950,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_TaxExemptSecuritiesMember
|
|
|
Recurring | Level 3 |
|
|
|
|
Financial assets |
|
|
|
|
Federal funds sold and securities borrowed or purchased under agreements to resell |
0us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
0us-gaap_FederalFundsSoldAndSecuritiesBorrowedOrPurchasedUnderAgreementsToResellFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Trading account assets |
5,714,000,000us-gaap_TradingSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
6,259,000,000us-gaap_TradingSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Gross Derivative Assets |
7,450,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
6,851,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
6,900,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
Total available-for-sale debt securities |
1,684,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
2,555,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Other debt securities carried at fair value |
0bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
0bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Loans and leases, measured at fair value |
1,954,000,000us-gaap_LoansReceivableFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
1,983,000,000us-gaap_LoansReceivableFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Mortgage servicing rights |
3,394,000,000us-gaap_ServicingAssetAtFairValueAmount / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
3,530,000,000us-gaap_ServicingAssetAtFairValueAmount / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Loans held-for-sale, measured at fair value |
543,000,000us-gaap_LoansHeldForSaleFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
173,000,000us-gaap_LoansHeldForSaleFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Other assets |
847,000,000us-gaap_OtherAssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
911,000,000us-gaap_OtherAssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Total assets |
21,586,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
22,262,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Liabilities |
|
|
|
|
Interest-bearing, measured at fair value |
0bac_InterestbearingDepositLiabilitiesDomesticFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
0bac_InterestbearingDepositLiabilitiesDomesticFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Federal funds purchased and securities loaned or sold under agreements to repurchase, measured at fair value |
0us-gaap_FederalFundsPurchasedAndSecuritiesLoanedOrSoldUnderAgreementsToRepurchaseFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
0us-gaap_FederalFundsPurchasedAndSecuritiesLoanedOrSoldUnderAgreementsToRepurchaseFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Total trading account liabilities |
41,000,000us-gaap_TradingLiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
36,000,000us-gaap_TradingLiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Gross Derivative Liabilities |
8,531,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
7,771,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
7,700,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
Short-term borrowings, measured at fair value |
15,000,000us-gaap_ShorttermDebtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
0us-gaap_ShorttermDebtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Accrued expenses and other liabilities |
10,000,000bac_AccruedExpensesandOtherLiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
10,000,000bac_AccruedExpensesandOtherLiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Long-term debt |
2,806,000,000us-gaap_LongTermDebtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
2,362,000,000us-gaap_LongTermDebtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Total liabilities |
11,403,000,000us-gaap_LiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
10,179,000,000us-gaap_LiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Recurring | Level 3 | U.S. government and agency securities |
|
|
|
|
Financial assets |
|
|
|
|
Trading account assets |
|
0us-gaap_TradingSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
|
|
|
Liabilities |
|
|
|
|
Total trading account liabilities |
0us-gaap_TradingLiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
|
0us-gaap_TradingLiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
|
|
|
Recurring | Level 3 | Corporate securities, trading loans and other |
|
|
|
|
Financial assets |
|
|
|
|
Trading account assets |
2,760,000,000us-gaap_TradingSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember
|
3,270,000,000us-gaap_TradingSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember
|
|
|
Total assets |
2,800,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember
|
3,300,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember
|
|
|
Liabilities |
|
|
|
|
Total trading account liabilities |
41,000,000us-gaap_TradingLiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember
|
36,000,000us-gaap_TradingLiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember
|
|
|
Recurring | Level 3 | Equity securities |
|
|
|
|
Financial assets |
|
|
|
|
Trading account assets |
340,000,000us-gaap_TradingSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_EquitySecuritiesMember
|
352,000,000us-gaap_TradingSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_EquitySecuritiesMember
|
|
|
Liabilities |
|
|
|
|
Total trading account liabilities |
0us-gaap_TradingLiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_EquitySecuritiesMember
|
0us-gaap_TradingLiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_EquitySecuritiesMember
|
|
|
Recurring | Level 3 | Non-U.S. sovereign debt |
|
|
|
|
Financial assets |
|
|
|
|
Trading account assets |
508,000,000us-gaap_TradingSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember
|
574,000,000us-gaap_TradingSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember
|
|
|
Total assets |
508,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember
|
574,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember
|
|
|
Liabilities |
|
|
|
|
Total trading account liabilities |
0us-gaap_TradingLiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember
|
0us-gaap_TradingLiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember
|
|
|
Recurring | Level 3 | Mortgage trading loans and ABS |
|
|
|
|
Financial assets |
|
|
|
|
Trading account assets |
2,106,000,000us-gaap_TradingSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember
|
2,063,000,000us-gaap_TradingSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember
|
|
|
Total assets |
2,100,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember
|
2,100,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember
|
|
|
Recurring | Level 3 | U.S. Treasury and agency securities |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
0us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USTreasuryAndGovernmentMember
|
0us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USTreasuryAndGovernmentMember
|
|
|
Other debt securities carried at fair value |
0bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USTreasuryAndGovernmentMember
|
0bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USTreasuryAndGovernmentMember
|
|
|
Recurring | Level 3 | Agency |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
0us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyMember
|
0us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyMember
|
|
|
Other debt securities carried at fair value |
0bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyMember
|
0bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyMember
|
|
|
Recurring | Level 3 | Agency-collateralized mortgage obligations |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
0us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember
|
0us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageBackedSecuritiesAgencyCollateralizedMortgageObligationMember
|
|
|
Recurring | Level 3 | Non-agency residential |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
402,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember
|
279,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember
|
|
|
Other debt securities carried at fair value |
0bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember
|
0bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember
|
|
|
Recurring | Level 3 | Commercial |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
0us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialMortgageBackedSecuritiesMember
|
0us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialMortgageBackedSecuritiesMember
|
|
|
Recurring | Level 3 | Non-U.S. securities |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
9,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ForeignCorporateDebtSecuritiesMember
|
10,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ForeignCorporateDebtSecuritiesMember
|
|
|
Other debt securities carried at fair value |
0bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ForeignCorporateDebtSecuritiesMember
|
0bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ForeignCorporateDebtSecuritiesMember
|
|
|
Recurring | Level 3 | Corporate/Agency bonds |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
0us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CorporateBondSecuritiesMember
|
0us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CorporateBondSecuritiesMember
|
|
|
Recurring | Level 3 | Other taxable securities |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
690,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_OtherTaxableSecuritiesMember
|
1,667,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_OtherTaxableSecuritiesMember
|
|
|
Other debt securities carried at fair value |
0bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_OtherTaxableSecuritiesMember
|
0bac_OtherDebtSecuritiesCarriedAtFairValue / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_OtherTaxableSecuritiesMember
|
|
|
Total assets |
690,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_OtherTaxableSecuritiesMember
|
1,700,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_OtherTaxableSecuritiesMember
|
|
|
Recurring | Level 3 | Tax-exempt securities |
|
|
|
|
Financial assets |
|
|
|
|
Total available-for-sale debt securities |
583,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_TaxExemptSecuritiesMember
|
599,000,000us-gaap_AvailableForSaleSecuritiesDebtSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_TaxExemptSecuritiesMember
|
|
|
Total assets |
$ 583,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_TaxExemptSecuritiesMember
|
$ 599,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_TaxExemptSecuritiesMember
|
|
|