Derivatives - Derivative Balances (Details) (USD $)
|
Dec. 31, 2014
|
Dec. 31, 2013
|
Notional Amount of Derivatives, [Abstract] |
|
|
Contract/Notional |
$ 1,134,132,000,000invest_DerivativeNotionalAmount
|
$ 1,328,787,000,000invest_DerivativeNotionalAmount
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
984,800,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement
|
920,300,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement
|
Less: Legally enforceable master netting agreements |
(884,800,000,000)us-gaap_DerivativeAssetFairValueGrossLiability
|
(825,500,000,000)us-gaap_DerivativeAssetFairValueGrossLiability
|
Less: Cash collateral received/paid |
(47,300,000,000)us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset
|
(47,300,000,000)us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset
|
Derivative assets |
52,682,000,000us-gaap_DerivativeAssets
|
47,495,000,000us-gaap_DerivativeAssets
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
981,800,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement
|
906,400,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement
|
Less: Legally enforceable master netting agreements |
(884,800,000,000)us-gaap_DerivativeLiabilityFairValueGrossAsset
|
(825,500,000,000)us-gaap_DerivativeLiabilityFairValueGrossAsset
|
Less: Cash collateral received/paid |
(50,100,000,000)us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset
|
(43,500,000,000)us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset
|
Derivative liabilities |
46,909,000,000us-gaap_DerivativeLiabilities
|
37,407,000,000us-gaap_DerivativeLiabilities
|
Interest rate contracts | Swaps |
|
|
Notional Amount of Derivatives, [Abstract] |
|
|
Contract/Notional |
29,445,400,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember
|
33,272,000,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
667,000,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember
|
667,400,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
658,700,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember
|
659,300,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember
|
Interest rate contracts | Futures and forwards |
|
|
Notional Amount of Derivatives, [Abstract] |
|
|
Contract/Notional |
10,159,400,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember
|
8,217,600,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
1,700,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember
|
1,600,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
2,000,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember
|
1,500,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember
|
Interest rate contracts | Options | Written options |
|
|
Notional Amount of Derivatives, [Abstract] |
|
|
Contract/Notional |
1,725,200,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_PositionAxis = us-gaap_ShortMember
|
2,065,400,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_PositionAxis = us-gaap_ShortMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
85,400,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_PositionAxis = us-gaap_ShortMember
|
64,400,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_PositionAxis = us-gaap_ShortMember
|
Interest rate contracts | Options | Purchased options |
|
|
Notional Amount of Derivatives, [Abstract] |
|
|
Contract/Notional |
1,739,800,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_PositionAxis = us-gaap_LongMember
|
2,028,300,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_PositionAxis = us-gaap_LongMember
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
85,600,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_PositionAxis = us-gaap_LongMember
|
65,400,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_PositionAxis = us-gaap_LongMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
0us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_PositionAxis = us-gaap_LongMember
|
0us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_PositionAxis = us-gaap_LongMember
|
Foreign exchange risk | Swaps |
|
|
Notional Amount of Derivatives, [Abstract] |
|
|
Contract/Notional |
2,159,100,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember
|
2,284,100,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
52,300,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember
|
44,100,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
56,500,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember
|
43,700,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember
|
Foreign exchange risk | Spot, futures and forwards |
|
|
Notional Amount of Derivatives, [Abstract] |
|
|
Contract/Notional |
4,226,400,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = bac_SpotFuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember
|
2,922,500,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = bac_SpotFuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
70,400,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_SpotFuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember
|
33,200,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_SpotFuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
72,600,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_SpotFuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember
|
34,600,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_SpotFuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember
|
Foreign exchange risk | Options | Written options |
|
|
Notional Amount of Derivatives, [Abstract] |
|
|
Contract/Notional |
600,700,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_PositionAxis = us-gaap_ShortMember
|
412,400,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_PositionAxis = us-gaap_ShortMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
16,000,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_PositionAxis = us-gaap_ShortMember
|
9,200,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_PositionAxis = us-gaap_ShortMember
|
Foreign exchange risk | Options | Purchased options |
|
|
Notional Amount of Derivatives, [Abstract] |
|
|
Contract/Notional |
584,600,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_PositionAxis = us-gaap_LongMember
|
392,400,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_PositionAxis = us-gaap_LongMember
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
15,100,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_PositionAxis = us-gaap_LongMember
|
8,800,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_PositionAxis = us-gaap_LongMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
0us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_PositionAxis = us-gaap_LongMember
|
0us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_PositionAxis = us-gaap_LongMember
|
Equity contracts | Swaps |
|
|
Notional Amount of Derivatives, [Abstract] |
|
|
Contract/Notional |
193,700,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember
|
162,000,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
3,200,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember
|
3,600,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
4,000,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember
|
4,200,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember
|
Equity contracts | Futures and forwards |
|
|
Notional Amount of Derivatives, [Abstract] |
|
|
Contract/Notional |
69,500,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember
|
71,400,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
2,100,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember
|
1,100,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
1,800,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember
|
1,400,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember
|
Equity contracts | Options | Written options |
|
|
Notional Amount of Derivatives, [Abstract] |
|
|
Contract/Notional |
341,000,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_PositionAxis = us-gaap_ShortMember
|
315,600,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_PositionAxis = us-gaap_ShortMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
26,000,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_PositionAxis = us-gaap_ShortMember
|
29,600,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_PositionAxis = us-gaap_ShortMember
|
Equity contracts | Options | Purchased options |
|
|
Notional Amount of Derivatives, [Abstract] |
|
|
Contract/Notional |
318,400,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_PositionAxis = us-gaap_LongMember
|
266,700,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_PositionAxis = us-gaap_LongMember
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
27,900,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_PositionAxis = us-gaap_LongMember
|
30,400,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_PositionAxis = us-gaap_LongMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
0us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_PositionAxis = us-gaap_LongMember
|
0us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_PositionAxis = us-gaap_LongMember
|
Commodity contracts | Swaps |
|
|
Notional Amount of Derivatives, [Abstract] |
|
|
Contract/Notional |
74,300,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember
|
73,100,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
5,800,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember
|
3,800,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
8,500,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember
|
5,700,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember
|
Commodity contracts | Futures and forwards |
|
|
Notional Amount of Derivatives, [Abstract] |
|
|
Contract/Notional |
376,500,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember
|
454,400,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
4,500,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember
|
4,700,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
1,800,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember
|
2,500,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember
|
Commodity contracts | Options | Written options |
|
|
Notional Amount of Derivatives, [Abstract] |
|
|
Contract/Notional |
129,500,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_PositionAxis = us-gaap_ShortMember
|
157,300,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_PositionAxis = us-gaap_ShortMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
11,500,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_PositionAxis = us-gaap_ShortMember
|
5,000,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_PositionAxis = us-gaap_ShortMember
|
Commodity contracts | Options | Purchased options |
|
|
Notional Amount of Derivatives, [Abstract] |
|
|
Contract/Notional |
141,300,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_PositionAxis = us-gaap_LongMember
|
164,000,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_PositionAxis = us-gaap_LongMember
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
10,700,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_PositionAxis = us-gaap_LongMember
|
5,200,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_PositionAxis = us-gaap_LongMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
0us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_PositionAxis = us-gaap_LongMember
|
0us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_PositionAxis = us-gaap_LongMember
|
Credit derivatives |
|
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
12,207,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember
|
13,991,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember
|
Credit derivatives | Swaps | Purchased credit derivatives |
|
|
Notional Amount of Derivatives, [Abstract] |
|
|
Contract/Notional |
1,094,800,000,000invest_DerivativeNotionalAmount / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapBuyingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember
|
1,305,100,000,000invest_DerivativeNotionalAmount / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapBuyingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
13,300,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapBuyingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember
|
15,700,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapBuyingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
23,400,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapBuyingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember
|
28,100,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapBuyingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember
|
Credit derivatives | Swaps | Written credit derivatives |
|
|
Notional Amount of Derivatives, [Abstract] |
|
|
Contract/Notional |
1,073,101,000,000invest_DerivativeNotionalAmount / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember
|
1,265,380,000,000invest_DerivativeNotionalAmount / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
24,500,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember
|
29,300,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
11,870,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember
|
13,814,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember
|
Credit derivatives | Total return swaps/other | Purchased credit derivatives |
|
|
Notional Amount of Derivatives, [Abstract] |
|
|
Contract/Notional |
44,300,000,000invest_DerivativeNotionalAmount / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapBuyingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember
|
38,100,000,000invest_DerivativeNotionalAmount / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapBuyingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
200,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapBuyingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember
|
2,000,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapBuyingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
1,400,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapBuyingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember
|
3,200,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapBuyingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember
|
Credit derivatives | Total return swaps/other | Written credit derivatives |
|
|
Notional Amount of Derivatives, [Abstract] |
|
|
Contract/Notional |
61,031,000,000invest_DerivativeNotionalAmount / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember
|
63,407,000,000invest_DerivativeNotionalAmount / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
500,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember
|
4,000,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
337,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember
|
177,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember
|
Trading and Other Risk Management Derivatives |
|
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
974,000,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
911,100,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
979,200,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
903,400,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
Trading and Other Risk Management Derivatives | Interest rate contracts | Swaps |
|
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
658,500,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
659,900,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
658,200,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
658,400,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
Trading and Other Risk Management Derivatives | Interest rate contracts | Futures and forwards |
|
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
1,700,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
1,600,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
2,000,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
1,500,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
Trading and Other Risk Management Derivatives | Interest rate contracts | Options | Written options |
|
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
85,400,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember / us-gaap_PositionAxis = us-gaap_ShortMember
|
64,400,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember / us-gaap_PositionAxis = us-gaap_ShortMember
|
Trading and Other Risk Management Derivatives | Interest rate contracts | Options | Purchased options |
|
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
85,600,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember / us-gaap_PositionAxis = us-gaap_LongMember
|
65,400,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember / us-gaap_PositionAxis = us-gaap_LongMember
|
Trading and Other Risk Management Derivatives | Foreign exchange risk | Swaps |
|
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
51,500,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
43,100,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
54,600,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
42,700,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
Trading and Other Risk Management Derivatives | Foreign exchange risk | Spot, futures and forwards |
|
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
68,900,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_SpotFuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
32,500,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_SpotFuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
72,400,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_SpotFuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
33,500,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_SpotFuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
Trading and Other Risk Management Derivatives | Foreign exchange risk | Options | Written options |
|
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
16,000,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember / us-gaap_PositionAxis = us-gaap_ShortMember
|
9,200,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember / us-gaap_PositionAxis = us-gaap_ShortMember
|
Trading and Other Risk Management Derivatives | Foreign exchange risk | Options | Purchased options |
|
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
15,100,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember / us-gaap_PositionAxis = us-gaap_LongMember
|
8,800,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember / us-gaap_PositionAxis = us-gaap_LongMember
|
Trading and Other Risk Management Derivatives | Equity contracts | Swaps |
|
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
3,200,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
3,600,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
4,000,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
4,200,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
Trading and Other Risk Management Derivatives | Equity contracts | Futures and forwards |
|
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
2,100,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
1,100,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
1,800,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
1,400,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
Trading and Other Risk Management Derivatives | Equity contracts | Options | Written options |
|
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
26,000,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember / us-gaap_PositionAxis = us-gaap_ShortMember
|
29,600,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember / us-gaap_PositionAxis = us-gaap_ShortMember
|
Trading and Other Risk Management Derivatives | Equity contracts | Options | Purchased options |
|
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
27,900,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember / us-gaap_PositionAxis = us-gaap_LongMember
|
30,400,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember / us-gaap_PositionAxis = us-gaap_LongMember
|
Trading and Other Risk Management Derivatives | Commodity contracts | Swaps |
|
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
5,800,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
3,800,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
8,500,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
5,700,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
Trading and Other Risk Management Derivatives | Commodity contracts | Futures and forwards |
|
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
4,500,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
4,700,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
1,800,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
2,500,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
Trading and Other Risk Management Derivatives | Commodity contracts | Options | Written options |
|
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
11,500,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember / us-gaap_PositionAxis = us-gaap_ShortMember
|
5,000,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember / us-gaap_PositionAxis = us-gaap_ShortMember
|
Trading and Other Risk Management Derivatives | Commodity contracts | Options | Purchased options |
|
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
10,700,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember / us-gaap_PositionAxis = us-gaap_LongMember
|
5,200,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember / us-gaap_PositionAxis = us-gaap_LongMember
|
Trading and Other Risk Management Derivatives | Credit derivatives | Swaps | Purchased credit derivatives |
|
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
13,300,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapBuyingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
15,700,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapBuyingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
23,400,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapBuyingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
28,100,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapBuyingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
Trading and Other Risk Management Derivatives | Credit derivatives | Swaps | Written credit derivatives |
|
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
24,500,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
29,300,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
11,900,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
13,800,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
Trading and Other Risk Management Derivatives | Credit derivatives | Total return swaps/other | Purchased credit derivatives |
|
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
200,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapBuyingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
2,000,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapBuyingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
1,400,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapBuyingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
3,200,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapBuyingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
Trading and Other Risk Management Derivatives | Credit derivatives | Total return swaps/other | Written credit derivatives |
|
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
500,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
4,000,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
300,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
200,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
Qualifying Accounting Hedges |
|
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
10,800,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_HedgingDesignationAxis = us-gaap_DesignatedAsHedgingInstrumentMember
|
9,200,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_HedgingDesignationAxis = us-gaap_DesignatedAsHedgingInstrumentMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
2,600,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_HedgingDesignationAxis = us-gaap_DesignatedAsHedgingInstrumentMember
|
3,000,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_HedgingDesignationAxis = us-gaap_DesignatedAsHedgingInstrumentMember
|
Qualifying Accounting Hedges | Interest rate contracts | Swaps |
|
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
8,500,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_HedgingDesignationAxis = us-gaap_DesignatedAsHedgingInstrumentMember
|
7,500,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_HedgingDesignationAxis = us-gaap_DesignatedAsHedgingInstrumentMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
500,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_HedgingDesignationAxis = us-gaap_DesignatedAsHedgingInstrumentMember
|
900,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_HedgingDesignationAxis = us-gaap_DesignatedAsHedgingInstrumentMember
|
Qualifying Accounting Hedges | Interest rate contracts | Futures and forwards |
|
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
0us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_HedgingDesignationAxis = us-gaap_DesignatedAsHedgingInstrumentMember
|
0us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_HedgingDesignationAxis = us-gaap_DesignatedAsHedgingInstrumentMember
|
Qualifying Accounting Hedges | Foreign exchange risk | Swaps |
|
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
800,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_HedgingDesignationAxis = us-gaap_DesignatedAsHedgingInstrumentMember
|
1,000,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_HedgingDesignationAxis = us-gaap_DesignatedAsHedgingInstrumentMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
1,900,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_HedgingDesignationAxis = us-gaap_DesignatedAsHedgingInstrumentMember
|
1,000,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_HedgingDesignationAxis = us-gaap_DesignatedAsHedgingInstrumentMember
|
Qualifying Accounting Hedges | Foreign exchange risk | Spot, futures and forwards |
|
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
1,500,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_SpotFuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_HedgingDesignationAxis = us-gaap_DesignatedAsHedgingInstrumentMember
|
700,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_SpotFuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_HedgingDesignationAxis = us-gaap_DesignatedAsHedgingInstrumentMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
200,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_SpotFuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_HedgingDesignationAxis = us-gaap_DesignatedAsHedgingInstrumentMember
|
1,100,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_SpotFuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_HedgingDesignationAxis = us-gaap_DesignatedAsHedgingInstrumentMember
|
Qualifying Accounting Hedges | Commodity contracts | Swaps |
|
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
0us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_HedgingDesignationAxis = us-gaap_DesignatedAsHedgingInstrumentMember
|
0us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_HedgingDesignationAxis = us-gaap_DesignatedAsHedgingInstrumentMember
|
Qualifying Accounting Hedges | Commodity contracts | Futures and forwards |
|
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
$ 0us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_HedgingDesignationAxis = us-gaap_DesignatedAsHedgingInstrumentMember
|
|