|
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
|