Accumulated Other Comprehensive Income (Loss) - Reclassifications Out of AOCI (Details) (USD $)
In Millions, unless otherwise specified |
12 Months Ended | ||
---|---|---|---|
Dec. 31, 2014
|
Dec. 31, 2013
|
Dec. 31, 2012
|
|
Reclassification Adjustment out of Accumulated Other Comprehensive Income [Line Items] | |||
Gains on sales of debt securities | $ 1,354us-gaap_MarketableSecuritiesRealizedGainLossExcludingOtherThanTemporaryImpairments | $ 1,271us-gaap_MarketableSecuritiesRealizedGainLossExcludingOtherThanTemporaryImpairments | $ 1,662us-gaap_MarketableSecuritiesRealizedGainLossExcludingOtherThanTemporaryImpairments |
Net interest income | 39,952us-gaap_InterestIncomeExpenseNet | 42,265us-gaap_InterestIncomeExpenseNet | 40,656us-gaap_InterestIncomeExpenseNet |
Trading account profits | 6,309us-gaap_TradingGainsLosses | 7,056us-gaap_TradingGainsLosses | 5,870us-gaap_TradingGainsLosses |
Other income (loss) | 1,203us-gaap_NoninterestIncomeOtherOperatingIncome | (49)us-gaap_NoninterestIncomeOtherOperatingIncome | (2,087)us-gaap_NoninterestIncomeOtherOperatingIncome |
Personnel | (33,787)us-gaap_LaborAndRelatedExpense | (34,719)us-gaap_LaborAndRelatedExpense | (35,648)us-gaap_LaborAndRelatedExpense |
Equity investment income | 1,130us-gaap_PrincipalInvestmentGainsLosses | 2,901us-gaap_PrincipalInvestmentGainsLosses | 2,070us-gaap_PrincipalInvestmentGainsLosses |
Income Before Income Taxes | 6,855us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest | 16,172us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest | 3,072us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest |
Income tax expense (benefit) | 2,022us-gaap_IncomeTaxExpenseBenefit | 4,741us-gaap_IncomeTaxExpenseBenefit | (1,116)us-gaap_IncomeTaxExpenseBenefit |
Net income | 4,833us-gaap_NetIncomeLoss | 11,431us-gaap_NetIncomeLoss | 4,188us-gaap_NetIncomeLoss |
Reclassification out of Accumulated Other Comprehensive Income | |||
Reclassification Adjustment out of Accumulated Other Comprehensive Income [Line Items] | |||
Net income |
315us-gaap_NetIncomeLoss / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember |
624us-gaap_NetIncomeLoss / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember |
67us-gaap_NetIncomeLoss / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember |
Reclassification out of Accumulated Other Comprehensive Income | Accumulated Net Unrealized Investment Gain (Loss) | Debt securities | |||
Reclassification Adjustment out of Accumulated Other Comprehensive Income [Line Items] | |||
Gains on sales of debt securities |
1,354us-gaap_MarketableSecuritiesRealizedGainLossExcludingOtherThanTemporaryImpairments / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_DebtSecuritiesMember / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember |
1,271us-gaap_MarketableSecuritiesRealizedGainLossExcludingOtherThanTemporaryImpairments / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_DebtSecuritiesMember / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember |
1,662us-gaap_MarketableSecuritiesRealizedGainLossExcludingOtherThanTemporaryImpairments / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_DebtSecuritiesMember / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember |
Other income (loss) |
(16)us-gaap_NoninterestIncomeOtherOperatingIncome / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_DebtSecuritiesMember / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember |
(20)us-gaap_NoninterestIncomeOtherOperatingIncome / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_DebtSecuritiesMember / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember |
(53)us-gaap_NoninterestIncomeOtherOperatingIncome / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_DebtSecuritiesMember / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember |
Income Before Income Taxes |
1,338us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_DebtSecuritiesMember / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember |
1,251us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_DebtSecuritiesMember / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember |
1,609us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_DebtSecuritiesMember / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember |
Income tax expense (benefit) |
508us-gaap_IncomeTaxExpenseBenefit / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_DebtSecuritiesMember / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember |
463us-gaap_IncomeTaxExpenseBenefit / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_DebtSecuritiesMember / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember |
595us-gaap_IncomeTaxExpenseBenefit / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_DebtSecuritiesMember / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember |
Net income |
830us-gaap_NetIncomeLoss / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_DebtSecuritiesMember / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember |
788us-gaap_NetIncomeLoss / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_DebtSecuritiesMember / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember |
1,014us-gaap_NetIncomeLoss / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_DebtSecuritiesMember / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember |
Reclassification out of Accumulated Other Comprehensive Income | Accumulated Net Unrealized Investment Gain (Loss) | Equity securities | |||
Reclassification Adjustment out of Accumulated Other Comprehensive Income [Line Items] | |||
Equity investment income |
0us-gaap_PrincipalInvestmentGainsLosses / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_EquitySecuritiesMember / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember |
771us-gaap_PrincipalInvestmentGainsLosses / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_EquitySecuritiesMember / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember |
19us-gaap_PrincipalInvestmentGainsLosses / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_EquitySecuritiesMember / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember |
Income Before Income Taxes |
0us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_EquitySecuritiesMember / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember |
771us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_EquitySecuritiesMember / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember |
19us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_EquitySecuritiesMember / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember |
Income tax expense (benefit) |
0us-gaap_IncomeTaxExpenseBenefit / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_EquitySecuritiesMember / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember |
285us-gaap_IncomeTaxExpenseBenefit / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_EquitySecuritiesMember / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember |
7us-gaap_IncomeTaxExpenseBenefit / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_EquitySecuritiesMember / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember |
Net income |
0us-gaap_NetIncomeLoss / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_EquitySecuritiesMember / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember |
486us-gaap_NetIncomeLoss / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_EquitySecuritiesMember / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember |
12us-gaap_NetIncomeLoss / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_EquitySecuritiesMember / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember |
Reclassification out of Accumulated Other Comprehensive Income | Accumulated Net Gain (Loss) from Designated or Qualifying Cash Flow Hedges | |||
Reclassification Adjustment out of Accumulated Other Comprehensive Income [Line Items] | |||
Income Before Income Taxes |
(760)us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember |
(773)us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember |
(1,035)us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember |
Income tax expense (benefit) |
(285)us-gaap_IncomeTaxExpenseBenefit / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember |
(286)us-gaap_IncomeTaxExpenseBenefit / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember |
(383)us-gaap_IncomeTaxExpenseBenefit / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember |
Net income |
(475)us-gaap_NetIncomeLoss / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember |
(487)us-gaap_NetIncomeLoss / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember |
(652)us-gaap_NetIncomeLoss / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember |
Reclassification out of Accumulated Other Comprehensive Income | Accumulated Net Gain (Loss) from Designated or Qualifying Cash Flow Hedges | Interest rate contracts | |||
Reclassification Adjustment out of Accumulated Other Comprehensive Income [Line Items] | |||
Net interest income |
(1,119)us-gaap_InterestIncomeExpenseNet / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember |
(1,119)us-gaap_InterestIncomeExpenseNet / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember |
(956)us-gaap_InterestIncomeExpenseNet / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember |
Other income (loss) |
0us-gaap_NoninterestIncomeOtherOperatingIncome / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember |
18us-gaap_NoninterestIncomeOtherOperatingIncome / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember |
0us-gaap_NoninterestIncomeOtherOperatingIncome / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_InterestRateContractMember / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember |
Reclassification out of Accumulated Other Comprehensive Income | Accumulated Net Gain (Loss) from Designated or Qualifying Cash Flow Hedges | Commodity contracts | |||
Reclassification Adjustment out of Accumulated Other Comprehensive Income [Line Items] | |||
Trading account profits |
0us-gaap_TradingGainsLosses / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember |
(1)us-gaap_TradingGainsLosses / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember |
(1)us-gaap_TradingGainsLosses / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_CommodityContractMember / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember |
Reclassification out of Accumulated Other Comprehensive Income | Accumulated Net Gain (Loss) from Designated or Qualifying Cash Flow Hedges | Equity contracts | |||
Reclassification Adjustment out of Accumulated Other Comprehensive Income [Line Items] | |||
Personnel |
359us-gaap_LaborAndRelatedExpense / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember |
329us-gaap_LaborAndRelatedExpense / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember |
(78)us-gaap_LaborAndRelatedExpense / us-gaap_DerivativeInstrumentRiskAxis = us-gaap_EquityContractMember / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember |
Reclassification out of Accumulated Other Comprehensive Income | Prior service cost | |||
Reclassification Adjustment out of Accumulated Other Comprehensive Income [Line Items] | |||
Personnel |
(5)us-gaap_LaborAndRelatedExpense / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedDefinedBenefitPlansAdjustmentNetPriorServiceCostCreditMember |
(4)us-gaap_LaborAndRelatedExpense / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedDefinedBenefitPlansAdjustmentNetPriorServiceCostCreditMember |
(6)us-gaap_LaborAndRelatedExpense / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedDefinedBenefitPlansAdjustmentNetPriorServiceCostCreditMember |
Reclassification out of Accumulated Other Comprehensive Income | Transition obligation | |||
Reclassification Adjustment out of Accumulated Other Comprehensive Income [Line Items] | |||
Personnel |
0us-gaap_LaborAndRelatedExpense / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedDefinedBenefitPlansAdjustmentNetTransitionAssetObligationMember |
0us-gaap_LaborAndRelatedExpense / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedDefinedBenefitPlansAdjustmentNetTransitionAssetObligationMember |
(32)us-gaap_LaborAndRelatedExpense / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedDefinedBenefitPlansAdjustmentNetTransitionAssetObligationMember |
Reclassification out of Accumulated Other Comprehensive Income | Net actuarial losses | |||
Reclassification Adjustment out of Accumulated Other Comprehensive Income [Line Items] | |||
Personnel |
(50)us-gaap_LaborAndRelatedExpense / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = bac_AccumulatedDefinedBenefitPlansAdjustmentsNetActuarialLossesMember |
(225)us-gaap_LaborAndRelatedExpense / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = bac_AccumulatedDefinedBenefitPlansAdjustmentsNetActuarialLossesMember |
(443)us-gaap_LaborAndRelatedExpense / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = bac_AccumulatedDefinedBenefitPlansAdjustmentsNetActuarialLossesMember |
Reclassification out of Accumulated Other Comprehensive Income | Settlements and curtailments | |||
Reclassification Adjustment out of Accumulated Other Comprehensive Income [Line Items] | |||
Personnel |
0us-gaap_LaborAndRelatedExpense / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = bac_AccumulatedDefinedBenefitPlansAdjustmentsSettlementsandCurtailmentsMember |
(8)us-gaap_LaborAndRelatedExpense / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = bac_AccumulatedDefinedBenefitPlansAdjustmentsSettlementsandCurtailmentsMember |
(58)us-gaap_LaborAndRelatedExpense / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = bac_AccumulatedDefinedBenefitPlansAdjustmentsSettlementsandCurtailmentsMember |
Reclassification out of Accumulated Other Comprehensive Income | Accumulated Defined Benefit Plans Adjustment | |||
Reclassification Adjustment out of Accumulated Other Comprehensive Income [Line Items] | |||
Income Before Income Taxes |
(55)us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember |
(237)us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember |
(539)us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember |
Income tax expense (benefit) |
(23)us-gaap_IncomeTaxExpenseBenefit / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember |
(79)us-gaap_IncomeTaxExpenseBenefit / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember |
(212)us-gaap_IncomeTaxExpenseBenefit / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember |
Net income |
(32)us-gaap_NetIncomeLoss / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember |
(158)us-gaap_NetIncomeLoss / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember |
(327)us-gaap_NetIncomeLoss / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember |
Reclassification out of Accumulated Other Comprehensive Income | Foreign currency | |||
Reclassification Adjustment out of Accumulated Other Comprehensive Income [Line Items] | |||
Other income (loss) |
(20)us-gaap_NoninterestIncomeOtherOperatingIncome / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember |
(138)us-gaap_NoninterestIncomeOtherOperatingIncome / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember |
30us-gaap_NoninterestIncomeOtherOperatingIncome / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember |
Income Before Income Taxes |
(20)us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember |
(138)us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember |
30us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember |
Income tax expense (benefit) |
(12)us-gaap_IncomeTaxExpenseBenefit / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember |
(133)us-gaap_IncomeTaxExpenseBenefit / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember |
10us-gaap_IncomeTaxExpenseBenefit / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember |
Net income |
$ (8)us-gaap_NetIncomeLoss / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember |
$ (5)us-gaap_NetIncomeLoss / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember |
$ 20us-gaap_NetIncomeLoss / us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis = us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember |
X | ||||||||||
- Definition
This element represents the income or loss from continuing operations attributable to the economic entity which may also be defined as revenue less expenses from ongoing operations, after income or loss from equity method investments, but before income taxes, extraordinary items, and noncontrolling interest. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
The net amount of operating interest income (expense). Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
The aggregate amount of expenditures for salaries, wages, profit sharing and incentive compensation, and other employee benefits, including equity-based compensation, and pension and other postretirement benefit expense. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
This item represents the total realized gain (loss) included in earnings for the period as a result of selling marketable securities categorized as trading, available-for-sale, or held-to-maturity. No definition available.
|
X | ||||||||||
- Definition
The portion of profit or loss for the period, net of income taxes, which is attributable to the parent. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
Represents other forms of revenue earned, excluding interest, which is not otherwise specified in the taxonomy. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Definition
Amount of realized and unrealized gain (loss), from the firm's direct investment activity, conducted separately from customer trading activities, and includes, but is not limited to, investments in private equity, alternative investment products, real estate, and exchanges and memberships. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Details
|
X | ||||||||||
- Definition
Amount of gain (loss) resulting from the difference between the acquisition price and the selling price or fair value of trading assets and trading liabilities, conducted separately from customer trading activities. Includes, but is not limited to, changes in fair value of trading assets and trading liabilities. Reference 1: http://www.xbrl.org/2003/role/presentationRef
|
X | ||||||||||
- Details
|