Derivatives - Sales and Trading Revenue (Details) (USD $) In Millions, unless otherwise specified
|
12 Months Ended |
Dec. 31, 2014
|
Dec. 31, 2013
|
Dec. 31, 2012
|
Trading Activity, Gains and Losses, Net [Line Items] |
|
|
|
Sales and Trading Revenue |
$ 6,309us-gaap_TradingGainsLosses
|
$ 7,056us-gaap_TradingGainsLosses
|
$ 5,870us-gaap_TradingGainsLosses
|
Brokerage commissions and asset management fee revenue | Global Markets |
|
|
|
Trading Activity, Gains and Losses, Net [Line Items] |
|
|
|
Sales and Trading Revenue |
2,200us-gaap_TradingGainsLosses / us-gaap_IncomeStatementLocationAxis = bac_BrokerageCommissionsAndAssetManagementFeeRevenueMember / us-gaap_StatementBusinessSegmentsAxis = bac_GlobalMarketsSegmentMember
|
2,000us-gaap_TradingGainsLosses / us-gaap_IncomeStatementLocationAxis = bac_BrokerageCommissionsAndAssetManagementFeeRevenueMember / us-gaap_StatementBusinessSegmentsAxis = bac_GlobalMarketsSegmentMember
|
1,800us-gaap_TradingGainsLosses / us-gaap_IncomeStatementLocationAxis = bac_BrokerageCommissionsAndAssetManagementFeeRevenueMember / us-gaap_StatementBusinessSegmentsAxis = bac_GlobalMarketsSegmentMember
|
Trading Securities |
|
|
|
Trading Activity, Gains and Losses, Net [Line Items] |
|
|
|
Sales and Trading Revenue |
12,740us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember
|
12,231us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember
|
6,492us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember
|
Trading Securities | Trading Account Profits |
|
|
|
Trading Activity, Gains and Losses, Net [Line Items] |
|
|
|
Sales and Trading Revenue |
5,997us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
6,734us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
5,706us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember
|
Trading Securities | Net Interest Income |
|
|
|
Trading Activity, Gains and Losses, Net [Line Items] |
|
|
|
Sales and Trading Revenue |
3,470us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_InterestIncomeExpenseMember
|
3,711us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_InterestIncomeExpenseMember
|
3,081us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_InterestIncomeExpenseMember
|
Trading Securities | Other |
|
|
|
Trading Activity, Gains and Losses, Net [Line Items] |
|
|
|
Sales and Trading Revenue |
3,273us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_OperatingIncomeLossandBrokerageCommissionsandAssetManagementFeeRevenueMember
|
1,786us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_OperatingIncomeLossandBrokerageCommissionsandAssetManagementFeeRevenueMember
|
(2,295)us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_OperatingIncomeLossandBrokerageCommissionsandAssetManagementFeeRevenueMember
|
Trading Securities | Interest rate risk |
|
|
|
Trading Activity, Gains and Losses, Net [Line Items] |
|
|
|
Sales and Trading Revenue |
2,484us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_TradingActivityByTypeAxis = bac_IncomeInterestRateMember
|
1,891us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_TradingActivityByTypeAxis = bac_IncomeInterestRateMember
|
(1,840)us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_TradingActivityByTypeAxis = bac_IncomeInterestRateMember
|
Trading Securities | Interest rate risk | Trading Account Profits |
|
|
|
Trading Activity, Gains and Losses, Net [Line Items] |
|
|
|
Sales and Trading Revenue |
952us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember / us-gaap_TradingActivityByTypeAxis = bac_IncomeInterestRateMember
|
1,120us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember / us-gaap_TradingActivityByTypeAxis = bac_IncomeInterestRateMember
|
(2,875)us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember / us-gaap_TradingActivityByTypeAxis = bac_IncomeInterestRateMember
|
Trading Securities | Interest rate risk | Net Interest Income |
|
|
|
Trading Activity, Gains and Losses, Net [Line Items] |
|
|
|
Sales and Trading Revenue |
1,169us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_InterestIncomeExpenseMember / us-gaap_TradingActivityByTypeAxis = bac_IncomeInterestRateMember
|
1,104us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_InterestIncomeExpenseMember / us-gaap_TradingActivityByTypeAxis = bac_IncomeInterestRateMember
|
1,039us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_InterestIncomeExpenseMember / us-gaap_TradingActivityByTypeAxis = bac_IncomeInterestRateMember
|
Trading Securities | Interest rate risk | Other |
|
|
|
Trading Activity, Gains and Losses, Net [Line Items] |
|
|
|
Sales and Trading Revenue |
363us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_OperatingIncomeLossandBrokerageCommissionsandAssetManagementFeeRevenueMember / us-gaap_TradingActivityByTypeAxis = bac_IncomeInterestRateMember
|
(333)us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_OperatingIncomeLossandBrokerageCommissionsandAssetManagementFeeRevenueMember / us-gaap_TradingActivityByTypeAxis = bac_IncomeInterestRateMember
|
(4)us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_OperatingIncomeLossandBrokerageCommissionsandAssetManagementFeeRevenueMember / us-gaap_TradingActivityByTypeAxis = bac_IncomeInterestRateMember
|
Trading Securities | Foreign exchange risk |
|
|
|
Trading Activity, Gains and Losses, Net [Line Items] |
|
|
|
Sales and Trading Revenue |
1,057us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_TradingActivityByTypeAxis = us-gaap_ForeignExchangeMember
|
1,072us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_TradingActivityByTypeAxis = us-gaap_ForeignExchangeMember
|
919us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_TradingActivityByTypeAxis = us-gaap_ForeignExchangeMember
|
Trading Securities | Foreign exchange risk | Trading Account Profits |
|
|
|
Trading Activity, Gains and Losses, Net [Line Items] |
|
|
|
Sales and Trading Revenue |
1,177us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember / us-gaap_TradingActivityByTypeAxis = us-gaap_ForeignExchangeMember
|
1,170us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember / us-gaap_TradingActivityByTypeAxis = us-gaap_ForeignExchangeMember
|
909us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember / us-gaap_TradingActivityByTypeAxis = us-gaap_ForeignExchangeMember
|
Trading Securities | Foreign exchange risk | Net Interest Income |
|
|
|
Trading Activity, Gains and Losses, Net [Line Items] |
|
|
|
Sales and Trading Revenue |
8us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_InterestIncomeExpenseMember / us-gaap_TradingActivityByTypeAxis = us-gaap_ForeignExchangeMember
|
5us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_InterestIncomeExpenseMember / us-gaap_TradingActivityByTypeAxis = us-gaap_ForeignExchangeMember
|
5us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_InterestIncomeExpenseMember / us-gaap_TradingActivityByTypeAxis = us-gaap_ForeignExchangeMember
|
Trading Securities | Foreign exchange risk | Other |
|
|
|
Trading Activity, Gains and Losses, Net [Line Items] |
|
|
|
Sales and Trading Revenue |
(128)us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_OperatingIncomeLossandBrokerageCommissionsandAssetManagementFeeRevenueMember / us-gaap_TradingActivityByTypeAxis = us-gaap_ForeignExchangeMember
|
(103)us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_OperatingIncomeLossandBrokerageCommissionsandAssetManagementFeeRevenueMember / us-gaap_TradingActivityByTypeAxis = us-gaap_ForeignExchangeMember
|
5us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_OperatingIncomeLossandBrokerageCommissionsandAssetManagementFeeRevenueMember / us-gaap_TradingActivityByTypeAxis = us-gaap_ForeignExchangeMember
|
Trading Securities | Equity risk |
|
|
|
Trading Activity, Gains and Losses, Net [Line Items] |
|
|
|
Sales and Trading Revenue |
4,202us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_TradingActivityByTypeAxis = us-gaap_EquityMember
|
4,180us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_TradingActivityByTypeAxis = us-gaap_EquityMember
|
2,093us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_TradingActivityByTypeAxis = us-gaap_EquityMember
|
Trading Securities | Equity risk | Trading Account Profits |
|
|
|
Trading Activity, Gains and Losses, Net [Line Items] |
|
|
|
Sales and Trading Revenue |
1,954us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember / us-gaap_TradingActivityByTypeAxis = us-gaap_EquityMember
|
1,994us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember / us-gaap_TradingActivityByTypeAxis = us-gaap_EquityMember
|
259us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember / us-gaap_TradingActivityByTypeAxis = us-gaap_EquityMember
|
Trading Securities | Equity risk | Net Interest Income |
|
|
|
Trading Activity, Gains and Losses, Net [Line Items] |
|
|
|
Sales and Trading Revenue |
(70)us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_InterestIncomeExpenseMember / us-gaap_TradingActivityByTypeAxis = us-gaap_EquityMember
|
111us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_InterestIncomeExpenseMember / us-gaap_TradingActivityByTypeAxis = us-gaap_EquityMember
|
(57)us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_InterestIncomeExpenseMember / us-gaap_TradingActivityByTypeAxis = us-gaap_EquityMember
|
Trading Securities | Equity risk | Other |
|
|
|
Trading Activity, Gains and Losses, Net [Line Items] |
|
|
|
Sales and Trading Revenue |
2,318us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_OperatingIncomeLossandBrokerageCommissionsandAssetManagementFeeRevenueMember / us-gaap_TradingActivityByTypeAxis = us-gaap_EquityMember
|
2,075us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_OperatingIncomeLossandBrokerageCommissionsandAssetManagementFeeRevenueMember / us-gaap_TradingActivityByTypeAxis = us-gaap_EquityMember
|
1,891us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_OperatingIncomeLossandBrokerageCommissionsandAssetManagementFeeRevenueMember / us-gaap_TradingActivityByTypeAxis = us-gaap_EquityMember
|
Trading Securities | Credit risk |
|
|
|
Trading Activity, Gains and Losses, Net [Line Items] |
|
|
|
Sales and Trading Revenue |
4,706us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_TradingActivityByTypeAxis = us-gaap_CreditMember
|
4,871us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_TradingActivityByTypeAxis = us-gaap_CreditMember
|
5,796us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_TradingActivityByTypeAxis = us-gaap_CreditMember
|
Trading Securities | Credit risk | Trading Account Profits |
|
|
|
Trading Activity, Gains and Losses, Net [Line Items] |
|
|
|
Sales and Trading Revenue |
1,410us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember / us-gaap_TradingActivityByTypeAxis = us-gaap_CreditMember
|
2,083us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember / us-gaap_TradingActivityByTypeAxis = us-gaap_CreditMember
|
2,514us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember / us-gaap_TradingActivityByTypeAxis = us-gaap_CreditMember
|
Trading Securities | Credit risk | Net Interest Income |
|
|
|
Trading Activity, Gains and Losses, Net [Line Items] |
|
|
|
Sales and Trading Revenue |
2,682us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_InterestIncomeExpenseMember / us-gaap_TradingActivityByTypeAxis = us-gaap_CreditMember
|
2,710us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_InterestIncomeExpenseMember / us-gaap_TradingActivityByTypeAxis = us-gaap_CreditMember
|
2,321us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_InterestIncomeExpenseMember / us-gaap_TradingActivityByTypeAxis = us-gaap_CreditMember
|
Trading Securities | Credit risk | Other |
|
|
|
Trading Activity, Gains and Losses, Net [Line Items] |
|
|
|
Sales and Trading Revenue |
614us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_OperatingIncomeLossandBrokerageCommissionsandAssetManagementFeeRevenueMember / us-gaap_TradingActivityByTypeAxis = us-gaap_CreditMember
|
78us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_OperatingIncomeLossandBrokerageCommissionsandAssetManagementFeeRevenueMember / us-gaap_TradingActivityByTypeAxis = us-gaap_CreditMember
|
961us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_OperatingIncomeLossandBrokerageCommissionsandAssetManagementFeeRevenueMember / us-gaap_TradingActivityByTypeAxis = us-gaap_CreditMember
|
Trading Securities | Other risk |
|
|
|
Trading Activity, Gains and Losses, Net [Line Items] |
|
|
|
Sales and Trading Revenue |
291us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_TradingActivityByTypeAxis = us-gaap_OtherTradingMember
|
217us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_TradingActivityByTypeAxis = us-gaap_OtherTradingMember
|
(476)us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_TradingActivityByTypeAxis = us-gaap_OtherTradingMember
|
Trading Securities | Other risk | Trading Account Profits |
|
|
|
Trading Activity, Gains and Losses, Net [Line Items] |
|
|
|
Sales and Trading Revenue |
504us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember / us-gaap_TradingActivityByTypeAxis = us-gaap_OtherTradingMember
|
367us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember / us-gaap_TradingActivityByTypeAxis = us-gaap_OtherTradingMember
|
4,899us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember / us-gaap_TradingActivityByTypeAxis = us-gaap_OtherTradingMember
|
Trading Securities | Other risk | Net Interest Income |
|
|
|
Trading Activity, Gains and Losses, Net [Line Items] |
|
|
|
Sales and Trading Revenue |
(319)us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_InterestIncomeExpenseMember / us-gaap_TradingActivityByTypeAxis = us-gaap_OtherTradingMember
|
(219)us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_InterestIncomeExpenseMember / us-gaap_TradingActivityByTypeAxis = us-gaap_OtherTradingMember
|
(227)us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_InterestIncomeExpenseMember / us-gaap_TradingActivityByTypeAxis = us-gaap_OtherTradingMember
|
Trading Securities | Other risk | Other |
|
|
|
Trading Activity, Gains and Losses, Net [Line Items] |
|
|
|
Sales and Trading Revenue |
$ 106us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_OperatingIncomeLossandBrokerageCommissionsandAssetManagementFeeRevenueMember / us-gaap_TradingActivityByTypeAxis = us-gaap_OtherTradingMember
|
$ 69us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_OperatingIncomeLossandBrokerageCommissionsandAssetManagementFeeRevenueMember / us-gaap_TradingActivityByTypeAxis = us-gaap_OtherTradingMember
|
$ (5,148)us-gaap_TradingGainsLosses / us-gaap_DerivativeByNatureAxis = bac_TradingDerivativesMember / us-gaap_IncomeStatementLocationAxis = bac_OperatingIncomeLossandBrokerageCommissionsandAssetManagementFeeRevenueMember / us-gaap_TradingActivityByTypeAxis = us-gaap_OtherTradingMember
|