Fair Value Measurements - Gains and Losses (Details) (USD $) In Millions, unless otherwise specified
|
3 Months Ended |
Mar. 31, 2015
|
Mar. 31, 2014
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Total |
$ (56)us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisGainLossIncludedInEarnings
|
$ (74)us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisGainLossIncludedInEarnings
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Total |
(427)bac_FairValueAssetsLiabilitesandNetDerivativeAssetLiabilityMeasuredonRecurringBasisChangeinUnrealizedGainLoss
|
(488)bac_FairValueAssetsLiabilitesandNetDerivativeAssetLiabilityMeasuredonRecurringBasisChangeinUnrealizedGainLoss
|
Corporate securities and other |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Total Realized and Unrealized Gains (losses) included in Earnings, Liabilities |
1us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesandOtherMember
|
1us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesandOtherMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in Unrealized Gains (losses) relating to liabilities still held at reporting date |
1us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesandOtherMember
|
1us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesandOtherMember
|
Accrued expenses and other liabilities |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Total Realized and Unrealized Gains (losses) included in Earnings, Liabilities |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings / us-gaap_FairValueByLiabilityClassAxis = bac_AccruedExpensesandOtherLiabilitiesMember
|
1us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings / us-gaap_FairValueByLiabilityClassAxis = bac_AccruedExpensesandOtherLiabilitiesMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in Unrealized Gains (losses) relating to liabilities still held at reporting date |
|
1us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByLiabilityClassAxis = bac_AccruedExpensesandOtherLiabilitiesMember
|
Short-term borrowings |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Total Realized and Unrealized Gains (losses) included in Earnings, Liabilities |
5us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings / us-gaap_FairValueByLiabilityClassAxis = us-gaap_ShortTermDebtMember
|
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in Unrealized Gains (losses) relating to liabilities still held at reporting date |
5us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByLiabilityClassAxis = us-gaap_ShortTermDebtMember
|
|
Long-term debt |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Total Realized and Unrealized Gains (losses) included in Earnings, Liabilities |
4us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember
|
(67)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in Unrealized Gains (losses) relating to liabilities still held at reporting date |
(4)us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember
|
(67)us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember
|
Corporate securities, trading loans and other |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
(21)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember
|
122us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
(58)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember
|
111us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember
|
Equity securities |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
3us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember
|
19us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
(2)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember
|
17us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember
|
Non-U.S. sovereign debt |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
85us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember
|
55us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
63us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember
|
55us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember
|
Mortgage trading loans and ABS |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
60us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember
|
78us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
(9)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember
|
16us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember
|
Trading Securities |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
127us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember
|
274us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
(6)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember
|
199us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember
|
Derivative assets |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
(44)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_DerivativeFinancialInstrumentsAssetsMember
|
14us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_DerivativeFinancialInstrumentsAssetsMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
(237)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_DerivativeFinancialInstrumentsAssetsMember
|
(159)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_DerivativeFinancialInstrumentsAssetsMember
|
Other taxable securities |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_OtherTaxableSecuritiesMember
|
8us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_OtherTaxableSecuritiesMember
|
Tax-exempt securities |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_TaxExemptSecuritiesMember
|
1us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_TaxExemptSecuritiesMember
|
Available-for-sale Securities |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
(19)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember
|
9us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember
|
Loans and leases |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
15us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember
|
32us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
29us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember
|
28us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember
|
Mortgage servicing rights |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
(85)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember
|
(290)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
(188)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember
|
(473)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember
|
Loans held-for-sale |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
(70)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember
|
12us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
(65)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember
|
4us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember
|
Other assets |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
10us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember
|
(60)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
38us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember
|
(22)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember
|
Trading Account Profits (Losses) |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Total |
(241)us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisGainLossIncludedInEarnings / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
49us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisGainLossIncludedInEarnings / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Total |
(389)bac_FairValueAssetsLiabilitesandNetDerivativeAssetLiabilityMeasuredonRecurringBasisChangeinUnrealizedGainLoss / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
(70)bac_FairValueAssetsLiabilitesandNetDerivativeAssetLiabilityMeasuredonRecurringBasisChangeinUnrealizedGainLoss / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Trading Account Profits (Losses) | Corporate securities and other |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Total Realized and Unrealized Gains (losses) included in Earnings, Liabilities |
1us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesandOtherMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
1us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesandOtherMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in Unrealized Gains (losses) relating to liabilities still held at reporting date |
1us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesandOtherMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
1us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesandOtherMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Trading Account Profits (Losses) | Accrued expenses and other liabilities |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Total Realized and Unrealized Gains (losses) included in Earnings, Liabilities |
|
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings / us-gaap_FairValueByLiabilityClassAxis = bac_AccruedExpensesandOtherLiabilitiesMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in Unrealized Gains (losses) relating to liabilities still held at reporting date |
|
0us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByLiabilityClassAxis = bac_AccruedExpensesandOtherLiabilitiesMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Trading Account Profits (Losses) | Short-term borrowings |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Total Realized and Unrealized Gains (losses) included in Earnings, Liabilities |
5us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings / us-gaap_FairValueByLiabilityClassAxis = us-gaap_ShortTermDebtMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in Unrealized Gains (losses) relating to liabilities still held at reporting date |
5us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByLiabilityClassAxis = us-gaap_ShortTermDebtMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
|
Trading Account Profits (Losses) | Long-term debt |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Total Realized and Unrealized Gains (losses) included in Earnings, Liabilities |
58us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
(53)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in Unrealized Gains (losses) relating to liabilities still held at reporting date |
50us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
(53)us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Trading Account Profits (Losses) | Corporate securities, trading loans and other |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
(21)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
122us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
(58)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
111us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Trading Account Profits (Losses) | Equity securities |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
3us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
19us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
(2)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
17us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Trading Account Profits (Losses) | Non-U.S. sovereign debt |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
85us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
55us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
63us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
55us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Trading Account Profits (Losses) | Mortgage trading loans and ABS |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
60us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
78us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
(9)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
16us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Trading Account Profits (Losses) | Trading Securities |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
127us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
274us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
(6)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
199us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Trading Account Profits (Losses) | Derivative assets |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
(351)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_DerivativeFinancialInstrumentsAssetsMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
(168)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_DerivativeFinancialInstrumentsAssetsMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
(363)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_DerivativeFinancialInstrumentsAssetsMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
(212)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_DerivativeFinancialInstrumentsAssetsMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Trading Account Profits (Losses) | Other taxable securities |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
|
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_OtherTaxableSecuritiesMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Trading Account Profits (Losses) | Tax-exempt securities |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
|
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_TaxExemptSecuritiesMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Trading Account Profits (Losses) | Available-for-sale Securities |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
|
Trading Account Profits (Losses) | Loans and leases |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
3us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
3us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Trading Account Profits (Losses) | Mortgage servicing rights |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
(15)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
(5)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
(15)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
(5)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Trading Account Profits (Losses) | Loans held-for-sale |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
(69)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
(64)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Trading Account Profits (Losses) | Other assets |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Mortgage Banking Income (Loss) |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Total |
191us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisGainLossIncludedInEarnings / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
(148)us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisGainLossIncludedInEarnings / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Total |
(88)bac_FairValueAssetsLiabilitesandNetDerivativeAssetLiabilityMeasuredonRecurringBasisChangeinUnrealizedGainLoss / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
(452)bac_FairValueAssetsLiabilitesandNetDerivativeAssetLiabilityMeasuredonRecurringBasisChangeinUnrealizedGainLoss / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Mortgage Banking Income (Loss) | Corporate securities and other |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Total Realized and Unrealized Gains (losses) included in Earnings, Liabilities |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesandOtherMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesandOtherMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in Unrealized Gains (losses) relating to liabilities still held at reporting date |
0us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesandOtherMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
0us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesandOtherMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Mortgage Banking Income (Loss) | Accrued expenses and other liabilities |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Total Realized and Unrealized Gains (losses) included in Earnings, Liabilities |
|
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings / us-gaap_FairValueByLiabilityClassAxis = bac_AccruedExpensesandOtherLiabilitiesMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in Unrealized Gains (losses) relating to liabilities still held at reporting date |
|
0us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByLiabilityClassAxis = bac_AccruedExpensesandOtherLiabilitiesMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Mortgage Banking Income (Loss) | Short-term borrowings |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Total Realized and Unrealized Gains (losses) included in Earnings, Liabilities |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings / us-gaap_FairValueByLiabilityClassAxis = us-gaap_ShortTermDebtMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in Unrealized Gains (losses) relating to liabilities still held at reporting date |
0us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByLiabilityClassAxis = us-gaap_ShortTermDebtMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
|
Mortgage Banking Income (Loss) | Long-term debt |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Total Realized and Unrealized Gains (losses) included in Earnings, Liabilities |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in Unrealized Gains (losses) relating to liabilities still held at reporting date |
0us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
0us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Mortgage Banking Income (Loss) | Corporate securities, trading loans and other |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Mortgage Banking Income (Loss) | Equity securities |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Mortgage Banking Income (Loss) | Non-U.S. sovereign debt |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Mortgage Banking Income (Loss) | Mortgage trading loans and ABS |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Mortgage Banking Income (Loss) | Trading Securities |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Mortgage Banking Income (Loss) | Derivative assets |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
282us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_DerivativeFinancialInstrumentsAssetsMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
173us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_DerivativeFinancialInstrumentsAssetsMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
101us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_DerivativeFinancialInstrumentsAssetsMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
44us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_DerivativeFinancialInstrumentsAssetsMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Mortgage Banking Income (Loss) | Other taxable securities |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
|
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_OtherTaxableSecuritiesMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Mortgage Banking Income (Loss) | Tax-exempt securities |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
|
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_TaxExemptSecuritiesMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Mortgage Banking Income (Loss) | Available-for-sale Securities |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Mortgage Banking Income (Loss) | Loans and leases |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Mortgage Banking Income (Loss) | Mortgage servicing rights |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
(70)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
(285)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
(173)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
(468)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Mortgage Banking Income (Loss) | Loans held-for-sale |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Mortgage Banking Income (Loss) | Other assets |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
(21)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
(36)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
(16)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
(28)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember / us-gaap_IncomeStatementLocationAxis = bac_MortgageBankingIncomeLossMember
|
Other |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Total |
(6)us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisGainLossIncludedInEarnings / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
25us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisGainLossIncludedInEarnings / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Total |
50bac_FairValueAssetsLiabilitesandNetDerivativeAssetLiabilityMeasuredonRecurringBasisChangeinUnrealizedGainLoss / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
34bac_FairValueAssetsLiabilitesandNetDerivativeAssetLiabilityMeasuredonRecurringBasisChangeinUnrealizedGainLoss / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Other | Corporate securities and other |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Total Realized and Unrealized Gains (losses) included in Earnings, Liabilities |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesandOtherMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesandOtherMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in Unrealized Gains (losses) relating to liabilities still held at reporting date |
0us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesandOtherMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
0us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByLiabilityClassAxis = bac_CorporateSecuritiesandOtherMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Other | Accrued expenses and other liabilities |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Total Realized and Unrealized Gains (losses) included in Earnings, Liabilities |
|
1us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings / us-gaap_FairValueByLiabilityClassAxis = bac_AccruedExpensesandOtherLiabilitiesMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in Unrealized Gains (losses) relating to liabilities still held at reporting date |
|
1us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByLiabilityClassAxis = bac_AccruedExpensesandOtherLiabilitiesMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Other | Short-term borrowings |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Total Realized and Unrealized Gains (losses) included in Earnings, Liabilities |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings / us-gaap_FairValueByLiabilityClassAxis = us-gaap_ShortTermDebtMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in Unrealized Gains (losses) relating to liabilities still held at reporting date |
0us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByLiabilityClassAxis = us-gaap_ShortTermDebtMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
|
Other | Long-term debt |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Total Realized and Unrealized Gains (losses) included in Earnings, Liabilities |
(54)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
(14)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in Unrealized Gains (losses) relating to liabilities still held at reporting date |
(54)us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
(14)us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByLiabilityClassAxis = us-gaap_LongTermDebtMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Other | Corporate securities, trading loans and other |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = bac_CorporateSecuritiesTradingLoansAndOtherMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Other | Equity securities |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_EquitySecuritiesMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Other | Non-U.S. sovereign debt |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_ForeignGovernmentDebtSecuritiesMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Other | Mortgage trading loans and ABS |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = bac_MortgageTradingLoansAndAssetBackedSecuritiesMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Other | Trading Securities |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_TradingAccountAssetsMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Other | Derivative assets |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
25us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_DerivativeFinancialInstrumentsAssetsMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
9us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_DerivativeFinancialInstrumentsAssetsMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
25us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_DerivativeFinancialInstrumentsAssetsMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
9us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_DerivativeFinancialInstrumentsAssetsMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Other | Other taxable securities |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
|
8us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_OtherTaxableSecuritiesMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Other | Tax-exempt securities |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
|
1us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_TaxExemptSecuritiesMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Other | Available-for-sale Securities |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
(19)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
9us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_AvailableforsaleSecuritiesMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Other | Loans and leases |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
12us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
32us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
26us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
28us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_LoansReceivableMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Other | Mortgage servicing rights |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
0us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
0us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_ServicingContractsMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Other | Loans held-for-sale |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
(1)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
12us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
(1)us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
4us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = bac_LoansHeldForSaleMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Other | Other assets |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
31us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
(24)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
54us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
6us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = us-gaap_OtherAssetsMember / us-gaap_IncomeStatementLocationAxis = us-gaap_OtherOperatingIncomeExpenseMember
|
Equity investments | Net derivative assets and other assets |
|
|
Level 3 Total Realized and Unrealized Gains (Losses) Related to Assets Included in Earnings |
|
|
Change in realized gains (losses) included in earnings |
20us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_NetDerivativeAssetsandOtherAssetsMember / us-gaap_IncomeStatementLocationAxis = bac_SegmentReconcilingItemsEquityInvestmentIncomeLossMember
|
(14)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1 / us-gaap_FairValueByAssetClassAxis = bac_NetDerivativeAssetsandOtherAssetsMember / us-gaap_IncomeStatementLocationAxis = bac_SegmentReconcilingItemsEquityInvestmentIncomeLossMember
|
Level 3 Changes in Unrealized Gains (Losses) Relating to Assets Still Held at Reporting Date |
|
|
Change in unrealized Gains (losses) relating to assets still held at reporting date |
$ 22us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = bac_NetDerivativeAssetsandOtherAssetsMember / us-gaap_IncomeStatementLocationAxis = bac_SegmentReconcilingItemsEquityInvestmentIncomeLossMember
|
$ 18us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss / us-gaap_FairValueByAssetClassAxis = bac_NetDerivativeAssetsandOtherAssetsMember / us-gaap_IncomeStatementLocationAxis = bac_SegmentReconcilingItemsEquityInvestmentIncomeLossMember
|