Derivatives - Derivatives Designated as Accounting Hedges - Fair Value Hedges (Details) (USD $)
In Millions, unless otherwise specified |
3 Months Ended | |
---|---|---|
Mar. 31, 2015
|
Mar. 31, 2014
|
|
Effect of Fair Value Hedges on Results of Operations [Abstract] | ||
Derivative | $ (494)us-gaap_GainLossOnFairValueHedgesRecognizedInEarnings | $ 488us-gaap_GainLossOnFairValueHedgesRecognizedInEarnings |
Hedged Item | 244us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1 | (702)us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1 |
Hedge Ineffectiveness | (250)us-gaap_GainLossOnFairValueHedgeIneffectivenessNet | (214)us-gaap_GainLossOnFairValueHedgeIneffectivenessNet |
Interest rate risk on long-term debt | Interest expense | ||
Effect of Fair Value Hedges on Results of Operations [Abstract] | ||
Derivative |
1,096us-gaap_GainLossOnFairValueHedgesRecognizedInEarnings / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateRiskOnLongTernDebtMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestExpenseMember |
366us-gaap_GainLossOnFairValueHedgesRecognizedInEarnings / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateRiskOnLongTernDebtMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestExpenseMember |
Hedged Item |
(1,292)us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1 / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateRiskOnLongTernDebtMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestExpenseMember |
(560)us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1 / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateRiskOnLongTernDebtMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestExpenseMember |
Hedge Ineffectiveness |
(196)us-gaap_GainLossOnFairValueHedgeIneffectivenessNet / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateRiskOnLongTernDebtMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestExpenseMember |
(194)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 |
(1,644)us-gaap_GainLossOnFairValueHedgesRecognizedInEarnings / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateAndForeignCurrencyRiskOnLongTermDebtMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestExpenseMember |
118us-gaap_GainLossOnFairValueHedgesRecognizedInEarnings / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateAndForeignCurrencyRiskOnLongTermDebtMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestExpenseMember |
Hedged Item |
1,588us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1 / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateAndForeignCurrencyRiskOnLongTermDebtMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestExpenseMember |
(144)us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1 / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateAndForeignCurrencyRiskOnLongTermDebtMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestExpenseMember |
Hedge Ineffectiveness |
(56)us-gaap_GainLossOnFairValueHedgeIneffectivenessNet / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateAndForeignCurrencyRiskOnLongTermDebtMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestExpenseMember |
(26)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 |
43us-gaap_GainLossOnFairValueHedgesRecognizedInEarnings / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateRiskOnAvailableForSaleSecuritiesMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestIncomeMember |
2us-gaap_GainLossOnFairValueHedgesRecognizedInEarnings / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateRiskOnAvailableForSaleSecuritiesMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestIncomeMember |
Hedged Item |
(45)us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1 / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateRiskOnAvailableForSaleSecuritiesMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestIncomeMember |
(3)us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1 / us-gaap_DerivativeInstrumentRiskAxis = bac_InterestRateRiskOnAvailableForSaleSecuritiesMember / us-gaap_IncomeStatementLocationAxis = us-gaap_InterestIncomeMember |
Hedge Ineffectiveness |
(2)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 |
Price risk on commodity inventory | Trading gain (loss) | ||
Effect of Fair Value Hedges on Results of Operations [Abstract] | ||
Derivative |
11us-gaap_GainLossOnFairValueHedgesRecognizedInEarnings / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember |
2us-gaap_GainLossOnFairValueHedgesRecognizedInEarnings / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember |
Hedged Item |
(7)us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1 / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember |
5us-gaap_ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1 / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember |
Hedge Ineffectiveness |
$ 4us-gaap_GainLossOnFairValueHedgeIneffectivenessNet / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_IncomeStatementLocationAxis = bac_TradingGainLossMember |
$ 7us-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
|