Derivatives - Credit Derivatives (Details) (USD $)
In Millions, unless otherwise specified |
Dec. 31, 2014
|
Dec. 31, 2013
|
---|---|---|
Carrying Value of Derivatives [Abstract] | ||
Total | $ 981,800us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement | $ 906,400us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement |
Carrying Value of Credit-Related Notes [Abstract] | ||
Less than One Year | 7bac_CreditDerivativeMaximumExposureLessThanOneYear | 145bac_CreditDerivativeMaximumExposureLessThanOneYear |
One to Three Years | 506bac_CreditDerivativeMaximumExposureOnetoThreeYears | 385bac_CreditDerivativeMaximumExposureOnetoThreeYears |
Three to Five Years | 653bac_CreditDerivativeMaximumExposureThreeToFiveYears | 1,351bac_CreditDerivativeMaximumExposureThreeToFiveYears |
Over Five Years | 4,077bac_CreditDerivativeMaximumExposureGreaterThanFiveYears | 5,403bac_CreditDerivativeMaximumExposureGreaterThanFiveYears |
Total | 5,243us-gaap_CreditDerivativeMaximumExposureUndiscounted | 7,284us-gaap_CreditDerivativeMaximumExposureUndiscounted |
Notional Amount of Derivatives, [Abstract] | ||
Less than One Year | 233,784bac_DerivativeLiabilityNotionalAmountExpirationLessThanOneYear | 273,635bac_DerivativeLiabilityNotionalAmountExpirationLessThanOneYear |
One to Three Years | 524,286bac_DerivativeLiabilityNotionalAmountExpirationFromOneToThreeYears | 478,409bac_DerivativeLiabilityNotionalAmountExpirationFromOneToThreeYears |
Three to Five Years | 326,007bac_DerivativeLiabilityNotionalAmountExpirationFromThreeToFiveYears | 510,848bac_DerivativeLiabilityNotionalAmountExpirationFromThreeToFiveYears |
Over Five Years | 50,055bac_DerivativeLiabilityNotionalAmountGreaterThanFiveYears | 65,895bac_DerivativeLiabilityNotionalAmountGreaterThanFiveYears |
Total | 1,134,132invest_DerivativeNotionalAmount | 1,328,787invest_DerivativeNotionalAmount |
Credit derivatives | ||
Carrying Value of Derivatives [Abstract] | ||
Less than One Year |
1,104bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationLessThanOneYear / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
477bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationLessThanOneYear / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
One to Three Years |
3,068bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationFromOnetoThreeYears / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
2,182bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationFromOnetoThreeYears / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
Three to Five Years |
2,795bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationFromThreeToFiveYears / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
3,445bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationFromThreeToFiveYears / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
Over Five Years |
5,240bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationGreaterThanFiveYears / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
7,887bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationGreaterThanFiveYears / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
Total |
12,207us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
13,991us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
Swaps | Credit derivatives | Written credit derivatives | ||
Carrying Value of Derivatives [Abstract] | ||
Less than One Year |
1,016bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationLessThanOneYear / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
426bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationLessThanOneYear / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
One to Three Years |
2,821bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationFromOnetoThreeYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
2,144bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationFromOnetoThreeYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
Three to Five Years |
2,793bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationFromThreeToFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
3,443bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationFromThreeToFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
Over Five Years |
5,240bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationGreaterThanFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
7,801bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationGreaterThanFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
Total |
11,870us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
13,814us-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 |
187,300bac_DerivativeLiabilityNotionalAmountExpirationLessThanOneYear / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
224,080bac_DerivativeLiabilityNotionalAmountExpirationLessThanOneYear / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
One to Three Years |
513,494bac_DerivativeLiabilityNotionalAmountExpirationFromOneToThreeYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
470,259bac_DerivativeLiabilityNotionalAmountExpirationFromOneToThreeYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
Three to Five Years |
322,739bac_DerivativeLiabilityNotionalAmountExpirationFromThreeToFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
506,745bac_DerivativeLiabilityNotionalAmountExpirationFromThreeToFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
Over Five Years |
49,568bac_DerivativeLiabilityNotionalAmountGreaterThanFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
64,296bac_DerivativeLiabilityNotionalAmountGreaterThanFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
Total |
1,073,101invest_DerivativeNotionalAmount / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
1,265,380invest_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 |
88bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationLessThanOneYear / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
51bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationLessThanOneYear / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
One to Three Years |
247bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationFromOnetoThreeYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
38bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationFromOnetoThreeYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
Three to Five Years |
2bac_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 |
Over Five Years |
86bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationGreaterThanFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
|
Total |
337us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
177us-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 |
46,484bac_DerivativeLiabilityNotionalAmountExpirationLessThanOneYear / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
49,555bac_DerivativeLiabilityNotionalAmountExpirationLessThanOneYear / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
One to Three Years |
10,792bac_DerivativeLiabilityNotionalAmountExpirationFromOneToThreeYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
8,150bac_DerivativeLiabilityNotionalAmountExpirationFromOneToThreeYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
Three to Five Years |
3,268bac_DerivativeLiabilityNotionalAmountExpirationFromThreeToFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
4,103bac_DerivativeLiabilityNotionalAmountExpirationFromThreeToFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
Over Five Years |
487bac_DerivativeLiabilityNotionalAmountGreaterThanFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
1,599bac_DerivativeLiabilityNotionalAmountGreaterThanFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
Total |
61,031invest_DerivativeNotionalAmount / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember |
63,407invest_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 |
2bac_CreditDerivativeMaximumExposureLessThanOneYear / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
|
One to Three Years |
365bac_CreditDerivativeMaximumExposureOnetoThreeYears / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
278bac_CreditDerivativeMaximumExposureOnetoThreeYears / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
Three to Five Years |
568bac_CreditDerivativeMaximumExposureThreeToFiveYears / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
595bac_CreditDerivativeMaximumExposureThreeToFiveYears / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
Over Five Years |
2,634bac_CreditDerivativeMaximumExposureGreaterThanFiveYears / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
4,457bac_CreditDerivativeMaximumExposureGreaterThanFiveYears / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
Total |
3,569us-gaap_CreditDerivativeMaximumExposureUndiscounted / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
5,330us-gaap_CreditDerivativeMaximumExposureUndiscounted / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
Investment grade | Swaps | Credit derivatives | Written credit derivatives | ||
Carrying Value of Derivatives [Abstract] | ||
Less than One Year |
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 |
2bac_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 |
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 |
220bac_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 |
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 |
974bac_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 |
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 |
1,134bac_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 |
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 |
2,330us-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 |
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 |
170,764bac_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 |
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 |
379,273bac_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 |
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 |
411,426bac_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 |
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 |
36,039bac_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 |
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 |
997,502invest_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 |
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 |
22bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationLessThanOneYear / 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 |
0bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationFromThreeToFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
|
Over Five Years |
0bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationGreaterThanFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
|
Total |
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 |
22us-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 |
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 |
21,771bac_DerivativeLiabilityNotionalAmountExpirationLessThanOneYear / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
One to Three Years |
0bac_DerivativeLiabilityNotionalAmountExpirationFromOneToThreeYears / 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 |
0bac_DerivativeLiabilityNotionalAmountExpirationFromThreeToFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
|
Over Five Years |
0bac_DerivativeLiabilityNotionalAmountGreaterThanFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalInvestmentGradeMember |
|
Total |
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 |
21,771invest_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 |
5bac_CreditDerivativeMaximumExposureLessThanOneYear / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
145bac_CreditDerivativeMaximumExposureLessThanOneYear / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
One to Three Years |
141bac_CreditDerivativeMaximumExposureOnetoThreeYears / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
107bac_CreditDerivativeMaximumExposureOnetoThreeYears / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
Three to Five Years |
85bac_CreditDerivativeMaximumExposureThreeToFiveYears / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
756bac_CreditDerivativeMaximumExposureThreeToFiveYears / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
Over Five Years |
1,443bac_CreditDerivativeMaximumExposureGreaterThanFiveYears / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
946bac_CreditDerivativeMaximumExposureGreaterThanFiveYears / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
Total |
1,674us-gaap_CreditDerivativeMaximumExposureUndiscounted / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
1,954us-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 |
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 |
424bac_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 |
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 |
1,924bac_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,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 |
2,469bac_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,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 |
6,667bac_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 |
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 |
11,484us-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 |
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 |
53,316bac_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,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 |
90,986bac_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 |
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 |
95,319bac_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 |
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 |
28,257bac_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 |
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 |
267,878invest_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 |
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 |
29bac_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 |
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 |
38bac_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 |
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 |
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 |
Over Five Years |
86bac_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjecttoMasterNettingArrangementExpirationGreaterThanFiveYears / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_InternalCreditAssessmentAxis = bac_InternalNoninvestmentGradeMember |
|
Total |
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 |
155us-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 |
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 |
27,784bac_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 |
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 |
8,150bac_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 |
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 |
4,103bac_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 |
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 |
1,599bac_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 |
$ 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 |
$ 41,636invest_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
|