Fair Value Measurements - Recurring Fair Value Inputs (Details) (USD $)
|
12 Months Ended |
|
|
Dec. 31, 2014
|
Dec. 31, 2013
|
Dec. 31, 2012
|
Dec. 31, 2011
|
Fair Value Inputs, Assets, Quantitative Information [Line Items] |
|
|
|
|
Net derivative asset (liability) |
(920,000,000)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
|
(224,000,000)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
|
$ 1,468,000,000us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
|
$ 5,866,000,000us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs
|
Fair Value Inputs [Abstract] |
|
|
|
|
Loans held-for-sale, measured at fair value |
6,801,000,000us-gaap_LoansHeldForSaleFairValueDisclosure
|
6,656,000,000us-gaap_LoansHeldForSaleFairValueDisclosure
|
|
|
Other assets, measured at fair value |
13,873,000,000us-gaap_OtherAssetsFairValueDisclosure
|
18,055,000,000us-gaap_OtherAssetsFairValueDisclosure
|
|
|
Recurring |
|
|
|
|
Fair Value Inputs, Assets, Quantitative Information [Line Items] |
|
|
|
|
Assets, fair value |
660,229,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
625,734,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Long-term debt |
(209,083,000,000)us-gaap_LiabilitiesFairValueDisclosure / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
(209,063,000,000)us-gaap_LiabilitiesFairValueDisclosure / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Fair Value Inputs [Abstract] |
|
|
|
|
Loans held-for-sale, measured at fair value |
6,801,000,000us-gaap_LoansHeldForSaleFairValueDisclosure / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
6,656,000,000us-gaap_LoansHeldForSaleFairValueDisclosure / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Other assets, measured at fair value |
13,873,000,000us-gaap_OtherAssetsFairValueDisclosure / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
18,055,000,000us-gaap_OtherAssetsFairValueDisclosure / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Recurring | Level 3 |
|
|
|
|
Fair Value Inputs, Assets, Quantitative Information [Line Items] |
|
|
|
|
Assets, fair value |
22,262,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
31,778,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Long-term debt |
(10,179,000,000)us-gaap_LiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
(9,536,000,000)us-gaap_LiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Net derivative asset (liability) |
(920,000,000)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
(224,000,000)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Fair Value Inputs [Abstract] |
|
|
|
|
Loans held-for-sale, measured at fair value |
173,000,000us-gaap_LoansHeldForSaleFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
929,000,000us-gaap_LoansHeldForSaleFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Other assets, measured at fair value |
911,000,000us-gaap_OtherAssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
1,669,000,000us-gaap_OtherAssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Recurring | Level 3 | Loans Held-for-Sale |
|
|
|
|
Fair Value Inputs, Assets, Quantitative Information [Line Items] |
|
|
|
|
Assets, fair value |
173,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
929,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Recurring | Level 3 | Loans and leases |
|
|
|
|
Fair Value Inputs, Assets, Quantitative Information [Line Items] |
|
|
|
|
Assets, fair value |
2,000,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
3,100,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Recurring | Level 3 | Credit derivatives |
|
|
|
|
Fair Value Inputs, Assets, Quantitative Information [Line Items] |
|
|
|
|
Net derivative asset (liability) |
22,000,000us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
808,000,000us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Recurring | Level 3 | Credit derivatives | Income Approach Valuation Technique |
|
|
|
|
Fair Value Inputs [Abstract] |
|
|
|
|
Default rate |
4.00%us-gaap_FairValueInputsProbabilityOfDefault / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
|
Loss severity |
35.00%us-gaap_FairValueInputsLossSeverity / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
|
Recurring | Level 3 | Credit derivatives | Minimum | Income Approach Valuation Technique |
|
|
|
|
Fair Value Inputs [Abstract] |
|
|
|
|
Yield |
0.00%bac_FairValueInputsYield / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
3.00%bac_FairValueInputsYield / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Prepayment speed |
3.00%us-gaap_FairValueInputsPrepaymentRate / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
3.00%us-gaap_FairValueInputsPrepaymentRate / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Default rate |
|
1.00%us-gaap_FairValueInputsProbabilityOfDefault / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Loss severity |
|
20.00%us-gaap_FairValueInputsLossSeverity / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Upfront points |
0.00%bac_FairValueInputsUpfrontPoints / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
0.00%bac_FairValueInputsUpfrontPoints / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Spread to index |
0.25%bac_FairValueInputsSpreadtoIndex / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
(14.07%)bac_FairValueInputsSpreadtoIndex / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Credit correlation |
24.00%bac_FairValueInputsCreditCorrelation / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
14.00%bac_FairValueInputsCreditCorrelation / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Recurring | Level 3 | Credit derivatives | Maximum | Income Approach Valuation Technique |
|
|
|
|
Fair Value Inputs [Abstract] |
|
|
|
|
Yield |
25.00%bac_FairValueInputsYield / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
25.00%bac_FairValueInputsYield / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Prepayment speed |
20.00%us-gaap_FairValueInputsPrepaymentRate / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
40.00%us-gaap_FairValueInputsPrepaymentRate / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Default rate |
|
5.00%us-gaap_FairValueInputsProbabilityOfDefault / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Loss severity |
|
42.00%us-gaap_FairValueInputsLossSeverity / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Upfront points |
1.00%bac_FairValueInputsUpfrontPoints / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
1.00%bac_FairValueInputsUpfrontPoints / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Spread to index |
4.50%bac_FairValueInputsSpreadtoIndex / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
17.41%bac_FairValueInputsSpreadtoIndex / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Credit correlation |
99.00%bac_FairValueInputsCreditCorrelation / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
99.00%bac_FairValueInputsCreditCorrelation / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Recurring | Level 3 | Credit derivatives | Weighted Average | Income Approach Valuation Technique |
|
|
|
|
Fair Value Inputs [Abstract] |
|
|
|
|
Yield |
14.00%bac_FairValueInputsYield / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
14.00%bac_FairValueInputsYield / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Prepayment speed |
11.00%us-gaap_FairValueInputsPrepaymentRate / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
13.00%us-gaap_FairValueInputsPrepaymentRate / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Default rate |
|
3.00%us-gaap_FairValueInputsProbabilityOfDefault / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Loss severity |
|
35.00%us-gaap_FairValueInputsLossSeverity / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Upfront points |
0.65%bac_FairValueInputsUpfrontPoints / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
0.63%bac_FairValueInputsUpfrontPoints / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Spread to index |
1.19%bac_FairValueInputsSpreadtoIndex / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
0.91%bac_FairValueInputsSpreadtoIndex / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Credit correlation |
51.00%bac_FairValueInputsCreditCorrelation / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
47.00%bac_FairValueInputsCreditCorrelation / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Recurring | Level 3 | Equity contracts |
|
|
|
|
Fair Value Inputs, Assets, Quantitative Information [Line Items] |
|
|
|
|
Net derivative asset (liability) |
(1,560,000,000)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
(1,596,000,000)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Recurring | Level 3 | Equity contracts | Minimum | Income Approach Valuation Technique |
|
|
|
|
Fair Value Inputs [Abstract] |
|
|
|
|
Equity correlation |
20.00%bac_FairValueInputsEquityCorrelation / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
18.00%bac_FairValueInputsEquityCorrelation / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Long-dated equity volatilities |
6.00%us-gaap_FairValueAssumptionsExpectedVolatilityRate / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
4.00%us-gaap_FairValueAssumptionsExpectedVolatilityRate / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Recurring | Level 3 | Equity contracts | Maximum | Income Approach Valuation Technique |
|
|
|
|
Fair Value Inputs [Abstract] |
|
|
|
|
Equity correlation |
98.00%bac_FairValueInputsEquityCorrelation / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
98.00%bac_FairValueInputsEquityCorrelation / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Long-dated equity volatilities |
69.00%us-gaap_FairValueAssumptionsExpectedVolatilityRate / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
63.00%us-gaap_FairValueAssumptionsExpectedVolatilityRate / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Recurring | Level 3 | Equity contracts | Weighted Average | Income Approach Valuation Technique |
|
|
|
|
Fair Value Inputs [Abstract] |
|
|
|
|
Equity correlation |
65.00%bac_FairValueInputsEquityCorrelation / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
70.00%bac_FairValueInputsEquityCorrelation / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Long-dated equity volatilities |
24.00%us-gaap_FairValueAssumptionsExpectedVolatilityRate / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
27.00%us-gaap_FairValueAssumptionsExpectedVolatilityRate / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Recurring | Level 3 | Commodity contracts |
|
|
|
|
Fair Value Inputs, Assets, Quantitative Information [Line Items] |
|
|
|
|
Net derivative asset (liability) |
141,000,000us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
6,000,000us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Recurring | Level 3 | Commodity contracts | Minimum | Income Approach Valuation Technique |
|
|
|
|
Fair Value Inputs [Abstract] |
|
|
|
|
Long-dated equity volatilities |
16.00%us-gaap_FairValueAssumptionsExpectedVolatilityRate / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
9.00%us-gaap_FairValueAssumptionsExpectedVolatilityRate / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Natural gas forward price |
2bac_FairValueInputsNaturalGasBasisCurve / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
3bac_FairValueInputsNaturalGasBasisCurve / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Correlation |
82.00%bac_FairValueInputsCorrelation / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
47.00%bac_FairValueInputsCorrelation / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Recurring | Level 3 | Commodity contracts | Maximum | Income Approach Valuation Technique |
|
|
|
|
Fair Value Inputs [Abstract] |
|
|
|
|
Long-dated equity volatilities |
98.00%us-gaap_FairValueAssumptionsExpectedVolatilityRate / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
109.00%us-gaap_FairValueAssumptionsExpectedVolatilityRate / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Natural gas forward price |
7bac_FairValueInputsNaturalGasBasisCurve / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
11bac_FairValueInputsNaturalGasBasisCurve / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Correlation |
93.00%bac_FairValueInputsCorrelation / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
89.00%bac_FairValueInputsCorrelation / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Recurring | Level 3 | Commodity contracts | Weighted Average | Income Approach Valuation Technique |
|
|
|
|
Fair Value Inputs [Abstract] |
|
|
|
|
Long-dated equity volatilities |
35.00%us-gaap_FairValueAssumptionsExpectedVolatilityRate / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
30.00%us-gaap_FairValueAssumptionsExpectedVolatilityRate / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Natural gas forward price |
5bac_FairValueInputsNaturalGasBasisCurve / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
6bac_FairValueInputsNaturalGasBasisCurve / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Correlation |
90.00%bac_FairValueInputsCorrelation / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
81.00%bac_FairValueInputsCorrelation / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Recurring | Level 3 | Interest rate contracts |
|
|
|
|
Fair Value Inputs, Assets, Quantitative Information [Line Items] |
|
|
|
|
Net derivative asset (liability) |
477,000,000us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
558,000,000us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
|
|
|
Recurring | Level 3 | Interest rate contracts | Minimum | Income Approach Valuation Technique |
|
|
|
|
Fair Value Inputs [Abstract] |
|
|
|
|
Correlation (IR/IR) |
11.00%bac_FairValueInputsCorrelationInterestRateToInterestRate / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
24.00%bac_FairValueInputsCorrelationInterestRateToInterestRate / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Long-dated inflation volatilities |
0.00%bac_FairValueInputsLongdatedInflationRateVolatilities / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
0.00%bac_FairValueInputsLongdatedInflationRateVolatilities / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Correlation (FX/IR) |
(48.00%)bac_FairValueInputsCorrelationOfForeignExchangeRatesToInterestRates / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
(30.00%)bac_FairValueInputsCorrelationOfForeignExchangeRatesToInterestRates / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Long-dated inflation rates |
0.00%bac_FairValueInputsLongDatedInflationRates / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
0.00%bac_FairValueInputsLongDatedInflationRates / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Recurring | Level 3 | Interest rate contracts | Maximum | Income Approach Valuation Technique |
|
|
|
|
Fair Value Inputs [Abstract] |
|
|
|
|
Correlation (IR/IR) |
99.00%bac_FairValueInputsCorrelationInterestRateToInterestRate / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
99.00%bac_FairValueInputsCorrelationInterestRateToInterestRate / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Long-dated inflation volatilities |
2.00%bac_FairValueInputsLongdatedInflationRateVolatilities / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
2.00%bac_FairValueInputsLongdatedInflationRateVolatilities / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Correlation (FX/IR) |
40.00%bac_FairValueInputsCorrelationOfForeignExchangeRatesToInterestRates / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
40.00%bac_FairValueInputsCorrelationOfForeignExchangeRatesToInterestRates / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Long-dated inflation rates |
3.00%bac_FairValueInputsLongDatedInflationRates / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
3.00%bac_FairValueInputsLongDatedInflationRates / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Recurring | Level 3 | Interest rate contracts | Weighted Average | Income Approach Valuation Technique |
|
|
|
|
Fair Value Inputs [Abstract] |
|
|
|
|
Correlation (IR/IR) |
55.00%bac_FairValueInputsCorrelationInterestRateToInterestRate / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
60.00%bac_FairValueInputsCorrelationInterestRateToInterestRate / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Long-dated inflation volatilities |
1.00%bac_FairValueInputsLongdatedInflationRateVolatilities / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
1.00%bac_FairValueInputsLongdatedInflationRateVolatilities / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Correlation (FX/IR) |
(5.00%)bac_FairValueInputsCorrelationOfForeignExchangeRatesToInterestRates / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
(4.00%)bac_FairValueInputsCorrelationOfForeignExchangeRatesToInterestRates / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Long-dated inflation rates |
1.00%bac_FairValueInputsLongDatedInflationRates / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
2.00%bac_FairValueInputsLongDatedInflationRates / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Recurring | Level 3 | Mortgage trading loans and ABS |
|
|
|
|
Fair Value Inputs, Assets, Quantitative Information [Line Items] |
|
|
|
|
Assets, fair value |
2,100,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember
|
4,600,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember
|
|
|
Recurring | Level 3 | Corporate securities, trading loans and other |
|
|
|
|
Fair Value Inputs, Assets, Quantitative Information [Line Items] |
|
|
|
|
Assets, fair value |
3,300,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember
|
3,600,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember
|
|
|
Recurring | Level 3 | Non-U.S. sovereign debt |
|
|
|
|
Fair Value Inputs, Assets, Quantitative Information [Line Items] |
|
|
|
|
Assets, fair value |
574,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember
|
468,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember
|
|
|
Recurring | Level 3 | Other taxable securities, substantially all asset-backed securities |
|
|
|
|
Fair Value Inputs, Assets, Quantitative Information [Line Items] |
|
|
|
|
Assets, fair value |
1,700,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_OtherTaxableSecuritiesMember
|
3,800,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_OtherTaxableSecuritiesMember
|
|
|
Recurring | Level 3 | Tax-exempt securities |
|
|
|
|
Fair Value Inputs, Assets, Quantitative Information [Line Items] |
|
|
|
|
Assets, fair value |
599,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_TaxExemptSecuritiesMember
|
806,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_TaxExemptSecuritiesMember
|
|
|
Recurring | Level 3 | Private equity funds |
|
|
|
|
Fair Value Inputs [Abstract] |
|
|
|
|
Other assets, measured at fair value |
347,000,000us-gaap_OtherAssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_PrivateEquityFundsMember
|
767,000,000us-gaap_OtherAssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_PrivateEquityFundsMember
|
|
|
Recurring | Level 3 | Instruments backed by residential real estate assets |
|
|
|
|
Fair Value Inputs, Assets, Quantitative Information [Line Items] |
|
|
|
|
Assets, fair value |
2,030,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_InstrumentsBackedByResidentialRealEstateAssetsMember
|
3,443,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_InstrumentsBackedByResidentialRealEstateAssetsMember
|
|
|
Recurring | Level 3 | Instruments backed by residential real estate assets | Minimum | Income and Market Approach Technique |
|
|
|
|
Fair Value Inputs [Abstract] |
|
|
|
|
Yield |
0.00%bac_FairValueInputsYield / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_InstrumentsBackedByResidentialRealEstateAssetsMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
2.00%bac_FairValueInputsYield / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_InstrumentsBackedByResidentialRealEstateAssetsMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
|
|
Prepayment speed |
0.00%us-gaap_FairValueInputsPrepaymentRate / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_InstrumentsBackedByResidentialRealEstateAssetsMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
0.00%us-gaap_FairValueInputsPrepaymentRate / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_InstrumentsBackedByResidentialRealEstateAssetsMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
|
|
Default rate |
2.00%us-gaap_FairValueInputsProbabilityOfDefault / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_InstrumentsBackedByResidentialRealEstateAssetsMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
1.00%us-gaap_FairValueInputsProbabilityOfDefault / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_InstrumentsBackedByResidentialRealEstateAssetsMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
|
|
Loss severity |
26.00%us-gaap_FairValueInputsLossSeverity / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_InstrumentsBackedByResidentialRealEstateAssetsMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
21.00%us-gaap_FairValueInputsLossSeverity / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_InstrumentsBackedByResidentialRealEstateAssetsMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
|
|
Recurring | Level 3 | Instruments backed by residential real estate assets | Maximum | Income and Market Approach Technique |
|
|
|
|
Fair Value Inputs [Abstract] |
|
|
|
|
Yield |
25.00%bac_FairValueInputsYield / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_InstrumentsBackedByResidentialRealEstateAssetsMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
25.00%bac_FairValueInputsYield / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_InstrumentsBackedByResidentialRealEstateAssetsMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
|
|
Prepayment speed |
35.00%us-gaap_FairValueInputsPrepaymentRate / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_InstrumentsBackedByResidentialRealEstateAssetsMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
35.00%us-gaap_FairValueInputsPrepaymentRate / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_InstrumentsBackedByResidentialRealEstateAssetsMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
|
|
Default rate |
15.00%us-gaap_FairValueInputsProbabilityOfDefault / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_InstrumentsBackedByResidentialRealEstateAssetsMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
20.00%us-gaap_FairValueInputsProbabilityOfDefault / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_InstrumentsBackedByResidentialRealEstateAssetsMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
|
|
Loss severity |
100.00%us-gaap_FairValueInputsLossSeverity / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_InstrumentsBackedByResidentialRealEstateAssetsMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
80.00%us-gaap_FairValueInputsLossSeverity / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_InstrumentsBackedByResidentialRealEstateAssetsMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
|
|
Recurring | Level 3 | Instruments backed by residential real estate assets | Weighted Average | Income and Market Approach Technique |
|
|
|
|
Fair Value Inputs [Abstract] |
|
|
|
|
Yield |
6.00%bac_FairValueInputsYield / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_InstrumentsBackedByResidentialRealEstateAssetsMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
6.00%bac_FairValueInputsYield / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_InstrumentsBackedByResidentialRealEstateAssetsMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
|
|
Prepayment speed |
14.00%us-gaap_FairValueInputsPrepaymentRate / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_InstrumentsBackedByResidentialRealEstateAssetsMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
9.00%us-gaap_FairValueInputsPrepaymentRate / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_InstrumentsBackedByResidentialRealEstateAssetsMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
|
|
Default rate |
7.00%us-gaap_FairValueInputsProbabilityOfDefault / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_InstrumentsBackedByResidentialRealEstateAssetsMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
6.00%us-gaap_FairValueInputsProbabilityOfDefault / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_InstrumentsBackedByResidentialRealEstateAssetsMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
|
|
Loss severity |
34.00%us-gaap_FairValueInputsLossSeverity / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_InstrumentsBackedByResidentialRealEstateAssetsMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
35.00%us-gaap_FairValueInputsLossSeverity / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_InstrumentsBackedByResidentialRealEstateAssetsMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
|
|
Recurring | Level 3 | Instruments backed by residential real estate assets | Loans Held-for-Sale |
|
|
|
|
Fair Value Inputs, Assets, Quantitative Information [Line Items] |
|
|
|
|
Assets, fair value |
173,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_InstrumentsBackedByResidentialRealEstateAssetsMember
|
929,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_InstrumentsBackedByResidentialRealEstateAssetsMember
|
|
|
Recurring | Level 3 | Instruments backed by residential real estate assets | Loans and leases |
|
|
|
|
Fair Value Inputs, Assets, Quantitative Information [Line Items] |
|
|
|
|
Assets, fair value |
1,374,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_InstrumentsBackedByResidentialRealEstateAssetsMember
|
2,151,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_InstrumentsBackedByResidentialRealEstateAssetsMember
|
|
|
Recurring | Level 3 | Instruments backed by residential real estate assets | Mortgage trading loans and ABS | Trading Securities |
|
|
|
|
Fair Value Inputs, Assets, Quantitative Information [Line Items] |
|
|
|
|
Assets, fair value |
483,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember / us-gaap_ProductOrServiceAxis = bac_InstrumentsBackedByResidentialRealEstateAssetsMember
|
363,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember / us-gaap_ProductOrServiceAxis = bac_InstrumentsBackedByResidentialRealEstateAssetsMember
|
|
|
Recurring | Level 3 | Commercial loans, debt securities and other |
|
|
|
|
Fair Value Inputs, Assets, Quantitative Information [Line Items] |
|
|
|
|
Assets, fair value |
7,203,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember
|
12,135,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember
|
|
|
Recurring | Level 3 | Commercial loans, debt securities and other | Minimum | Income and Market Approach Technique |
|
|
|
|
Fair Value Inputs [Abstract] |
|
|
|
|
Yield |
0.00%bac_FairValueInputsYield / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
0.00%bac_FairValueInputsYield / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
|
|
Prepayment speed |
1.00%us-gaap_FairValueInputsPrepaymentRate / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
5.00%us-gaap_FairValueInputsPrepaymentRate / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
|
|
Default rate |
1.00%us-gaap_FairValueInputsProbabilityOfDefault / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
1.00%us-gaap_FairValueInputsProbabilityOfDefault / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
|
|
Loss severity |
25.00%us-gaap_FairValueInputsLossSeverity / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
25.00%us-gaap_FairValueInputsLossSeverity / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
|
|
Enterprise value/EBITDA multiple |
0us-gaap_FairValueInputsEarningsBeforeInterestTaxesDepreciationAndAmortizationMultiple / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
0us-gaap_FairValueInputsEarningsBeforeInterestTaxesDepreciationAndAmortizationMultiple / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
|
|
Duration |
0 years
|
1 year
|
|
|
Price |
0us-gaap_FairValueInputsOfferedQuotes / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
|
|
|
Recurring | Level 3 | Commercial loans, debt securities and other | Maximum | Income and Market Approach Technique |
|
|
|
|
Fair Value Inputs [Abstract] |
|
|
|
|
Yield |
40.00%bac_FairValueInputsYield / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
45.00%bac_FairValueInputsYield / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
|
|
Prepayment speed |
30.00%us-gaap_FairValueInputsPrepaymentRate / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
40.00%us-gaap_FairValueInputsPrepaymentRate / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
|
|
Default rate |
5.00%us-gaap_FairValueInputsProbabilityOfDefault / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
5.00%us-gaap_FairValueInputsProbabilityOfDefault / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
|
|
Loss severity |
40.00%us-gaap_FairValueInputsLossSeverity / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
42.00%us-gaap_FairValueInputsLossSeverity / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
|
|
Enterprise value/EBITDA multiple |
30us-gaap_FairValueInputsEarningsBeforeInterestTaxesDepreciationAndAmortizationMultiple / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
24us-gaap_FairValueInputsEarningsBeforeInterestTaxesDepreciationAndAmortizationMultiple / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
|
|
Duration |
5 years
|
5 years
|
|
|
Price |
107us-gaap_FairValueInputsOfferedQuotes / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
|
|
|
Recurring | Level 3 | Commercial loans, debt securities and other | Weighted Average | Income and Market Approach Technique |
|
|
|
|
Fair Value Inputs [Abstract] |
|
|
|
|
Yield |
9.00%bac_FairValueInputsYield / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
5.00%bac_FairValueInputsYield / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
|
|
Prepayment speed |
12.00%us-gaap_FairValueInputsPrepaymentRate / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
19.00%us-gaap_FairValueInputsPrepaymentRate / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
|
|
Default rate |
4.00%us-gaap_FairValueInputsProbabilityOfDefault / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
4.00%us-gaap_FairValueInputsProbabilityOfDefault / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
|
|
Loss severity |
38.00%us-gaap_FairValueInputsLossSeverity / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
36.00%us-gaap_FairValueInputsLossSeverity / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
|
|
Enterprise value/EBITDA multiple |
6us-gaap_FairValueInputsEarningsBeforeInterestTaxesDepreciationAndAmortizationMultiple / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
7us-gaap_FairValueInputsEarningsBeforeInterestTaxesDepreciationAndAmortizationMultiple / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
|
|
Duration |
3 years
|
4 years
|
|
|
Price |
76us-gaap_FairValueInputsOfferedQuotes / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
|
|
|
Recurring | Level 3 | Commercial loans, debt securities and other | Loans and leases |
|
|
|
|
Fair Value Inputs, Assets, Quantitative Information [Line Items] |
|
|
|
|
Assets, fair value |
609,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember
|
906,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember
|
|
|
Recurring | Level 3 | Commercial loans, debt securities and other | Mortgage trading loans and ABS | Trading Securities |
|
|
|
|
Fair Value Inputs, Assets, Quantitative Information [Line Items] |
|
|
|
|
Assets, fair value |
1,580,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember
|
4,268,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember
|
|
|
Recurring | Level 3 | Commercial loans, debt securities and other | Corporate securities, trading loans and other | Trading Securities |
|
|
|
|
Fair Value Inputs, Assets, Quantitative Information [Line Items] |
|
|
|
|
Assets, fair value |
3,224,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember
|
3,462,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember
|
|
|
Recurring | Level 3 | Commercial loans, debt securities and other | Non-U.S. sovereign debt | Trading Securities |
|
|
|
|
Fair Value Inputs, Assets, Quantitative Information [Line Items] |
|
|
|
|
Assets, fair value |
574,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember
|
468,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember
|
|
|
Recurring | Level 3 | Commercial loans, debt securities and other | Other taxable securities, substantially all asset-backed securities | Available-for-sale Securities |
|
|
|
|
Fair Value Inputs, Assets, Quantitative Information [Line Items] |
|
|
|
|
Assets, fair value |
1,216,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_OtherTaxableSecuritiesMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember
|
3,031,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_OtherTaxableSecuritiesMember / us-gaap_ProductOrServiceAxis = bac_CommercialLoansDebtSecuritiesandOtherMember
|
|
|
Recurring | Level 3 | Auction rate securities |
|
|
|
|
Fair Value Inputs, Assets, Quantitative Information [Line Items] |
|
|
|
|
Assets, fair value |
1,096,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = us-gaap_AuctionRateSecuritiesMember
|
1,719,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = us-gaap_AuctionRateSecuritiesMember
|
|
|
Recurring | Level 3 | Auction rate securities | Minimum | Income and Market Approach Technique |
|
|
|
|
Fair Value Inputs [Abstract] |
|
|
|
|
Projected tender price to refinancing level |
|
60.00%bac_FairValueInputsProjectedTenderPriceToRefinancingLevel / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = us-gaap_AuctionRateSecuritiesMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
|
|
Price |
60us-gaap_FairValueInputsOfferedQuotes / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = us-gaap_AuctionRateSecuritiesMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
|
|
|
Recurring | Level 3 | Auction rate securities | Maximum | Income and Market Approach Technique |
|
|
|
|
Fair Value Inputs [Abstract] |
|
|
|
|
Projected tender price to refinancing level |
|
100.00%bac_FairValueInputsProjectedTenderPriceToRefinancingLevel / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = us-gaap_AuctionRateSecuritiesMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
|
|
Price |
100us-gaap_FairValueInputsOfferedQuotes / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = us-gaap_AuctionRateSecuritiesMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
|
|
|
Recurring | Level 3 | Auction rate securities | Weighted Average | Income and Market Approach Technique |
|
|
|
|
Fair Value Inputs [Abstract] |
|
|
|
|
Projected tender price to refinancing level |
|
96.00%bac_FairValueInputsProjectedTenderPriceToRefinancingLevel / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = us-gaap_AuctionRateSecuritiesMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
|
|
Price |
95us-gaap_FairValueInputsOfferedQuotes / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = us-gaap_AuctionRateSecuritiesMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = bac_IncomeandMarketApproachTechniqueMember
|
|
|
|
Recurring | Level 3 | Auction rate securities | Corporate securities, trading loans and other | Trading Securities |
|
|
|
|
Fair Value Inputs, Assets, Quantitative Information [Line Items] |
|
|
|
|
Assets, fair value |
46,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember / us-gaap_ProductOrServiceAxis = us-gaap_AuctionRateSecuritiesMember
|
97,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember / us-gaap_ProductOrServiceAxis = us-gaap_AuctionRateSecuritiesMember
|
|
|
Recurring | Level 3 | Auction rate securities | Other taxable securities, substantially all asset-backed securities | Available-for-sale Securities |
|
|
|
|
Fair Value Inputs, Assets, Quantitative Information [Line Items] |
|
|
|
|
Assets, fair value |
451,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_OtherTaxableSecuritiesMember / us-gaap_ProductOrServiceAxis = us-gaap_AuctionRateSecuritiesMember
|
816,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_OtherTaxableSecuritiesMember / us-gaap_ProductOrServiceAxis = us-gaap_AuctionRateSecuritiesMember
|
|
|
Recurring | Level 3 | Auction rate securities | Tax-exempt securities | Available-for-sale Securities |
|
|
|
|
Fair Value Inputs, Assets, Quantitative Information [Line Items] |
|
|
|
|
Assets, fair value |
599,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_TaxExemptSecuritiesMember / us-gaap_ProductOrServiceAxis = us-gaap_AuctionRateSecuritiesMember
|
806,000,000us-gaap_AssetsFairValueDisclosure / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = bac_TaxExemptSecuritiesMember / us-gaap_ProductOrServiceAxis = us-gaap_AuctionRateSecuritiesMember
|
|
|
Recurring | Level 3 | Structured liabilities | Minimum | Income Approach Valuation Technique |
|
|
|
|
Fair Value Inputs [Abstract] |
|
|
|
|
Equity correlation |
20.00%bac_FairValueInputsEquityCorrelation / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = us-gaap_StructuredFinanceMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
18.00%bac_FairValueInputsEquityCorrelation / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = us-gaap_StructuredFinanceMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Long-dated equity volatilities |
6.00%us-gaap_FairValueAssumptionsExpectedVolatilityRate / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = us-gaap_StructuredFinanceMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
4.00%us-gaap_FairValueAssumptionsExpectedVolatilityRate / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = us-gaap_StructuredFinanceMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Long-dated inflation volatilities |
0.00%bac_FairValueInputsLongdatedInflationRateVolatilities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = us-gaap_StructuredFinanceMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
0.00%bac_FairValueInputsLongdatedInflationRateVolatilities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = us-gaap_StructuredFinanceMember / us-gaap_RangeAxis = us-gaap_MinimumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Recurring | Level 3 | Structured liabilities | Maximum | Income Approach Valuation Technique |
|
|
|
|
Fair Value Inputs [Abstract] |
|
|
|
|
Equity correlation |
98.00%bac_FairValueInputsEquityCorrelation / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = us-gaap_StructuredFinanceMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
98.00%bac_FairValueInputsEquityCorrelation / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = us-gaap_StructuredFinanceMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Long-dated equity volatilities |
69.00%us-gaap_FairValueAssumptionsExpectedVolatilityRate / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = us-gaap_StructuredFinanceMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
63.00%us-gaap_FairValueAssumptionsExpectedVolatilityRate / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = us-gaap_StructuredFinanceMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Long-dated inflation volatilities |
2.00%bac_FairValueInputsLongdatedInflationRateVolatilities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = us-gaap_StructuredFinanceMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
2.00%bac_FairValueInputsLongdatedInflationRateVolatilities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = us-gaap_StructuredFinanceMember / us-gaap_RangeAxis = us-gaap_MaximumMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Recurring | Level 3 | Structured liabilities | Weighted Average | Income Approach Valuation Technique |
|
|
|
|
Fair Value Inputs [Abstract] |
|
|
|
|
Equity correlation |
65.00%bac_FairValueInputsEquityCorrelation / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = us-gaap_StructuredFinanceMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
|
Long-dated equity volatilities |
24.00%us-gaap_FairValueAssumptionsExpectedVolatilityRate / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = us-gaap_StructuredFinanceMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
|
Long-dated inflation volatilities |
1.00%bac_FairValueInputsLongdatedInflationRateVolatilities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = us-gaap_StructuredFinanceMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
|
Recurring | Level 3 | Structured liabilities | Long-term debt |
|
|
|
|
Fair Value Inputs, Assets, Quantitative Information [Line Items] |
|
|
|
|
Long-term debt |
(2,362,000,000)us-gaap_LiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = us-gaap_StructuredFinanceMember
|
(1,990,000,000)us-gaap_LiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = us-gaap_StructuredFinanceMember
|
|
|
Recurring | Level 3 | Structured liabilities | Long-term debt | Weighted Average | Income Approach Valuation Technique |
|
|
|
|
Fair Value Inputs [Abstract] |
|
|
|
|
Equity correlation |
|
70.00%bac_FairValueInputsEquityCorrelation / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = us-gaap_StructuredFinanceMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Long-dated equity volatilities |
|
27.00%us-gaap_FairValueAssumptionsExpectedVolatilityRate / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = us-gaap_StructuredFinanceMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|
Long-dated inflation volatilities |
|
1.00%bac_FairValueInputsLongdatedInflationRateVolatilities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_ProductOrServiceAxis = us-gaap_StructuredFinanceMember / us-gaap_RangeAxis = us-gaap_WeightedAverageMember / us-gaap_ValuationTechniqueAxis = us-gaap_IncomeApproachValuationTechniqueMember
|
|
|