Annual report pursuant to Section 13 and 15(d)

Derivatives - Economic Hedges (Details)

v2.4.1.9
Derivatives - Economic Hedges (Details) (USD $)
In Millions, unless otherwise specified
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Other      
Derivative Instruments, Gain (Loss) [Line Items]      
Gain (loss) on derivatives not designated as hedging $ (9)us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OtherContractMember
$ (19)us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OtherContractMember
$ 58us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OtherContractMember
Interest rate lock commitments      
Derivative Instruments, Gain (Loss) [Line Items]      
Gain (loss) on derivatives not designated as hedging 776us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateLockCommitmentsMember
927us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateLockCommitmentsMember
3,000us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateLockCommitmentsMember
Mortgage banking income | Interest rate risk on mortgage banking income      
Derivative Instruments, Gain (Loss) [Line Items]      
Gain (loss) on derivatives not designated as hedging 1,017us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
/ us-gaap_DerivativeInstrumentRiskAxis
= bac_InterestRateRiskonMortgageBankingIncomeMember
/ us-gaap_IncomeStatementLocationAxis
= bac_FeesandCommissionsMortgageBankingMember
(619)us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
/ us-gaap_DerivativeInstrumentRiskAxis
= bac_InterestRateRiskonMortgageBankingIncomeMember
/ us-gaap_IncomeStatementLocationAxis
= bac_FeesandCommissionsMortgageBankingMember
1,324us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
/ us-gaap_DerivativeInstrumentRiskAxis
= bac_InterestRateRiskonMortgageBankingIncomeMember
/ us-gaap_IncomeStatementLocationAxis
= bac_FeesandCommissionsMortgageBankingMember
Other income | Credit risk on loans      
Derivative Instruments, Gain (Loss) [Line Items]      
Gain (loss) on derivatives not designated as hedging 16us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
/ us-gaap_DerivativeInstrumentRiskAxis
= bac_CreditRiskonLoansMember
/ us-gaap_IncomeStatementLocationAxis
= bac_NoninterestIncomeOtherOperatingIncomeMember
(47)us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
/ us-gaap_DerivativeInstrumentRiskAxis
= bac_CreditRiskonLoansMember
/ us-gaap_IncomeStatementLocationAxis
= bac_NoninterestIncomeOtherOperatingIncomeMember
(95)us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
/ us-gaap_DerivativeInstrumentRiskAxis
= bac_CreditRiskonLoansMember
/ us-gaap_IncomeStatementLocationAxis
= bac_NoninterestIncomeOtherOperatingIncomeMember
Other income | Interest rate and foreign currency risk on ALM activities      
Derivative Instruments, Gain (Loss) [Line Items]      
Gain (loss) on derivatives not designated as hedging (3,683)us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
/ us-gaap_DerivativeInstrumentRiskAxis
= bac_InterestRateandForeignCurrencyRiskonAssetLiabilityManagementActivitiesMember
/ us-gaap_IncomeStatementLocationAxis
= bac_NoninterestIncomeOtherOperatingIncomeMember
2,501us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
/ us-gaap_DerivativeInstrumentRiskAxis
= bac_InterestRateandForeignCurrencyRiskonAssetLiabilityManagementActivitiesMember
/ us-gaap_IncomeStatementLocationAxis
= bac_NoninterestIncomeOtherOperatingIncomeMember
424us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
/ us-gaap_DerivativeInstrumentRiskAxis
= bac_InterestRateandForeignCurrencyRiskonAssetLiabilityManagementActivitiesMember
/ us-gaap_IncomeStatementLocationAxis
= bac_NoninterestIncomeOtherOperatingIncomeMember
Personnel expense | Price risk on restricted stock awards      
Derivative Instruments, Gain (Loss) [Line Items]      
Gain (loss) on derivatives not designated as hedging $ 600us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
/ us-gaap_DerivativeInstrumentRiskAxis
= bac_PriceRiskonRestrictedStockAwardsMember
/ us-gaap_IncomeStatementLocationAxis
= bac_LaborandRelatedExpenseMember
$ 865us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
/ us-gaap_DerivativeInstrumentRiskAxis
= bac_PriceRiskonRestrictedStockAwardsMember
/ us-gaap_IncomeStatementLocationAxis
= bac_LaborandRelatedExpenseMember
$ 1,008us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
/ us-gaap_DerivativeInstrumentRiskAxis
= bac_PriceRiskonRestrictedStockAwardsMember
/ us-gaap_IncomeStatementLocationAxis
= bac_LaborandRelatedExpenseMember