Derivatives - Derivative Balances (Details) (USD $)
|
Mar. 31, 2015
|
Dec. 31, 2014
|
Notional Amount of Derivatives, [Abstract] |
|
|
Contract/Notional |
$ 1,094,252,000,000invest_DerivativeNotionalAmount
|
$ 1,134,132,000,000invest_DerivativeNotionalAmount
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
966,000,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement
|
984,800,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement
|
Less: Legally enforceable master netting agreements |
(852,000,000,000)us-gaap_DerivativeAssetFairValueGrossLiability
|
(884,800,000,000)us-gaap_DerivativeAssetFairValueGrossLiability
|
Less: Cash collateral received/paid |
(52,700,000,000)us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset
|
(47,300,000,000)us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset
|
Derivative assets |
61,331,000,000us-gaap_DerivativeAssets
|
52,682,000,000us-gaap_DerivativeAssets
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
960,000,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement
|
981,800,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement
|
Less: Legally enforceable master netting agreements |
(852,000,000,000)us-gaap_DerivativeLiabilityFairValueGrossAsset
|
(884,800,000,000)us-gaap_DerivativeLiabilityFairValueGrossAsset
|
Less: Cash collateral received/paid |
(55,800,000,000)us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset
|
(50,100,000,000)us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset
|
Derivative liabilities |
52,234,000,000us-gaap_DerivativeLiabilities
|
46,909,000,000us-gaap_DerivativeLiabilities
|
Interest rate contracts | Swaps |
|
|
Notional Amount of Derivatives, [Abstract] |
|
|
Contract/Notional |
22,171,700,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember
|
29,445,400,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
630,600,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember
|
667,000,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
617,100,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember
|
658,700,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,511,900,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember
|
10,159,400,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
2,400,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember
|
1,700,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
2,800,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember
|
2,000,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,680,500,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_PositionAxis = us-gaap_ShortMember
|
1,725,200,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 |
93,900,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_PositionAxis = us-gaap_ShortMember
|
85,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,678,300,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_PositionAxis = us-gaap_LongMember
|
1,739,800,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 |
93,900,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_PositionAxis = us-gaap_LongMember
|
85,600,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 contracts | Swaps |
|
|
Notional Amount of Derivatives, [Abstract] |
|
|
Contract/Notional |
2,135,200,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember
|
2,159,100,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
56,500,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember
|
52,300,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
63,200,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember
|
56,500,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember
|
Foreign exchange contracts | Spot, futures and forwards |
|
|
Notional Amount of Derivatives, [Abstract] |
|
|
Contract/Notional |
4,379,500,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = bac_SpotFuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember
|
4,226,400,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = bac_SpotFuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
78,400,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_SpotFuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember
|
70,400,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_SpotFuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
78,400,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_SpotFuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember
|
72,600,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_SpotFuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember
|
Foreign exchange contracts | Options | Written options |
|
|
Notional Amount of Derivatives, [Abstract] |
|
|
Contract/Notional |
643,900,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_PositionAxis = us-gaap_ShortMember
|
600,700,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 |
17,800,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_PositionAxis = us-gaap_ShortMember
|
16,000,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_PositionAxis = us-gaap_ShortMember
|
Foreign exchange contracts | Options | Purchased options |
|
|
Notional Amount of Derivatives, [Abstract] |
|
|
Contract/Notional |
633,000,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_PositionAxis = us-gaap_LongMember
|
584,600,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 |
17,100,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_PositionAxis = us-gaap_LongMember
|
15,100,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 |
191,800,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember
|
193,700,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
3,400,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember
|
3,200,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
3,900,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember
|
4,000,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 |
71,800,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember
|
69,500,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
1,800,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember
|
2,100,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
2,200,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember
|
1,800,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 |
367,900,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_PositionAxis = us-gaap_ShortMember
|
341,000,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 |
27,800,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_PositionAxis = us-gaap_ShortMember
|
26,000,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 |
342,400,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_PositionAxis = us-gaap_LongMember
|
318,400,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 |
29,100,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_PositionAxis = us-gaap_LongMember
|
27,900,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 |
67,000,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember
|
74,300,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
4,800,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember
|
5,800,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
8,300,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember
|
8,500,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 |
416,100,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember
|
376,500,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
4,000,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember
|
4,500,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
1,100,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember
|
1,800,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 |
106,800,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_PositionAxis = us-gaap_ShortMember
|
129,500,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 |
9,400,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_PositionAxis = us-gaap_ShortMember
|
11,500,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 |
122,000,000,000invest_DerivativeNotionalAmount / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_PositionAxis = us-gaap_LongMember
|
141,300,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 |
8,900,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_OptionMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_PositionAxis = us-gaap_LongMember
|
10,700,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 |
9,900,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember
|
12,207,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember
|
Credit derivatives | Swaps | Purchased credit derivatives |
|
|
Notional Amount of Derivatives, [Abstract] |
|
|
Contract/Notional |
1,054,700,000,000invest_DerivativeNotionalAmount / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapBuyingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember
|
1,094,800,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 |
10,900,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapBuyingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember
|
13,300,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,000,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapBuyingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember
|
23,400,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,032,418,000,000invest_DerivativeNotionalAmount / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember
|
1,073,101,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 |
23,900,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember
|
24,500,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 |
9,584,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember
|
11,870,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 |
43,800,000,000invest_DerivativeNotionalAmount / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapBuyingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember
|
44,300,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
|
200,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,200,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapBuyingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember
|
1,400,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,834,000,000invest_DerivativeNotionalAmount / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember
|
61,031,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 |
100,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember
|
500,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 |
316,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_CreditDerivativesByContractTypeAxis = us-gaap_CreditDefaultSwapSellingProtectionMember / us-gaap_DerivativeByNatureAxis = us-gaap_OtherCreditDerivativesMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CreditRiskContractMember
|
337,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 |
954,500,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
974,000,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
956,100,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
979,200,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 |
621,300,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
658,500,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 |
616,000,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
658,200,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 |
2,400,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
1,700,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,800,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
2,000,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 |
93,900,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
|
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
|
Trading and Other Risk Management Derivatives | Interest rate contracts | Options | Purchased options |
|
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
93,900,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
|
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
|
Trading and Other Risk Management Derivatives | Foreign exchange contracts | Swaps |
|
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
55,800,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
51,500,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 |
60,600,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
54,600,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 contracts | Spot, futures and forwards |
|
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
76,900,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_SpotFuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
68,900,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 |
78,200,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_SpotFuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
72,400,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 contracts | Options | Written options |
|
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
17,800,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
|
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
|
Trading and Other Risk Management Derivatives | Foreign exchange contracts | Options | Purchased options |
|
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
17,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
|
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
|
Trading and Other Risk Management Derivatives | Equity contracts | Swaps |
|
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
3,400,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
3,200,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 |
3,900,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
4,000,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 |
1,800,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
2,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 |
2,200,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
1,800,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 |
27,800,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
|
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
|
Trading and Other Risk Management Derivatives | Equity contracts | Options | Purchased options |
|
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
29,100,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
|
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
|
Trading and Other Risk Management Derivatives | Commodity contracts | Swaps |
|
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
4,800,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
5,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,300,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
8,500,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,000,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
4,500,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,100,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_HedgingDesignationAxis = us-gaap_NondesignatedMember
|
1,800,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 |
9,400,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
|
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
|
Trading and Other Risk Management Derivatives | Commodity contracts | Options | Purchased options |
|
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
8,900,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
|
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
|
Trading and Other Risk Management Derivatives | Credit derivatives | Swaps | Purchased credit derivatives |
|
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
10,900,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
|
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
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
23,000,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
|
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
|
Trading and Other Risk Management Derivatives | Credit derivatives | Swaps | Written credit derivatives |
|
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
23,900,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
|
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
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
9,600,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
|
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
|
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
|
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
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
1,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
|
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
|
Trading and Other Risk Management Derivatives | Credit derivatives | Total return swaps/other | Written credit derivatives |
|
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
100,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
|
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
|
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
|
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
|
Qualifying Accounting Hedges |
|
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
11,500,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_HedgingDesignationAxis = us-gaap_DesignatedAsHedgingInstrumentMember
|
10,800,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_HedgingDesignationAxis = us-gaap_DesignatedAsHedgingInstrumentMember
|
Derivative Liabilities [Abstract] |
|
|
Gross Derivative Liabilities |
3,900,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_HedgingDesignationAxis = us-gaap_DesignatedAsHedgingInstrumentMember
|
2,600,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_HedgingDesignationAxis = us-gaap_DesignatedAsHedgingInstrumentMember
|
Qualifying Accounting Hedges | Interest rate contracts | Swaps |
|
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
9,300,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_HedgingDesignationAxis = us-gaap_DesignatedAsHedgingInstrumentMember
|
8,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 |
1,100,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_HedgingDesignationAxis = us-gaap_DesignatedAsHedgingInstrumentMember
|
500,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 contracts | Swaps |
|
|
Derivative Assets [Abstract] |
|
|
Gross Derivative Assets |
700,000,000us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_HedgingDesignationAxis = us-gaap_DesignatedAsHedgingInstrumentMember
|
800,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 |
2,600,000,000us-gaap_DerivativeLiabilityFairValueGrossLiabilityIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = us-gaap_SwapMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_ForeignExchangeContractMember / us-gaap_HedgingDesignationAxis = us-gaap_DesignatedAsHedgingInstrumentMember
|
1,900,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 contracts | 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
|
1,500,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
|
200,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
|
$ 0us-gaap_DerivativeAssetFairValueGrossAssetIncludingNotSubjectToMasterNettingArrangement / us-gaap_DerivativeByNatureAxis = bac_FuturesAndForwardsMember / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_HedgingDesignationAxis = us-gaap_DesignatedAsHedgingInstrumentMember
|