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 |
X | ||||||||||
- Definition
Debt Securities Carried at Fair Value No definition available.
|
X | ||||||||||
- Definition
Principal amount, included in All other liabilities, that would be payable to the securitization vehicles if the Corporation were to exercise the repurchase option No definition available.
|
X | ||||||||||
- Definition
Unpaid principal balance of mortgage loans eligible for repurchase from unconsolidated residential mortgage securitization vehicles, principally guaranteed by GNMA, included in All other assets No definition available.
|
X | ||||||||||
- Definition
Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Details
|
X | ||||||||||
- Definition
Principal amount of transferred financial assets in which the transferor has continuing involvement with the assets underlying the transaction. Continuing involvement includes, but is not limited to, servicing, recourse, and restrictions on transferor's interests in transferred financial assets. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
Amount after other than temporary impairment (OTTI) accretion, of investments in debt securities classified as held-to-maturity. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Details
|
X | ||||||||||
- Definition
Amount of allowance to cover probable credit losses on loans and leases. Includes carryover of or adjustments to the allowance for loan losses in connection with business combinations. Excludes allowance for loans and leases covered under loss sharing agreements. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
Amount before allowance and after deduction of deferred interest and fees, unamortized costs and premiums and discounts from face amounts, of loans and leases held in portfolio, including but not limited to, commercial and consumer loans. Excludes loans and leases covered under loss sharing agreements. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
Carrying amount of long-term debt, net of unamortized discount or premium, including current and noncurrent amounts. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
The aggregate carrying amounts, as of the balance sheet date, of assets not separately disclosed in the balance sheet. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
The aggregate carrying amount, as of the balance sheet date, of liabilities not separately disclosed in the balance sheet. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
Fair value portion of interest continued to be held by a transferor after transferring financial assets to a third party. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
Amount of investments in debt and equity securities and other forms of securities that provide ownership interests classified as trading. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
The reporting entity's maximum amount of exposure to loss as a result of its involvement with the Variable Interest Entity (VIE). Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Details
|
X | ||||||||||
- Details
|
X | ||||||||||
- Details
|