Quarterly report pursuant to Section 13 or 15(d)

Derivatives - Sales and Trading Revenue (Details)

v2.4.1.9
Derivatives - Sales and Trading Revenue (Details) (USD $)
In Millions, unless otherwise specified
3 Months Ended
Mar. 31, 2015
Mar. 31, 2014
Trading Activity, Gains and Losses, Net [Line Items]    
Sales and Trading Revenue $ 2,247us-gaap_TradingGainsLosses $ 2,467us-gaap_TradingGainsLosses
Brokerage commissions and asset management fee revenue | Global Markets    
Trading Activity, Gains and Losses, Net [Line Items]    
Sales and Trading Revenue 562us-gaap_TradingGainsLosses
/ us-gaap_IncomeStatementLocationAxis
= bac_BrokerageCommissionsAndAssetManagementFeeRevenueMember
/ us-gaap_StatementBusinessSegmentsAxis
= bac_GlobalMarketsSegmentMember
561us-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 3,867us-gaap_TradingGainsLosses
/ us-gaap_DerivativeByNatureAxis
= bac_TradingDerivativesMember
4,177us-gaap_TradingGainsLosses
/ us-gaap_DerivativeByNatureAxis
= bac_TradingDerivativesMember
Trading Securities | Trading Account Profits    
Trading Activity, Gains and Losses, Net [Line Items]    
Sales and Trading Revenue 2,127us-gaap_TradingGainsLosses
/ us-gaap_DerivativeByNatureAxis
= bac_TradingDerivativesMember
/ us-gaap_IncomeStatementLocationAxis
= bac_TradingGainLossMember
2,367us-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 882us-gaap_TradingGainsLosses
/ us-gaap_DerivativeByNatureAxis
= bac_TradingDerivativesMember
/ us-gaap_IncomeStatementLocationAxis
= bac_InterestIncomeExpenseMember
876us-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 858us-gaap_TradingGainsLosses
/ us-gaap_DerivativeByNatureAxis
= bac_TradingDerivativesMember
/ us-gaap_IncomeStatementLocationAxis
= bac_OperatingIncomeLossandBrokerageCommissionsandAssetManagementFeeRevenueMember
934us-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 905us-gaap_TradingGainsLosses
/ us-gaap_DerivativeByNatureAxis
= bac_TradingDerivativesMember
/ us-gaap_TradingActivityByTypeAxis
= bac_IncomeInterestRateMember
786us-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 510us-gaap_TradingGainsLosses
/ us-gaap_DerivativeByNatureAxis
= bac_TradingDerivativesMember
/ us-gaap_IncomeStatementLocationAxis
= bac_TradingGainLossMember
/ us-gaap_TradingActivityByTypeAxis
= bac_IncomeInterestRateMember
369us-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 306us-gaap_TradingGainsLosses
/ us-gaap_DerivativeByNatureAxis
= bac_TradingDerivativesMember
/ us-gaap_IncomeStatementLocationAxis
= bac_InterestIncomeExpenseMember
/ us-gaap_TradingActivityByTypeAxis
= bac_IncomeInterestRateMember
279us-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 89us-gaap_TradingGainsLosses
/ us-gaap_DerivativeByNatureAxis
= bac_TradingDerivativesMember
/ us-gaap_IncomeStatementLocationAxis
= bac_OperatingIncomeLossandBrokerageCommissionsandAssetManagementFeeRevenueMember
/ us-gaap_TradingActivityByTypeAxis
= bac_IncomeInterestRateMember
138us-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 413us-gaap_TradingGainsLosses
/ us-gaap_DerivativeByNatureAxis
= bac_TradingDerivativesMember
/ us-gaap_TradingActivityByTypeAxis
= us-gaap_ForeignExchangeMember
209us-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 446us-gaap_TradingGainsLosses
/ us-gaap_DerivativeByNatureAxis
= bac_TradingDerivativesMember
/ us-gaap_IncomeStatementLocationAxis
= bac_TradingGainLossMember
/ us-gaap_TradingActivityByTypeAxis
= us-gaap_ForeignExchangeMember
237us-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 (2)us-gaap_TradingGainsLosses
/ us-gaap_DerivativeByNatureAxis
= bac_TradingDerivativesMember
/ us-gaap_IncomeStatementLocationAxis
= bac_InterestIncomeExpenseMember
/ us-gaap_TradingActivityByTypeAxis
= us-gaap_ForeignExchangeMember
2us-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 (31)us-gaap_TradingGainsLosses
/ us-gaap_DerivativeByNatureAxis
= bac_TradingDerivativesMember
/ us-gaap_IncomeStatementLocationAxis
= bac_OperatingIncomeLossandBrokerageCommissionsandAssetManagementFeeRevenueMember
/ us-gaap_TradingActivityByTypeAxis
= us-gaap_ForeignExchangeMember
(30)us-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 1,160us-gaap_TradingGainsLosses
/ us-gaap_DerivativeByNatureAxis
= bac_TradingDerivativesMember
/ us-gaap_TradingActivityByTypeAxis
= us-gaap_EquityMember
1,191us-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 570us-gaap_TradingGainsLosses
/ us-gaap_DerivativeByNatureAxis
= bac_TradingDerivativesMember
/ us-gaap_IncomeStatementLocationAxis
= bac_TradingGainLossMember
/ us-gaap_TradingActivityByTypeAxis
= us-gaap_EquityMember
601us-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 13us-gaap_TradingGainsLosses
/ us-gaap_DerivativeByNatureAxis
= bac_TradingDerivativesMember
/ us-gaap_IncomeStatementLocationAxis
= bac_InterestIncomeExpenseMember
/ us-gaap_TradingActivityByTypeAxis
= us-gaap_EquityMember
(14)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 577us-gaap_TradingGainsLosses
/ us-gaap_DerivativeByNatureAxis
= bac_TradingDerivativesMember
/ us-gaap_IncomeStatementLocationAxis
= bac_OperatingIncomeLossandBrokerageCommissionsandAssetManagementFeeRevenueMember
/ us-gaap_TradingActivityByTypeAxis
= us-gaap_EquityMember
604us-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 1,198us-gaap_TradingGainsLosses
/ us-gaap_DerivativeByNatureAxis
= bac_TradingDerivativesMember
/ us-gaap_TradingActivityByTypeAxis
= us-gaap_CreditMember
1,881us-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 444us-gaap_TradingGainsLosses
/ us-gaap_DerivativeByNatureAxis
= bac_TradingDerivativesMember
/ us-gaap_IncomeStatementLocationAxis
= bac_TradingGainLossMember
/ us-gaap_TradingActivityByTypeAxis
= us-gaap_CreditMember
1,027us-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 587us-gaap_TradingGainsLosses
/ us-gaap_DerivativeByNatureAxis
= bac_TradingDerivativesMember
/ us-gaap_IncomeStatementLocationAxis
= bac_InterestIncomeExpenseMember
/ us-gaap_TradingActivityByTypeAxis
= us-gaap_CreditMember
699us-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 167us-gaap_TradingGainsLosses
/ us-gaap_DerivativeByNatureAxis
= bac_TradingDerivativesMember
/ us-gaap_IncomeStatementLocationAxis
= bac_OperatingIncomeLossandBrokerageCommissionsandAssetManagementFeeRevenueMember
/ us-gaap_TradingActivityByTypeAxis
= us-gaap_CreditMember
155us-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 191us-gaap_TradingGainsLosses
/ us-gaap_DerivativeByNatureAxis
= bac_TradingDerivativesMember
/ us-gaap_TradingActivityByTypeAxis
= us-gaap_OtherTradingMember
110us-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 157us-gaap_TradingGainsLosses
/ us-gaap_DerivativeByNatureAxis
= bac_TradingDerivativesMember
/ us-gaap_IncomeStatementLocationAxis
= bac_TradingGainLossMember
/ us-gaap_TradingActivityByTypeAxis
= us-gaap_OtherTradingMember
133us-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 (22)us-gaap_TradingGainsLosses
/ us-gaap_DerivativeByNatureAxis
= bac_TradingDerivativesMember
/ us-gaap_IncomeStatementLocationAxis
= bac_InterestIncomeExpenseMember
/ us-gaap_TradingActivityByTypeAxis
= us-gaap_OtherTradingMember
(90)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 $ 56us-gaap_TradingGainsLosses
/ us-gaap_DerivativeByNatureAxis
= bac_TradingDerivativesMember
/ us-gaap_IncomeStatementLocationAxis
= bac_OperatingIncomeLossandBrokerageCommissionsandAssetManagementFeeRevenueMember
/ us-gaap_TradingActivityByTypeAxis
= us-gaap_OtherTradingMember
$ 67us-gaap_TradingGainsLosses
/ us-gaap_DerivativeByNatureAxis
= bac_TradingDerivativesMember
/ us-gaap_IncomeStatementLocationAxis
= bac_OperatingIncomeLossandBrokerageCommissionsandAssetManagementFeeRevenueMember
/ us-gaap_TradingActivityByTypeAxis
= us-gaap_OtherTradingMember