|
Fair Value Measurements - Reconciliation (Details) (USD $)
In Millions, unless otherwise specified |
12 Months Ended | ||
|---|---|---|---|
|
Dec. 31, 2014
|
Dec. 31, 2013
|
Dec. 31, 2012
|
|
| Fair Value, Net Derivative Asset (Liability) Measured on Recurring Basis, Unobservable Input Reconciliation [Roll Forward] | |||
| Balance, beginning | $ (224)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs | $ 1,468us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs | $ 5,866us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs |
| Gains (Losses) in Earnings | 463us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationGainLossIncludedInEarnings | (304)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationGainLossIncludedInEarnings | (221)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationGainLossIncludedInEarnings |
| Gains (Losses) in OCI | 0us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationGainLossIncludedInOtherComprehensiveIncomeLoss | 0us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationGainLossIncludedInOtherComprehensiveIncomeLoss | 0us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationGainLossIncludedInOtherComprehensiveIncomeLoss |
| Purchases | 823us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases | 824us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases | 893us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationPurchases |
| Sales | (1,738)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales | (1,467)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales | (1,012)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSales |
| Issuances | 0us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationIssues | 0us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationIssues | 0us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationIssues |
| Settlements | (432)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements | (1,362)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements | (3,328)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationSettlements |
| Gross Transfers into Level 3 | 28us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersIntoLevel3 | (10)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersIntoLevel3 | (269)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersIntoLevel3 |
| Gross Transfers out of Level 3 | 160us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersOutOfLevel3 | 627us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersOutOfLevel3 | (461)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputsReconciliationTransfersOutOfLevel3 |
| Balance, ending | (920)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs | (224)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs | 1,468us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs |
| Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward] | |||
| Transfers between asset classes | 900bac_FairValueMeasurementwithUnobservableInputsReconciliationRecurringBasisAssetTransfersBetweenAssetClasses | ||
| Fair Value, Net Derivative Asset (Liability) Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items] | |||
| Gross Derivative Assets | 984,800us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement | 920,300us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement | |
| Gross Derivative Liabilities | 981,800us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement | 906,400us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement | |
| Level 3 | Recurring | |||
| Fair Value, Net Derivative Asset (Liability) Measured on Recurring Basis, Unobservable Input Reconciliation [Roll Forward] | |||
| Balance, ending |
(920)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember |
(224)us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisWithUnobservableInputs / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember |
|
| Fair Value, Net Derivative Asset (Liability) Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items] | |||
| Gross Derivative Assets |
6,851us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember |
7,277us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember |
8,100us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember |
| Gross Derivative Liabilities |
7,771us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember |
7,501us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember |
6,600us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember |
| Corporate securities, trading loans and other | |||
| Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward] | |||
| Balance, beginning |
(35)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
(64)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
(114)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
| Gains (Losses) in Earnings |
1us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
10us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
4us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
| Gains (Losses) in OCI |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInOtherComprehensiveIncome / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInOtherComprehensiveIncome / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInOtherComprehensiveIncome / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
| Sales |
(10)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
(43)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
(116)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
| Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Sales |
13us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
54us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
136us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
| Issuances |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
(5)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
| Settlements |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
80us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
| Gross Transfers into Level 3 |
(9)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersIntoLevel3 / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
(9)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersIntoLevel3 / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
(68)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersIntoLevel3 / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
| Gross Transfers out of Level 3 |
10us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersOutOfLevel3 / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
44us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersOutOfLevel3 / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
54us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersOutOfLevel3 / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
| Balance, ending |
(36)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
(35)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
(64)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
| Short-term borrowings | |||
| Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward] | |||
| Balance, beginning |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue / us-gaap_FairValueByLiabilityClassAxis = us-gaap_ShortTermDebtMember |
||
| Gains (Losses) in Earnings |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings / us-gaap_FairValueByLiabilityClassAxis = us-gaap_ShortTermDebtMember |
||
| Gains (Losses) in OCI |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInOtherComprehensiveIncome / us-gaap_FairValueByLiabilityClassAxis = us-gaap_ShortTermDebtMember |
||
| Sales |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases / us-gaap_FairValueByLiabilityClassAxis = us-gaap_ShortTermDebtMember |
||
| Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Sales |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales / us-gaap_FairValueByLiabilityClassAxis = us-gaap_ShortTermDebtMember |
||
| Issuances |
(232)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues / us-gaap_FairValueByLiabilityClassAxis = us-gaap_ShortTermDebtMember |
||
| Settlements |
232us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements / us-gaap_FairValueByLiabilityClassAxis = us-gaap_ShortTermDebtMember |
||
| Gross Transfers into Level 3 |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersIntoLevel3 / us-gaap_FairValueByLiabilityClassAxis = us-gaap_ShortTermDebtMember |
||
| Gross Transfers out of Level 3 |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersOutOfLevel3 / us-gaap_FairValueByLiabilityClassAxis = us-gaap_ShortTermDebtMember |
||
| Balance, ending |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue / us-gaap_FairValueByLiabilityClassAxis = us-gaap_ShortTermDebtMember |
||
| Accrued expenses and other liabilities | |||
| Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward] | |||
| Balance, beginning |
(10)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue / us-gaap_FairValueByLiabilityClassAxis = bac_AccruedExpensesandOtherLiabilitiesMember |
(15)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue / us-gaap_FairValueByLiabilityClassAxis = bac_AccruedExpensesandOtherLiabilitiesMember |
(14)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue / us-gaap_FairValueByLiabilityClassAxis = bac_AccruedExpensesandOtherLiabilitiesMember |
| Gains (Losses) in Earnings |
2us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings / us-gaap_FairValueByLiabilityClassAxis = bac_AccruedExpensesandOtherLiabilitiesMember |
30us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings / us-gaap_FairValueByLiabilityClassAxis = bac_AccruedExpensesandOtherLiabilitiesMember |
(4)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings / us-gaap_FairValueByLiabilityClassAxis = bac_AccruedExpensesandOtherLiabilitiesMember |
| Gains (Losses) in OCI |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInOtherComprehensiveIncome / us-gaap_FairValueByLiabilityClassAxis = bac_AccruedExpensesandOtherLiabilitiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInOtherComprehensiveIncome / us-gaap_FairValueByLiabilityClassAxis = bac_AccruedExpensesandOtherLiabilitiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInOtherComprehensiveIncome / us-gaap_FairValueByLiabilityClassAxis = bac_AccruedExpensesandOtherLiabilitiesMember |
| Sales |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases / us-gaap_FairValueByLiabilityClassAxis = bac_AccruedExpensesandOtherLiabilitiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases / us-gaap_FairValueByLiabilityClassAxis = bac_AccruedExpensesandOtherLiabilitiesMember |
(8)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases / us-gaap_FairValueByLiabilityClassAxis = bac_AccruedExpensesandOtherLiabilitiesMember |
| Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Sales |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales / us-gaap_FairValueByLiabilityClassAxis = bac_AccruedExpensesandOtherLiabilitiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales / us-gaap_FairValueByLiabilityClassAxis = bac_AccruedExpensesandOtherLiabilitiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales / us-gaap_FairValueByLiabilityClassAxis = bac_AccruedExpensesandOtherLiabilitiesMember |
| Issuances |
(3)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues / us-gaap_FairValueByLiabilityClassAxis = bac_AccruedExpensesandOtherLiabilitiesMember |
(751)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues / us-gaap_FairValueByLiabilityClassAxis = bac_AccruedExpensesandOtherLiabilitiesMember |
(9)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues / us-gaap_FairValueByLiabilityClassAxis = bac_AccruedExpensesandOtherLiabilitiesMember |
| Settlements |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements / us-gaap_FairValueByLiabilityClassAxis = bac_AccruedExpensesandOtherLiabilitiesMember |
724us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements / us-gaap_FairValueByLiabilityClassAxis = bac_AccruedExpensesandOtherLiabilitiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements / us-gaap_FairValueByLiabilityClassAxis = bac_AccruedExpensesandOtherLiabilitiesMember |
| Gross Transfers into Level 3 |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersIntoLevel3 / us-gaap_FairValueByLiabilityClassAxis = bac_AccruedExpensesandOtherLiabilitiesMember |
(1)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersIntoLevel3 / us-gaap_FairValueByLiabilityClassAxis = bac_AccruedExpensesandOtherLiabilitiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersIntoLevel3 / us-gaap_FairValueByLiabilityClassAxis = bac_AccruedExpensesandOtherLiabilitiesMember |
| Gross Transfers out of Level 3 |
1us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersOutOfLevel3 / us-gaap_FairValueByLiabilityClassAxis = bac_AccruedExpensesandOtherLiabilitiesMember |
3us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersOutOfLevel3 / us-gaap_FairValueByLiabilityClassAxis = bac_AccruedExpensesandOtherLiabilitiesMember |
4us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersOutOfLevel3 / us-gaap_FairValueByLiabilityClassAxis = bac_AccruedExpensesandOtherLiabilitiesMember |
| Balance, ending |
(10)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue / us-gaap_FairValueByLiabilityClassAxis = bac_AccruedExpensesandOtherLiabilitiesMember |
(10)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue / us-gaap_FairValueByLiabilityClassAxis = bac_AccruedExpensesandOtherLiabilitiesMember |
(15)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue / us-gaap_FairValueByLiabilityClassAxis = bac_AccruedExpensesandOtherLiabilitiesMember |
| Long-term debt | |||
| Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward] | |||
| Balance, beginning |
(1,990)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember |
(2,301)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember |
(2,943)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember |
| Gains (Losses) in Earnings |
49us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember |
13us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember |
(307)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember |
| Gains (Losses) in OCI |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInOtherComprehensiveIncome / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInOtherComprehensiveIncome / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInOtherComprehensiveIncome / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember |
| Sales |
(169)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember |
(358)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember |
(290)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember |
| Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Sales |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember |
4us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember |
33us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySales / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember |
| Issuances |
(615)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember |
(172)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember |
(259)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember |
| Settlements |
540us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember |
258us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember |
1,239us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember |
| Gross Transfers into Level 3 |
(1,581)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersIntoLevel3 / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember |
(1,331)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersIntoLevel3 / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember |
(2,040)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersIntoLevel3 / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember |
| Gross Transfers out of Level 3 |
1,066us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersOutOfLevel3 / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember |
1,189us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersOutOfLevel3 / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember |
1,752us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationLiabilityTransfersOutOfLevel3 / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember |
| Balance, ending |
(2,362)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember |
(1,990)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember |
(2,301)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember |
| U.S. government and agency securities | |||
| Fair Value, Assets Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward] | |||
| Balance, beginning |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember |
||
| Gains (Losses) in Earnings |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember |
||
| Gains (Losses) in OCI |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember |
||
| Purchases |
87us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember |
||
| Sales |
(87)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember |
||
| Issuances |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember |
||
| Settlements |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember |
||
| Gross Transfers into Level 3 |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember |
||
| Gross Transfers out of Level 3 |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember |
||
| Balance, ending |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember |
||
| Corporate securities, trading loans and other | |||
| Fair Value, Assets Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward] | |||
| Balance, beginning |
3,559us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
3,726us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
6,880us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
| Gains (Losses) in Earnings |
180us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
242us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
195us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
| Gains (Losses) in OCI |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
| Purchases |
1,675us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
3,848us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
2,798us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
| Sales |
(857)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
(3,110)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
(4,556)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
| Issuances |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
59us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
| Settlements |
(938)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
(651)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
(1,077)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
| Gross Transfers into Level 3 |
1,275us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
890us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
436us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
| Gross Transfers out of Level 3 |
(1,624)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
(1,445)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
(950)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
| Balance, ending |
3,270us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
3,559us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
3,726us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember |
| Equity securities | |||
| Fair Value, Assets Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward] | |||
| Balance, beginning |
386us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember |
545us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember |
544us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember |
| Gains (Losses) in Earnings |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember |
74us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember |
31us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember |
| Gains (Losses) in OCI |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember |
| Purchases |
104us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember |
96us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember |
201us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember |
| Sales |
(86)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember |
(175)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember |
(271)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember |
| Issuances |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember |
| Settlements |
(16)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember |
(100)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember |
27us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember |
| Gross Transfers into Level 3 |
146us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember |
70us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember |
90us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember |
| Gross Transfers out of Level 3 |
(182)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember |
(124)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember |
(77)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember |
| Balance, ending |
352us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember |
386us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember |
545us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember |
| Non-U.S. sovereign debt | |||
| Fair Value, Assets Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward] | |||
| Balance, beginning |
468us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember |
353us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember |
342us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember |
| Gains (Losses) in Earnings |
30us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember |
50us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember |
8us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember |
| Gains (Losses) in OCI |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember |
| Purchases |
120us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember |
122us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember |
388us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember |
| Sales |
(34)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember |
(18)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember |
(359)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember |
| Issuances |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember |
| Settlements |
(19)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember |
(36)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember |
(5)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember |
| Gross Transfers into Level 3 |
11us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember |
2us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember |
| Gross Transfers out of Level 3 |
(2)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember |
(5)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember |
(21)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember |
| Balance, ending |
574us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember |
468us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember |
353us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember |
| Mortgage trading loans and ABS | |||
| Fair Value, Assets Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward] | |||
| Balance, beginning |
4,631us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember |
4,935us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember |
3,689us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember |
| Gains (Losses) in Earnings |
199us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember |
53us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember |
215us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember |
| Gains (Losses) in OCI |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember |
| Purchases |
1,643us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember |
2,514us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember |
2,574us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember |
| Sales |
(1,259)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember |
(1,993)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember |
(1,536)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember |
| Issuances |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember |
| Settlements |
(585)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember |
(868)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember |
(678)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember |
| Gross Transfers into Level 3 |
39us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember |
20us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember |
844us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember |
| Gross Transfers out of Level 3 |
(2,605)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember |
(30)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember |
(173)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember |
| Balance, ending |
2,063us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember |
4,631us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember |
4,935us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember |
| Trading Securities | |||
| Fair Value, Assets Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward] | |||
| Balance, beginning |
9,044us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember |
9,559us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember |
11,455us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember |
| Gains (Losses) in Earnings |
409us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember |
419us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember |
449us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember |
| Gains (Losses) in OCI |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember |
| Purchases |
3,629us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember |
6,580us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember |
5,961us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember |
| Sales |
(2,323)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember |
(5,296)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember |
(6,722)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember |
| Issuances |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember |
59us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember |
| Settlements |
(1,558)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember |
(1,655)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember |
(1,733)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember |
| Gross Transfers into Level 3 |
1,471us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember |
982us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember |
1,370us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember |
| Gross Transfers out of Level 3 |
(4,413)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember |
(1,604)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember |
(1,221)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember |
| Balance, ending |
6,259us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember |
9,044us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember |
9,559us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember |
| Agency | |||
| Fair Value, Assets Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward] | |||
| Balance, beginning |
37us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_MortgageBackedSecuritiesAgencyMember |
||
| Gains (Losses) in Earnings |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_MortgageBackedSecuritiesAgencyMember |
||
| Gains (Losses) in OCI |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = bac_MortgageBackedSecuritiesAgencyMember |
||
| Purchases |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = bac_MortgageBackedSecuritiesAgencyMember |
||
| Sales |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = bac_MortgageBackedSecuritiesAgencyMember |
||
| Issuances |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = bac_MortgageBackedSecuritiesAgencyMember |
||
| Settlements |
(4)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = bac_MortgageBackedSecuritiesAgencyMember |
||
| Gross Transfers into Level 3 |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = bac_MortgageBackedSecuritiesAgencyMember |
||
| Gross Transfers out of Level 3 |
(33)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = bac_MortgageBackedSecuritiesAgencyMember |
||
| Balance, ending |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_MortgageBackedSecuritiesAgencyMember |
||
| Non-agency residential | |||
| Fair Value, Assets Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward] | |||
| Balance, beginning |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
860us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
|
| Gains (Losses) in Earnings |
(2)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
(69)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
|
| Gains (Losses) in OCI |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
19us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
|
| Purchases |
11us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
|
| Sales |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
(306)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
|
| Issuances |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
|
| Settlements |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
(2)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
|
| Gross Transfers into Level 3 |
270us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
|
| Gross Transfers out of Level 3 |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
(502)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
|
| Balance, ending |
279us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_ResidentialMortgageBackedSecuritiesMember |
|
| Commercial | |||
| Fair Value, Assets Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward] | |||
| Balance, beginning |
10us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_CommercialMortgageBackedSecuritiesMember |
40us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_CommercialMortgageBackedSecuritiesMember |
|
| Gains (Losses) in Earnings |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_CommercialMortgageBackedSecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_CommercialMortgageBackedSecuritiesMember |
|
| Gains (Losses) in OCI |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_CommercialMortgageBackedSecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_CommercialMortgageBackedSecuritiesMember |
|
| Purchases |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = us-gaap_CommercialMortgageBackedSecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = us-gaap_CommercialMortgageBackedSecuritiesMember |
|
| Sales |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = us-gaap_CommercialMortgageBackedSecuritiesMember |
(24)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = us-gaap_CommercialMortgageBackedSecuritiesMember |
|
| Issuances |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = us-gaap_CommercialMortgageBackedSecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = us-gaap_CommercialMortgageBackedSecuritiesMember |
|
| Settlements |
(10)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = us-gaap_CommercialMortgageBackedSecuritiesMember |
(6)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = us-gaap_CommercialMortgageBackedSecuritiesMember |
|
| Gross Transfers into Level 3 |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_CommercialMortgageBackedSecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_CommercialMortgageBackedSecuritiesMember |
|
| Gross Transfers out of Level 3 |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_CommercialMortgageBackedSecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_CommercialMortgageBackedSecuritiesMember |
|
| Balance, ending |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_CommercialMortgageBackedSecuritiesMember |
10us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_CommercialMortgageBackedSecuritiesMember |
|
| Non-U.S. securities | |||
| Fair Value, Assets Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward] | |||
| Balance, beginning |
107us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_ForeignSecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_ForeignSecuritiesMember |
|
| Gains (Losses) in Earnings |
(7)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_ForeignSecuritiesMember |
5us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_ForeignSecuritiesMember |
|
| Gains (Losses) in OCI |
(11)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = bac_ForeignSecuritiesMember |
2us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = bac_ForeignSecuritiesMember |
|
| Purchases |
241us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = bac_ForeignSecuritiesMember |
1us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = bac_ForeignSecuritiesMember |
|
| Sales |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = bac_ForeignSecuritiesMember |
(1)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = bac_ForeignSecuritiesMember |
|
| Issuances |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = bac_ForeignSecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = bac_ForeignSecuritiesMember |
|
| Settlements |
(147)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = bac_ForeignSecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = bac_ForeignSecuritiesMember |
|
| Gross Transfers into Level 3 |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = bac_ForeignSecuritiesMember |
100us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = bac_ForeignSecuritiesMember |
|
| Gross Transfers out of Level 3 |
(173)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = bac_ForeignSecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = bac_ForeignSecuritiesMember |
|
| Balance, ending |
10us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_ForeignSecuritiesMember |
107us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_ForeignSecuritiesMember |
|
| Corporate/Agency bonds | |||
| Fair Value, Assets Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward] | |||
| Balance, beginning |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_CorporateandAgencyBondsMember |
92us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_CorporateandAgencyBondsMember |
162us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_CorporateandAgencyBondsMember |
| Gains (Losses) in Earnings |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_CorporateandAgencyBondsMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_CorporateandAgencyBondsMember |
(2)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_CorporateandAgencyBondsMember |
| Gains (Losses) in OCI |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = bac_CorporateandAgencyBondsMember |
4us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = bac_CorporateandAgencyBondsMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = bac_CorporateandAgencyBondsMember |
| Purchases |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = bac_CorporateandAgencyBondsMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = bac_CorporateandAgencyBondsMember |
(2)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = bac_CorporateandAgencyBondsMember |
| Sales |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = bac_CorporateandAgencyBondsMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = bac_CorporateandAgencyBondsMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = bac_CorporateandAgencyBondsMember |
| Issuances |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = bac_CorporateandAgencyBondsMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = bac_CorporateandAgencyBondsMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = bac_CorporateandAgencyBondsMember |
| Settlements |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = bac_CorporateandAgencyBondsMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = bac_CorporateandAgencyBondsMember |
(39)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = bac_CorporateandAgencyBondsMember |
| Gross Transfers into Level 3 |
93us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = bac_CorporateandAgencyBondsMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = bac_CorporateandAgencyBondsMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = bac_CorporateandAgencyBondsMember |
| Gross Transfers out of Level 3 |
(93)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = bac_CorporateandAgencyBondsMember |
(96)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = bac_CorporateandAgencyBondsMember |
(27)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = bac_CorporateandAgencyBondsMember |
| Balance, ending |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_CorporateandAgencyBondsMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_CorporateandAgencyBondsMember |
92us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_CorporateandAgencyBondsMember |
| Other taxable securities, substantially all asset-backed securities | |||
| Fair Value, Assets Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward] | |||
| Balance, beginning |
3,847us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_OtherTaxableSecuritiesMember |
3,928us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_OtherTaxableSecuritiesMember |
4,265us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_OtherTaxableSecuritiesMember |
| Gains (Losses) in Earnings |
9us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_OtherTaxableSecuritiesMember |
9us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_OtherTaxableSecuritiesMember |
23us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_OtherTaxableSecuritiesMember |
| Gains (Losses) in OCI |
(8)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = bac_OtherTaxableSecuritiesMember |
15us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = bac_OtherTaxableSecuritiesMember |
26us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = bac_OtherTaxableSecuritiesMember |
| Purchases |
154us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = bac_OtherTaxableSecuritiesMember |
1,055us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = bac_OtherTaxableSecuritiesMember |
3,196us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = bac_OtherTaxableSecuritiesMember |
| Sales |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = bac_OtherTaxableSecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = bac_OtherTaxableSecuritiesMember |
(28)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = bac_OtherTaxableSecuritiesMember |
| Issuances |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = bac_OtherTaxableSecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = bac_OtherTaxableSecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = bac_OtherTaxableSecuritiesMember |
| Settlements |
(1,381)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = bac_OtherTaxableSecuritiesMember |
(1,155)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = bac_OtherTaxableSecuritiesMember |
(3,345)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = bac_OtherTaxableSecuritiesMember |
| Gross Transfers into Level 3 |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = bac_OtherTaxableSecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = bac_OtherTaxableSecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = bac_OtherTaxableSecuritiesMember |
| Gross Transfers out of Level 3 |
(954)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = bac_OtherTaxableSecuritiesMember |
(5)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = bac_OtherTaxableSecuritiesMember |
(209)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = bac_OtherTaxableSecuritiesMember |
| Balance, ending |
1,667us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_OtherTaxableSecuritiesMember |
3,847us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_OtherTaxableSecuritiesMember |
3,928us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_OtherTaxableSecuritiesMember |
| Tax-exempt securities | |||
| Fair Value, Assets Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward] | |||
| Balance, beginning |
806us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_TaxExemptSecuritiesMember |
1,061us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_TaxExemptSecuritiesMember |
2,648us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_TaxExemptSecuritiesMember |
| Gains (Losses) in Earnings |
8us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_TaxExemptSecuritiesMember |
3us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_TaxExemptSecuritiesMember |
61us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_TaxExemptSecuritiesMember |
| Gains (Losses) in OCI |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = bac_TaxExemptSecuritiesMember |
19us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = bac_TaxExemptSecuritiesMember |
20us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = bac_TaxExemptSecuritiesMember |
| Purchases |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = bac_TaxExemptSecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = bac_TaxExemptSecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = bac_TaxExemptSecuritiesMember |
| Sales |
(16)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = bac_TaxExemptSecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = bac_TaxExemptSecuritiesMember |
(133)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = bac_TaxExemptSecuritiesMember |
| Issuances |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = bac_TaxExemptSecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = bac_TaxExemptSecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = bac_TaxExemptSecuritiesMember |
| Settlements |
(235)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = bac_TaxExemptSecuritiesMember |
(109)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = bac_TaxExemptSecuritiesMember |
(1,535)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = bac_TaxExemptSecuritiesMember |
| Gross Transfers into Level 3 |
36us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = bac_TaxExemptSecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = bac_TaxExemptSecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = bac_TaxExemptSecuritiesMember |
| Gross Transfers out of Level 3 |
(168)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = bac_TaxExemptSecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = bac_TaxExemptSecuritiesMember |
|
| Balance, ending |
599us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_TaxExemptSecuritiesMember |
806us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_TaxExemptSecuritiesMember |
1,061us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_TaxExemptSecuritiesMember |
| Available-for-sale Securities | |||
| Fair Value, Assets Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward] | |||
| Balance, beginning |
4,760us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember |
5,091us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember |
8,012us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember |
| Gains (Losses) in Earnings |
8us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember |
17us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember |
13us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember |
| Gains (Losses) in OCI |
(19)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember |
40us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember |
65us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember |
| Purchases |
406us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember |
1,056us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember |
3,194us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember |
| Sales |
(16)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember |
(1)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember |
(491)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember |
| Issuances |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember |
| Settlements |
(1,763)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember |
(1,274)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember |
(4,931)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember |
| Gross Transfers into Level 3 |
399us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember |
100us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember |
| Gross Transfers out of Level 3 |
(1,220)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember |
(269)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember |
(771)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember |
| Balance, ending |
2,555us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember |
4,760us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember |
5,091us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember |
| Loans and leases | |||
| Fair Value, Assets Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward] | |||
| Balance, beginning |
3,057us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember |
2,287us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember |
2,744us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember |
| Gains (Losses) in Earnings |
69us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember |
98us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember |
334us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember |
| Gains (Losses) in OCI |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember |
| Purchases |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember |
310us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember |
564us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember |
| Sales |
(3)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember |
(128)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember |
(1,520)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember |
| Issuances |
699us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember |
1,252us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember |
| Settlements |
(1,591)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember |
(757)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember |
(274)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember |
| Gross Transfers into Level 3 |
25us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember |
19us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember |
450us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember |
| Gross Transfers out of Level 3 |
(273)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember |
(24)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember |
(11)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember |
| Balance, ending |
1,983us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember |
3,057us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember |
2,287us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember |
| Mortgage servicing rights | |||
| Fair Value, Assets Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward] | |||
| Balance, beginning |
5,042us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember |
5,716us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember |
7,378us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember |
| Gains (Losses) in Earnings |
(1,231)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember |
1,941us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember |
(430)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember |
| Gains (Losses) in OCI |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember |
| Purchases |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember |
| Sales |
(61)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember |
(2,044)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember |
(122)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember |
| Issuances |
707us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember |
472us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember |
374us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember |
| Settlements |
(927)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember |
(1,043)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember |
(1,484)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember |
| Gross Transfers into Level 3 |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember |
| Gross Transfers out of Level 3 |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember |
| Balance, ending |
3,530us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember |
5,042us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember |
5,716us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember |
| Loans Held-for-Sale | |||
| Fair Value, Assets Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward] | |||
| Balance, beginning |
929us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember |
2,733us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember |
3,387us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember |
| Gains (Losses) in Earnings |
45us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember |
62us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember |
352us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember |
| Gains (Losses) in OCI |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember |
| Purchases |
59us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember |
8us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember |
794us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember |
| Sales |
(725)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember |
(402)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember |
(834)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember |
| Issuances |
23us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember |
4us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember |
| Settlements |
(216)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember |
(1,507)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember |
(414)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember |
| Gross Transfers into Level 3 |
83us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember |
34us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember |
80us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember |
| Gross Transfers out of Level 3 |
(25)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember |
(3)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember |
(632)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember |
| Balance, ending |
173us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember |
929us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember |
2,733us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember |
| Other assets | |||
| Fair Value, Assets Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward] | |||
| Balance, beginning |
1,669us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember |
3,129us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember |
4,235us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember |
| Gains (Losses) in Earnings |
(98)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember |
(288)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember |
(54)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember |
| Gains (Losses) in OCI |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInOtherComprehensiveIncomeLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember |
| Purchases |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember |
46us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember |
109us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember |
| Sales |
(430)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember |
(383)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember |
(1,039)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember |
| Issuances |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember |
270us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember |
| Settlements |
(245)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember |
(1,019)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember |
(381)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember |
| Gross Transfers into Level 3 |
39us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember |
239us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember |
| Gross Transfers out of Level 3 |
(24)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember |
(55)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember |
(11)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersOutOfLevel3 / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember |
| Balance, ending |
$ 911us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember |
$ 1,669us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember |
$ 3,129us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember |
| X | ||||||||||
|
- Definition
Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Asset, Transfers Between Asset Classes No definition available.
|
| X | ||||||||||
|
- Definition
Fair value, before effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes assets not subject to a master netting arrangement and elected not to be offset. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
| X | ||||||||||
|
- Definition
Fair value, before effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes liabilities not subject to a master netting arrangement and elected not to be offset. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
| X | ||||||||||
|
- Details
|
| X | ||||||||||
|
- Details
|
| X | ||||||||||
|
- Definition
Amount of transfers of financial instrument classified as a liability into level 3 of the fair value hierarchy. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
| X | ||||||||||
|
- Definition
Amount of transfers of financial instrument classified as a liability out of level 3 of the fair value hierarchy. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
| X | ||||||||||
|
- Definition
Amount of gain (loss) recognized in the income statement for financial instrument classified as an asset measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
| X | ||||||||||
|
- Definition
Amount of gain (loss) recognized in other comprehensive income (loss) for financial instrument classified as an asset measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
| X | ||||||||||
|
- Definition
Amount of issuances of financial instrument classified as an asset measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
| X | ||||||||||
|
- Definition
Amount of purchases of financial instrument classified as an asset measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
| X | ||||||||||
|
- Definition
Amount of sale of financial instrument classified as an asset measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
| X | ||||||||||
|
- Definition
Amount of settlement of financial instrument classified as an asset measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
| X | ||||||||||
|
- Definition
Amount of transfer of financial instrument classified as an asset into level 3 of the fair value hierarchy. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
| X | ||||||||||
|
- Definition
Amount of transfers of financial instrument classified as an asset out of level 3 of the fair value hierarchy. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
| X | ||||||||||
|
- Definition
Fair value of financial instrument classified as an asset measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
| X | ||||||||||
|
- Definition
Amount of gain (loss) recognized on the income statement for financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
| X | ||||||||||
|
- Definition
Amount of gain (loss) recognized in other comprehensive income (loss) for financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
| X | ||||||||||
|
- Definition
Amount of issuances of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
| X | ||||||||||
|
- Definition
Amount of purchases of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
| X | ||||||||||
|
- Definition
Amount of sales of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
| X | ||||||||||
|
- Definition
Amount of settlements of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
| X | ||||||||||
|
- Definition
Fair value of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
| X | ||||||||||
|
- Details
|
| X | ||||||||||
|
- Details
|
| X | ||||||||||
|
- Definition
Amount of gain (loss) recognized in the income statement of financial instrument classified as a derivative asset (liability) after deduction of derivative liability (asset), measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
| X | ||||||||||
|
- Definition
Amount of gain (loss) recognized in other comprehensive income (loss) of financial instrument classified as a derivative asset (liability) after deduction of derivative liability (asset), measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
| X | ||||||||||
|
- Definition
Amount of issuances of financial instrument classified as a derivative asset (liability) after deduction of derivative liability (asset), measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
| X | ||||||||||
|
- Definition
Amount of purchases of financial instrument classified as a derivative asset (liability) after deduction of derivative liability (asset), measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
| X | ||||||||||
|
- Definition
Amount of sales of financial instrument classified as a derivative asset (liability) after deduction of derivative liability (asset), measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
| X | ||||||||||
|
- Definition
Amount of settlements of financial instrument classified as a derivative asset (liability) after deduction of derivative liability, measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
| X | ||||||||||
|
- Definition
Amount of transfers of financial instrument classified as a derivative asset (liability) after deduction of derivative liability (asset) into level 3 of the fair value hierarchy. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
| X | ||||||||||
|
- Definition
Amount of transfers of financial instrument classified as derivative asset (liability) after deduction of derivative liability (asset) out of level 3 of the fair value hierarchy. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
| X | ||||||||||
|
- Definition
Fair value of financial instrument classified as derivative asset (liability) after deduction of derivative liability (asset), measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
| X | ||||||||||
|
- Details
|
| X | ||||||||||
|
- Details
|
| X | ||||||||||
|
- Details
|
| X | ||||||||||
|
- Details
|
| X | ||||||||||
|
- Details
|
| X | ||||||||||
|
- Details
|
| X | ||||||||||
|
- Details
|
| X | ||||||||||
|
- Details
|
| X | ||||||||||
|
- Details
|
| X | ||||||||||
|
- Details
|
| X | ||||||||||
|
- Details
|
| X | ||||||||||
|
- Details
|
| X | ||||||||||
|
- Details
|
| X | ||||||||||
|
- Details
|
| X | ||||||||||
|
- Details
|
| X | ||||||||||
|
- Details
|
| X | ||||||||||
|
- Details
|
| X | ||||||||||
|
- Details
|
| X | ||||||||||
|
- Details
|
| X | ||||||||||
|
- Details
|
| X | ||||||||||
|
- Details
|
| X | ||||||||||
|
- Details
|
| X | ||||||||||
|
- Details
|