Derivatives - Derivatives Designated as Accounting Hedges - Fair Value Hedges (Details) (USD $)
In Millions, unless otherwise specified |
12 Months Ended | ||
---|---|---|---|
Dec. 31, 2014
|
Dec. 31, 2013
|
Dec. 31, 2012
|
|
Effect of Fair Value Hedges on Results of Operations [Abstract] | |||
Derivative | $ (82)us-gaap_GainLossOnFairValueHedgesRecognizedInEarnings | $ (5,169)us-gaap_GainLossOnFairValueHedgesRecognizedInEarnings | $ (1,687)us-gaap_GainLossOnFairValueHedgesRecognizedInEarnings |
Hedged Item | (827)us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1 | 4,181us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1 | 552us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1 |
Hedge Ineffectiveness | (909)us-gaap_GainLossOnFairValueHedgeIneffectivenessNet | (988)us-gaap_GainLossOnFairValueHedgeIneffectivenessNet | (1,135)us-gaap_GainLossOnFairValueHedgeIneffectivenessNet |
Interest rate risk on long-term debt | Interest expense | |||
Effect of Fair Value Hedges on Results of Operations [Abstract] | |||
Derivative |
2,144us-gaap_GainLossOnFairValueHedgesRecognizedInEarnings / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateRiskOnLongTernDebtMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestExpenseMember |
(4,704)us-gaap_GainLossOnFairValueHedgesRecognizedInEarnings / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateRiskOnLongTernDebtMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestExpenseMember |
(195)us-gaap_GainLossOnFairValueHedgesRecognizedInEarnings / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateRiskOnLongTernDebtMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestExpenseMember |
Hedged Item |
(2,935)us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1 / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateRiskOnLongTernDebtMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestExpenseMember |
3,925us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1 / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateRiskOnLongTernDebtMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestExpenseMember |
(770)us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1 / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateRiskOnLongTernDebtMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestExpenseMember |
Hedge Ineffectiveness |
(791)us-gaap_GainLossOnFairValueHedgeIneffectivenessNet / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateRiskOnLongTernDebtMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestExpenseMember |
(779)us-gaap_GainLossOnFairValueHedgeIneffectivenessNet / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateRiskOnLongTernDebtMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestExpenseMember |
(965)us-gaap_GainLossOnFairValueHedgeIneffectivenessNet / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateRiskOnLongTernDebtMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestExpenseMember |
Interest rate and foreign currency risk on long-term debt | Interest expense | |||
Effect of Fair Value Hedges on Results of Operations [Abstract] | |||
Derivative |
(2,212)us-gaap_GainLossOnFairValueHedgesRecognizedInEarnings / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateAndForeignCurrencyRiskOnLongTermDebtMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestExpenseMember |
(1,291)us-gaap_GainLossOnFairValueHedgesRecognizedInEarnings / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateAndForeignCurrencyRiskOnLongTermDebtMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestExpenseMember |
(1,482)us-gaap_GainLossOnFairValueHedgesRecognizedInEarnings / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateAndForeignCurrencyRiskOnLongTermDebtMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestExpenseMember |
Hedged Item |
2,120us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1 / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateAndForeignCurrencyRiskOnLongTermDebtMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestExpenseMember |
1,085us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1 / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateAndForeignCurrencyRiskOnLongTermDebtMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestExpenseMember |
1,225us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1 / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateAndForeignCurrencyRiskOnLongTermDebtMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestExpenseMember |
Hedge Ineffectiveness |
(92)us-gaap_GainLossOnFairValueHedgeIneffectivenessNet / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateAndForeignCurrencyRiskOnLongTermDebtMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestExpenseMember |
(206)us-gaap_GainLossOnFairValueHedgeIneffectivenessNet / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateAndForeignCurrencyRiskOnLongTermDebtMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestExpenseMember |
(257)us-gaap_GainLossOnFairValueHedgeIneffectivenessNet / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateAndForeignCurrencyRiskOnLongTermDebtMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestExpenseMember |
Interest rate risk on AFS securities | Interest income | |||
Effect of Fair Value Hedges on Results of Operations [Abstract] | |||
Derivative |
(35)us-gaap_GainLossOnFairValueHedgesRecognizedInEarnings / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateRiskOnAvailableForSaleSecuritiesMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestIncomeMember |
839us-gaap_GainLossOnFairValueHedgesRecognizedInEarnings / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateRiskOnAvailableForSaleSecuritiesMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestIncomeMember |
(4)us-gaap_GainLossOnFairValueHedgesRecognizedInEarnings / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateRiskOnAvailableForSaleSecuritiesMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestIncomeMember |
Hedged Item |
3us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1 / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateRiskOnAvailableForSaleSecuritiesMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestIncomeMember |
(840)us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1 / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateRiskOnAvailableForSaleSecuritiesMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestIncomeMember |
91us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1 / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateRiskOnAvailableForSaleSecuritiesMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestIncomeMember |
Hedge Ineffectiveness |
(32)us-gaap_GainLossOnFairValueHedgeIneffectivenessNet / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateRiskOnAvailableForSaleSecuritiesMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestIncomeMember |
(1)us-gaap_GainLossOnFairValueHedgeIneffectivenessNet / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateRiskOnAvailableForSaleSecuritiesMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestIncomeMember |
87us-gaap_GainLossOnFairValueHedgeIneffectivenessNet / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateRiskOnAvailableForSaleSecuritiesMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestIncomeMember |
Price risk on commodity inventory | Trading gain (loss) | |||
Effect of Fair Value Hedges on Results of Operations [Abstract] | |||
Derivative |
21us-gaap_GainLossOnFairValueHedgesRecognizedInEarnings / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember |
(13)us-gaap_GainLossOnFairValueHedgesRecognizedInEarnings / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember |
(6)us-gaap_GainLossOnFairValueHedgesRecognizedInEarnings / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember |
Hedged Item |
(15)us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1 / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember |
11us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1 / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember |
6us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1 / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember |
Hedge Ineffectiveness |
$ 6us-gaap_GainLossOnFairValueHedgeIneffectivenessNet / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember |
$ (2)us-gaap_GainLossOnFairValueHedgeIneffectivenessNet / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember |
X | ||||||||||
- Definition
Amount of the increase (decrease) in fair value of the hedged item in a fair value hedge recognized in the income statement. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Details
|
X | ||||||||||
- Definition
Amount of gain (loss)recognized in the income statement from the hedging ineffectiveness of a fair value hedge. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
Total amount of gain (loss) derived from fair value hedges recognized in earnings in the period. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Details
|
X | ||||||||||
- Details
|
X | ||||||||||
- Details
|
X | ||||||||||
- Details
|