Annual report pursuant to Section 13 and 15(d)

Derivatives - Sales and Trading Revenue (Details)

v2.4.1.9
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