|
Securitizations and Other Variable Interest Entities - First Lien Mortgages VIE (Details) (USD $) In Millions, unless otherwise specified
|
Mar. 31, 2015
|
Dec. 31, 2014
|
Mar. 31, 2014
|
Dec. 31, 2013
|
| On-balance sheet assets |
|
|
|
|
| Trading account assets |
$ 186,860us-gaap_TradingSecurities
|
$ 191,785us-gaap_TradingSecurities
|
|
|
| Debt securities carried at fair value |
324,174bac_DebtSecuritiesCarriedAtFairValue
|
320,695bac_DebtSecuritiesCarriedAtFairValue
|
|
|
| Held-to-maturity securities |
59,815us-gaap_HeldToMaturitySecurities
|
59,766us-gaap_HeldToMaturitySecurities
|
|
|
| Loans and leases |
877,956us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
|
881,391us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome
|
|
|
| Allowance for loan and lease losses |
(13,676)us-gaap_LoansAndLeasesReceivableAllowance
|
(14,419)us-gaap_LoansAndLeasesReceivableAllowance
|
(16,618)us-gaap_LoansAndLeasesReceivableAllowance
|
(17,428)us-gaap_LoansAndLeasesReceivableAllowance
|
| All other assets |
109,574us-gaap_OtherAssets
|
112,063us-gaap_OtherAssets
|
|
|
| Total assets |
2,143,545us-gaap_Assets
|
2,104,534us-gaap_Assets
|
2,149,851us-gaap_Assets
|
|
| On-balance sheet liabilities |
|
|
|
|
| Long-term debt |
237,858us-gaap_LongTermDebt
|
243,139us-gaap_LongTermDebt
|
|
|
| Total liabilities |
1,893,357us-gaap_Liabilities
|
1,861,063us-gaap_Liabilities
|
|
|
| Unpaid principal balance of mortgage loans eligible for repurchase |
365bac_UnpaidPrincipalBalanceofMortgageLoansEligibleforRepurchase
|
635bac_UnpaidPrincipalBalanceofMortgageLoansEligibleforRepurchase
|
|
|
| Principal amount that would be payable to the securitization vehicles |
365bac_PrincipalAmountThatWouldBePayableToSecuritizationVehiclesUnderRepurchaseOption
|
635bac_PrincipalAmountThatWouldBePayableToSecuritizationVehiclesUnderRepurchaseOption
|
|
|
| Unconsolidated VIEs | Agency |
|
|
|
|
| Variable Interest Entity [Line Items] |
|
|
|
|
| Maximum loss exposure |
19,523us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
14,918us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| On-balance sheet assets |
|
|
|
|
| Residual interests held |
0us-gaap_RetainedInterestFairValueDisclosure / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
0us-gaap_RetainedInterestFairValueDisclosure / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| All other assets |
23us-gaap_OtherAssets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
24us-gaap_OtherAssets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Total assets |
19,523us-gaap_Assets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
14,918us-gaap_Assets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Principal amount outstanding |
386,169us-gaap_ContinuingInvolvementWithTransferredFinancialAssetsPrincipalAmountOutstanding / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
397,055us-gaap_ContinuingInvolvementWithTransferredFinancialAssetsPrincipalAmountOutstanding / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Unconsolidated VIEs | Agency | Senior Lien |
|
|
|
|
| On-balance sheet assets |
|
|
|
|
| Trading account assets |
526us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
584us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Debt securities carried at fair value |
18,178bac_DebtSecuritiesCarriedAtFairValue / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
13,473bac_DebtSecuritiesCarriedAtFairValue / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Held-to-maturity securities |
796us-gaap_HeldToMaturitySecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
837us-gaap_HeldToMaturitySecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Unconsolidated VIEs | Agency | Junior Lien |
|
|
|
|
| On-balance sheet assets |
|
|
|
|
| Trading account assets |
0us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
0us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Debt securities carried at fair value |
0bac_DebtSecuritiesCarriedAtFairValue / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
0bac_DebtSecuritiesCarriedAtFairValue / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Held-to-maturity securities |
0us-gaap_HeldToMaturitySecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
0us-gaap_HeldToMaturitySecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Unconsolidated VIEs | Non-agency | Prime |
|
|
|
|
| Variable Interest Entity [Line Items] |
|
|
|
|
| Maximum loss exposure |
1,223us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
1,288us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| On-balance sheet assets |
|
|
|
|
| Residual interests held |
12us-gaap_RetainedInterestFairValueDisclosure / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
10us-gaap_RetainedInterestFairValueDisclosure / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| All other assets |
51us-gaap_OtherAssets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
56us-gaap_OtherAssets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Total assets |
832us-gaap_Assets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
897us-gaap_Assets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Principal amount outstanding |
19,304us-gaap_ContinuingInvolvementWithTransferredFinancialAssetsPrincipalAmountOutstanding / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
20,167us-gaap_ContinuingInvolvementWithTransferredFinancialAssetsPrincipalAmountOutstanding / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Unconsolidated VIEs | Non-agency | Prime | Senior Lien |
|
|
|
|
| On-balance sheet assets |
|
|
|
|
| Trading account assets |
3us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
3us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Debt securities carried at fair value |
755bac_DebtSecuritiesCarriedAtFairValue / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
816bac_DebtSecuritiesCarriedAtFairValue / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Held-to-maturity securities |
0us-gaap_HeldToMaturitySecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
0us-gaap_HeldToMaturitySecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Unconsolidated VIEs | Non-agency | Prime | Junior Lien |
|
|
|
|
| On-balance sheet assets |
|
|
|
|
| Trading account assets |
0us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
0us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Debt securities carried at fair value |
11bac_DebtSecuritiesCarriedAtFairValue / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
12bac_DebtSecuritiesCarriedAtFairValue / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Held-to-maturity securities |
0us-gaap_HeldToMaturitySecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
0us-gaap_HeldToMaturitySecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Unconsolidated VIEs | Non-agency | Subprime |
|
|
|
|
| Variable Interest Entity [Line Items] |
|
|
|
|
| Maximum loss exposure |
3,089us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
3,167us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| On-balance sheet assets |
|
|
|
|
| Residual interests held |
0us-gaap_RetainedInterestFairValueDisclosure / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
0us-gaap_RetainedInterestFairValueDisclosure / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| All other assets |
1us-gaap_OtherAssets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
1us-gaap_OtherAssets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Total assets |
2,764us-gaap_Assets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
2,831us-gaap_Assets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Principal amount outstanding |
31,601us-gaap_ContinuingInvolvementWithTransferredFinancialAssetsPrincipalAmountOutstanding / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
32,592us-gaap_ContinuingInvolvementWithTransferredFinancialAssetsPrincipalAmountOutstanding / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Unconsolidated VIEs | Non-agency | Subprime | Senior Lien |
|
|
|
|
| On-balance sheet assets |
|
|
|
|
| Trading account assets |
25us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
14us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Debt securities carried at fair value |
2,716bac_DebtSecuritiesCarriedAtFairValue / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
2,811bac_DebtSecuritiesCarriedAtFairValue / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Held-to-maturity securities |
0us-gaap_HeldToMaturitySecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
0us-gaap_HeldToMaturitySecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Unconsolidated VIEs | Non-agency | Subprime | Junior Lien |
|
|
|
|
| On-balance sheet assets |
|
|
|
|
| Trading account assets |
18us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
0us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Debt securities carried at fair value |
4bac_DebtSecuritiesCarriedAtFairValue / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
5bac_DebtSecuritiesCarriedAtFairValue / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Held-to-maturity securities |
0us-gaap_HeldToMaturitySecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
0us-gaap_HeldToMaturitySecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Unconsolidated VIEs | Non-agency | Alt-A Loan |
|
|
|
|
| Variable Interest Entity [Line Items] |
|
|
|
|
| Maximum loss exposure |
654us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
710us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| On-balance sheet assets |
|
|
|
|
| Residual interests held |
0us-gaap_RetainedInterestFairValueDisclosure / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
0us-gaap_RetainedInterestFairValueDisclosure / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| All other assets |
225us-gaap_OtherAssets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
245us-gaap_OtherAssets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Total assets |
654us-gaap_Assets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
710us-gaap_Assets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Principal amount outstanding |
48,208us-gaap_ContinuingInvolvementWithTransferredFinancialAssetsPrincipalAmountOutstanding / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
50,054us-gaap_ContinuingInvolvementWithTransferredFinancialAssetsPrincipalAmountOutstanding / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Unconsolidated VIEs | Non-agency | Alt-A Loan | Senior Lien |
|
|
|
|
| On-balance sheet assets |
|
|
|
|
| Trading account assets |
49us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
81us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Debt securities carried at fair value |
378bac_DebtSecuritiesCarriedAtFairValue / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
383bac_DebtSecuritiesCarriedAtFairValue / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Held-to-maturity securities |
0us-gaap_HeldToMaturitySecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
0us-gaap_HeldToMaturitySecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Unconsolidated VIEs | Non-agency | Alt-A Loan | Junior Lien |
|
|
|
|
| On-balance sheet assets |
|
|
|
|
| Trading account assets |
2us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
1us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Debt securities carried at fair value |
0bac_DebtSecuritiesCarriedAtFairValue / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
0bac_DebtSecuritiesCarriedAtFairValue / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Held-to-maturity securities |
0us-gaap_HeldToMaturitySecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
0us-gaap_HeldToMaturitySecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Unconsolidated VIEs | Commercial Mortgage |
|
|
|
|
| Variable Interest Entity [Line Items] |
|
|
|
|
| Maximum loss exposure |
324us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
352us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| On-balance sheet assets |
|
|
|
|
| Residual interests held |
41us-gaap_RetainedInterestFairValueDisclosure / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
22us-gaap_RetainedInterestFairValueDisclosure / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| All other assets |
0us-gaap_OtherAssets / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
0us-gaap_OtherAssets / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Total assets |
278us-gaap_Assets / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
325us-gaap_Assets / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Principal amount outstanding |
25,034us-gaap_ContinuingInvolvementWithTransferredFinancialAssetsPrincipalAmountOutstanding / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
20,593us-gaap_ContinuingInvolvementWithTransferredFinancialAssetsPrincipalAmountOutstanding / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Unconsolidated VIEs | Commercial Mortgage | Senior Lien |
|
|
|
|
| On-balance sheet assets |
|
|
|
|
| Trading account assets |
79us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
54us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Debt securities carried at fair value |
14bac_DebtSecuritiesCarriedAtFairValue / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
76bac_DebtSecuritiesCarriedAtFairValue / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Held-to-maturity securities |
37us-gaap_HeldToMaturitySecurities / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
42us-gaap_HeldToMaturitySecurities / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / bac_LienCategoryAxis = bac_SeniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Unconsolidated VIEs | Commercial Mortgage | Junior Lien |
|
|
|
|
| On-balance sheet assets |
|
|
|
|
| Trading account assets |
39us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
58us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Debt securities carried at fair value |
55bac_DebtSecuritiesCarriedAtFairValue / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
58bac_DebtSecuritiesCarriedAtFairValue / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Held-to-maturity securities |
13us-gaap_HeldToMaturitySecurities / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
15us-gaap_HeldToMaturitySecurities / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / bac_LienCategoryAxis = bac_JuniorLienMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityNotPrimaryBeneficiaryMember
|
|
|
| Consolidated VIEs | Agency |
|
|
|
|
| Variable Interest Entity [Line Items] |
|
|
|
|
| Maximum loss exposure |
36,644us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
38,345us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| On-balance sheet assets |
|
|
|
|
| Trading account assets |
1,099us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
1,538us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| Loans and leases |
34,734us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
36,187us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| Allowance for loan and lease losses |
(2)us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
(2)us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| All other assets |
815us-gaap_OtherAssets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
623us-gaap_OtherAssets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| Total assets |
36,646us-gaap_Assets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
38,346us-gaap_Assets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| On-balance sheet liabilities |
|
|
|
|
| Long-term debt |
2us-gaap_LongTermDebt / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
1us-gaap_LongTermDebt / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| All other liabilities |
1us-gaap_OtherLiabilities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
0us-gaap_OtherLiabilities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| Total liabilities |
3us-gaap_Liabilities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
1us-gaap_Liabilities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyUSGovernmentSponsoredEnterprisesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| Consolidated VIEs | Non-agency | Prime |
|
|
|
|
| Variable Interest Entity [Line Items] |
|
|
|
|
| Maximum loss exposure |
76us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
77us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| On-balance sheet assets |
|
|
|
|
| Trading account assets |
0us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
0us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| Loans and leases |
128us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
130us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| Allowance for loan and lease losses |
0us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
0us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| All other assets |
6us-gaap_OtherAssets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
6us-gaap_OtherAssets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| Total assets |
134us-gaap_Assets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
136us-gaap_Assets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| On-balance sheet liabilities |
|
|
|
|
| Long-term debt |
55us-gaap_LongTermDebt / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
56us-gaap_LongTermDebt / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| All other liabilities |
3us-gaap_OtherLiabilities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
3us-gaap_OtherLiabilities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| Total liabilities |
58us-gaap_Liabilities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
59us-gaap_Liabilities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_PrimeMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| Consolidated VIEs | Non-agency | Subprime |
|
|
|
|
| Variable Interest Entity [Line Items] |
|
|
|
|
| Maximum loss exposure |
197us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
206us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| On-balance sheet assets |
|
|
|
|
| Trading account assets |
29us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
30us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| Loans and leases |
767us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
768us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| Allowance for loan and lease losses |
0us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
0us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| All other assets |
14us-gaap_OtherAssets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
15us-gaap_OtherAssets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| Total assets |
810us-gaap_Assets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
813us-gaap_Assets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| On-balance sheet liabilities |
|
|
|
|
| Long-term debt |
770us-gaap_LongTermDebt / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
770us-gaap_LongTermDebt / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| All other liabilities |
11us-gaap_OtherLiabilities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
13us-gaap_OtherLiabilities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| Total liabilities |
781us-gaap_Liabilities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
783us-gaap_Liabilities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_SubprimeLoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| Consolidated VIEs | Non-agency | Alt-A Loan |
|
|
|
|
| Variable Interest Entity [Line Items] |
|
|
|
|
| Maximum loss exposure |
0us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
0us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| On-balance sheet assets |
|
|
|
|
| Trading account assets |
0us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
0us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| Loans and leases |
0us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
0us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| Allowance for loan and lease losses |
0us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
0us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| All other assets |
0us-gaap_OtherAssets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
0us-gaap_OtherAssets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| Total assets |
0us-gaap_Assets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
0us-gaap_Assets / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| On-balance sheet liabilities |
|
|
|
|
| Long-term debt |
0us-gaap_LongTermDebt / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
0us-gaap_LongTermDebt / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| All other liabilities |
0us-gaap_OtherLiabilities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
0us-gaap_OtherLiabilities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| Total liabilities |
0us-gaap_Liabilities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
0us-gaap_Liabilities / us-gaap_FinancialInstrumentAxis = bac_ResidentialMortgagebackedSecuritiesIssuedbyPrivateEnterprisesMember / us-gaap_InternalCreditAssessmentAxis = bac_AltALoanMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| Consolidated VIEs | Commercial Mortgage |
|
|
|
|
| Variable Interest Entity [Line Items] |
|
|
|
|
| Maximum loss exposure |
0us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
0us-gaap_VariableInterestEntityEntityMaximumLossExposureAmount / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| On-balance sheet assets |
|
|
|
|
| Trading account assets |
0us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
0us-gaap_TradingSecurities / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| Loans and leases |
0us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
0us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| Allowance for loan and lease losses |
0us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
0us-gaap_LoansAndLeasesReceivableAllowance / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| All other assets |
0us-gaap_OtherAssets / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
0us-gaap_OtherAssets / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| Total assets |
0us-gaap_Assets / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
0us-gaap_Assets / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| On-balance sheet liabilities |
|
|
|
|
| Long-term debt |
0us-gaap_LongTermDebt / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
0us-gaap_LongTermDebt / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| All other liabilities |
0us-gaap_OtherLiabilities / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
0us-gaap_OtherLiabilities / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|
| Total liabilities |
$ 0us-gaap_Liabilities / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
$ 0us-gaap_Liabilities / us-gaap_FinancialInstrumentAxis = us-gaap_CommercialMortgageBackedSecuritiesMember / us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis = us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
|
|
|