Derivatives - Credit Derivatives (Details) (USD $)
In Millions, unless otherwise specified |
Mar. 31, 2015
|
Dec. 31, 2014
|
---|---|---|
Carrying Value of Derivatives [Abstract] | ||
Total | $ 960,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement | $ 981,800us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement |
Carrying Value of Credit-Related Notes [Abstract] | ||
Less than One Year | 11bac_CreditDerivativeMaximumExposureLessThanOneYear | 7bac_CreditDerivativeMaximumExposureLessThanOneYear |
One to Three Years | 512bac_CreditDerivativeMaximumExposureOnetoThreeYears | 506bac_CreditDerivativeMaximumExposureOnetoThreeYears |
Three to Five Years | 649bac_CreditDerivativeMaximumExposureThreeToFiveYears | 653bac_CreditDerivativeMaximumExposureThreeToFiveYears |
Over Five Years | 3,902bac_CreditDerivativeMaximumExposureGreaterThanFiveYears | 4,077bac_CreditDerivativeMaximumExposureGreaterThanFiveYears |
Total | 5,074us-gaap_CreditDerivativeMaximumExposureUndiscounted | 5,243us-gaap_CreditDerivativeMaximumExposureUndiscounted |
Notional Amount of Derivatives, [Abstract] | ||
Less than One Year | 228,830bac_DerivativeLiabilityNotionalAmountExpirationLessThanOneYear | 233,784bac_DerivativeLiabilityNotionalAmountExpirationLessThanOneYear |
One to Three Years | 503,925bac_DerivativeLiabilityNotionalAmountExpirationFromOneToThreeYears | 524,286bac_DerivativeLiabilityNotionalAmountExpirationFromOneToThreeYears |
Three to Five Years | 288,631bac_DerivativeLiabilityNotionalAmountExpirationFromThreeToFiveYears | 326,007bac_DerivativeLiabilityNotionalAmountExpirationFromThreeToFiveYears |
Over Five Years | 72,866bac_DerivativeLiabilityNotionalAmountGreaterThanFiveYears | 50,055bac_DerivativeLiabilityNotionalAmountGreaterThanFiveYears |
Total | 1,094,252invest_DerivativeNotionalAmount | 1,134,132invest_DerivativeNotionalAmount |
Credit derivatives | ||
Carrying Value of Derivatives [Abstract] | ||
Less than One Year |
528bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationLessThanOneYear / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
1,104bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationLessThanOneYear / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
One to Three Years |
2,131bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationFromOnetoThreeYears / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
3,068bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationFromOnetoThreeYears / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
Three to Five Years |
2,495bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationFromThreeToFiveYears / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
2,795bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationFromThreeToFiveYears / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
Over Five Years |
4,746bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationGreaterThanFiveYears / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
5,240bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationGreaterThanFiveYears / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
Total |
9,900us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
12,207us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
Swaps | Credit derivatives | Written credit derivatives | ||
Carrying Value of Derivatives [Abstract] | ||
Less than One Year |
333bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationLessThanOneYear / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
1,016bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationLessThanOneYear / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
One to Three Years |
2,018bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationFromOnetoThreeYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
2,821bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationFromOnetoThreeYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
Three to Five Years |
2,487bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationFromThreeToFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
2,793bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationFromThreeToFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
Over Five Years |
4,746bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationGreaterThanFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
5,240bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationGreaterThanFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
Total |
9,584us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
11,870us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
Notional Amount of Derivatives, [Abstract] | ||
Less than One Year |
176,939bac_DerivativeLiabilityNotionalAmountExpirationLessThanOneYear / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
187,300bac_DerivativeLiabilityNotionalAmountExpirationLessThanOneYear / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
One to Three Years |
494,240bac_DerivativeLiabilityNotionalAmountExpirationFromOneToThreeYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
513,494bac_DerivativeLiabilityNotionalAmountExpirationFromOneToThreeYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
Three to Five Years |
288,479bac_DerivativeLiabilityNotionalAmountExpirationFromThreeToFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
322,739bac_DerivativeLiabilityNotionalAmountExpirationFromThreeToFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
Over Five Years |
72,760bac_DerivativeLiabilityNotionalAmountGreaterThanFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
49,568bac_DerivativeLiabilityNotionalAmountGreaterThanFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
Total |
1,032,418invest_DerivativeNotionalAmount / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
1,073,101invest_DerivativeNotionalAmount / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
Total return swaps/other | Credit derivatives | Written credit derivatives | ||
Carrying Value of Derivatives [Abstract] | ||
Less than One Year |
195bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationLessThanOneYear / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
88bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationLessThanOneYear / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
One to Three Years |
113bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationFromOnetoThreeYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
247bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationFromOnetoThreeYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
Three to Five Years |
8bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationFromThreeToFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
2bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationFromThreeToFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
Total |
316us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
337us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
Notional Amount of Derivatives, [Abstract] | ||
Less than One Year |
51,891bac_DerivativeLiabilityNotionalAmountExpirationLessThanOneYear / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
46,484bac_DerivativeLiabilityNotionalAmountExpirationLessThanOneYear / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
One to Three Years |
9,685bac_DerivativeLiabilityNotionalAmountExpirationFromOneToThreeYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
10,792bac_DerivativeLiabilityNotionalAmountExpirationFromOneToThreeYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
Three to Five Years |
152bac_DerivativeLiabilityNotionalAmountExpirationFromThreeToFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
3,268bac_DerivativeLiabilityNotionalAmountExpirationFromThreeToFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
Over Five Years |
106bac_DerivativeLiabilityNotionalAmountGreaterThanFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
487bac_DerivativeLiabilityNotionalAmountGreaterThanFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
Total |
61,834invest_DerivativeNotionalAmount / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
61,031invest_DerivativeNotionalAmount / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
Investment grade | ||
Carrying Value of Credit-Related Notes [Abstract] | ||
Less than One Year |
3bac_CreditDerivativeMaximumExposureLessThanOneYear / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
2bac_CreditDerivativeMaximumExposureLessThanOneYear / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
One to Three Years |
361bac_CreditDerivativeMaximumExposureOnetoThreeYears / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
365bac_CreditDerivativeMaximumExposureOnetoThreeYears / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
Three to Five Years |
583bac_CreditDerivativeMaximumExposureThreeToFiveYears / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
568bac_CreditDerivativeMaximumExposureThreeToFiveYears / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
Over Five Years |
2,460bac_CreditDerivativeMaximumExposureGreaterThanFiveYears / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
2,634bac_CreditDerivativeMaximumExposureGreaterThanFiveYears / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
Total |
3,407us-gaap_CreditDerivativeMaximumExposureUndiscounted / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
3,569us-gaap_CreditDerivativeMaximumExposureUndiscounted / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
Investment grade | Swaps | Credit derivatives | Written credit derivatives | ||
Carrying Value of Derivatives [Abstract] | ||
Less than One Year |
27bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationLessThanOneYear / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
100bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationLessThanOneYear / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
One to Three Years |
286bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationFromOnetoThreeYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
714bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationFromOnetoThreeYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
Three to Five Years |
760bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationFromThreeToFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
1,455bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationFromThreeToFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
Over Five Years |
688bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationGreaterThanFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
939bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationGreaterThanFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
Total |
1,761us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
3,208us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
Notional Amount of Derivatives, [Abstract] | ||
Less than One Year |
125,169bac_DerivativeLiabilityNotionalAmountExpirationLessThanOneYear / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
132,974bac_DerivativeLiabilityNotionalAmountExpirationLessThanOneYear / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
One to Three Years |
323,858bac_DerivativeLiabilityNotionalAmountExpirationFromOneToThreeYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
342,914bac_DerivativeLiabilityNotionalAmountExpirationFromOneToThreeYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
Three to Five Years |
210,676bac_DerivativeLiabilityNotionalAmountExpirationFromThreeToFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
242,728bac_DerivativeLiabilityNotionalAmountExpirationFromThreeToFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
Over Five Years |
48,022bac_DerivativeLiabilityNotionalAmountGreaterThanFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
28,982bac_DerivativeLiabilityNotionalAmountGreaterThanFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
Total |
707,725invest_DerivativeNotionalAmount / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
747,598invest_DerivativeNotionalAmount / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
Investment grade | Total return swaps/other | Credit derivatives | Written credit derivatives | ||
Carrying Value of Derivatives [Abstract] | ||
Less than One Year |
26bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationLessThanOneYear / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
24bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationLessThanOneYear / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
Total |
26us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
24us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
Notional Amount of Derivatives, [Abstract] | ||
Less than One Year |
26,442bac_DerivativeLiabilityNotionalAmountExpirationLessThanOneYear / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
22,645bac_DerivativeLiabilityNotionalAmountExpirationLessThanOneYear / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
Three to Five Years | ||
Total |
26,442invest_DerivativeNotionalAmount / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
22,645invest_DerivativeNotionalAmount / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
Non-investment grade | ||
Carrying Value of Credit-Related Notes [Abstract] | ||
Less than One Year |
8bac_CreditDerivativeMaximumExposureLessThanOneYear / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
5bac_CreditDerivativeMaximumExposureLessThanOneYear / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
One to Three Years |
151bac_CreditDerivativeMaximumExposureOnetoThreeYears / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
141bac_CreditDerivativeMaximumExposureOnetoThreeYears / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
Three to Five Years |
66bac_CreditDerivativeMaximumExposureThreeToFiveYears / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
85bac_CreditDerivativeMaximumExposureThreeToFiveYears / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
Over Five Years |
1,442bac_CreditDerivativeMaximumExposureGreaterThanFiveYears / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
1,443bac_CreditDerivativeMaximumExposureGreaterThanFiveYears / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
Total |
1,667us-gaap_CreditDerivativeMaximumExposureUndiscounted / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
1,674us-gaap_CreditDerivativeMaximumExposureUndiscounted / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
Non-investment grade | Swaps | Credit derivatives | Written credit derivatives | ||
Carrying Value of Derivatives [Abstract] | ||
Less than One Year |
306bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationLessThanOneYear / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
916bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationLessThanOneYear / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
One to Three Years |
1,732bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationFromOnetoThreeYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
2,107bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationFromOnetoThreeYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
Three to Five Years |
1,727bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationFromThreeToFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
1,338bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationFromThreeToFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
Over Five Years |
4,058bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationGreaterThanFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
4,301bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationGreaterThanFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
Total |
7,823us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
8,662us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
Notional Amount of Derivatives, [Abstract] | ||
Less than One Year |
51,770bac_DerivativeLiabilityNotionalAmountExpirationLessThanOneYear / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
54,326bac_DerivativeLiabilityNotionalAmountExpirationLessThanOneYear / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
One to Three Years |
170,382bac_DerivativeLiabilityNotionalAmountExpirationFromOneToThreeYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
170,580bac_DerivativeLiabilityNotionalAmountExpirationFromOneToThreeYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
Three to Five Years |
77,803bac_DerivativeLiabilityNotionalAmountExpirationFromThreeToFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
80,011bac_DerivativeLiabilityNotionalAmountExpirationFromThreeToFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
Over Five Years |
24,738bac_DerivativeLiabilityNotionalAmountGreaterThanFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
20,586bac_DerivativeLiabilityNotionalAmountGreaterThanFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
Total |
324,693invest_DerivativeNotionalAmount / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
325,503invest_DerivativeNotionalAmount / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
Non-investment grade | Total return swaps/other | Credit derivatives | Written credit derivatives | ||
Carrying Value of Derivatives [Abstract] | ||
Less than One Year |
169bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationLessThanOneYear / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
64bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationLessThanOneYear / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
One to Three Years |
113bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationFromOnetoThreeYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
247bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationFromOnetoThreeYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
Three to Five Years |
8bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationFromThreeToFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
2bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationFromThreeToFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
Total |
290us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
313us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
Notional Amount of Derivatives, [Abstract] | ||
Less than One Year |
25,449bac_DerivativeLiabilityNotionalAmountExpirationLessThanOneYear / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
23,839bac_DerivativeLiabilityNotionalAmountExpirationLessThanOneYear / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
One to Three Years |
9,685bac_DerivativeLiabilityNotionalAmountExpirationFromOneToThreeYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
10,792bac_DerivativeLiabilityNotionalAmountExpirationFromOneToThreeYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
Three to Five Years |
152bac_DerivativeLiabilityNotionalAmountExpirationFromThreeToFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
3,268bac_DerivativeLiabilityNotionalAmountExpirationFromThreeToFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
Over Five Years |
106bac_DerivativeLiabilityNotionalAmountGreaterThanFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
487bac_DerivativeLiabilityNotionalAmountGreaterThanFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
Total |
$ 35,392invest_DerivativeNotionalAmount / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
$ 38,386invest_DerivativeNotionalAmount / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
X | ||||||||||
- Details
|
X | ||||||||||
- Details
|
X | ||||||||||
- Definition
Credit Derivative, Maximum Exposure, Greater Than Five Years No definition available.
|
X | ||||||||||
- Definition
Credit Derivative, Maximum Exposure, Less Than One Year No definition available.
|
X | ||||||||||
- Definition
Credit Derivative, Maximum Exposure, One to Three Years No definition available.
|
X | ||||||||||
- Definition
Credit Derivative, Maximum Exposure, Three To Five Years No definition available.
|
X | ||||||||||
- Definition
Derivative Liability, Fair Value, Gross Liability Including Not Subject to Master Netting Arrangement, Expiration From One to Three Years No definition available.
|
X | ||||||||||
- Definition
Derivative Liability, Fair Value, Gross Liability Not Subject to Master Netting Arrangement, Expiration From Three To Five Years No definition available.
|
X | ||||||||||
- Definition
Derivative Liability, Fair Value, Gross Liability Not Subject to Master Netting Arrangement, Expiration Greater Than Five Years No definition available.
|
X | ||||||||||
- Definition
Derivative Liability, Fair Value, Gross Liability Including Not Subject to Master Netting Arrangement, Expiration Less Than One Year No definition available.
|
X | ||||||||||
- Definition
Derivative Liability, Notional Amount, Expiration From One to Three Years No definition available.
|
X | ||||||||||
- Definition
Derivative Liability, Notional Amount, Expiration From Three to Five Years No definition available.
|
X | ||||||||||
- Definition
Derivative Liability, Notional Amount, Expiration Less Than One Year No definition available.
|
X | ||||||||||
- Definition
Derivative Liability, Notional Amount, Greater Than Five Years No definition available.
|
X | ||||||||||
- Definition
Aggregate notional amount specified by the derivative(s). Expressed as an absolute value. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
Maximum potential amount of future undiscounted payments that could be required under the credit derivative, before reduction for potential recoveries under recourse or collateralization provisions. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
Fair value, before effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes liabilities not subject to a master netting arrangement and elected not to be offset. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Details
|
X | ||||||||||
- Details
|
X | ||||||||||
- Details
|
X | ||||||||||
- Details
|
X | ||||||||||
- Details
|
X | ||||||||||
- Details
|