Derivatives - Gains and Losses on Fair Value Hedge (Details) - USD ($)
$ in Millions
12 Months Ended
Dec. 31, 2019
Dec. 31, 2018
Dec. 31, 2017
Derivative Instruments, Gain (Loss) [Line Items]      
Interest Income, Mortgage Loans $ 68,583 $ 66,037 $ 63,735
Interest Expense (61,047) (58,033) (53,643)
Other income (loss) 323 762 4,984
Interest rate risk on held-for-investment mortgage loan [Member] | Interest income      
Derivative Instruments, Gain (Loss) [Line Items]      
Change in Unrealized Gain (Loss) on Hedged Item in Fair Value Hedge 4,569 (1,776) (107)
Change in Unrealized Gain (Loss) on Fair Value Hedging Instruments (4,309) 1,091 313
Interest accrual on fair value hedging derivatives for held-for-investment loan (48) (439) (83)
Discontinued hedge related basis adjustment amortization (446) 133 (16)
Interest rate risk on held-for-investment mortgage loan [Member] | Other income (loss)      
Derivative Instruments, Gain (Loss) [Line Items]      
Change in Unrealized Gain (Loss) on Hedged Item in Fair Value Hedge     351
Change in Unrealized Gain (Loss) on Fair Value Hedging Instruments     (215)
Interest accrual on fair value hedging derivatives for held-for-investment loan     0
Discontinued hedge related basis adjustment amortization     0
Interest rate risk on held-for-investment mortgage loan [Member] | Gain (Loss) on Derivative Instruments [Member]      
Derivative Instruments, Gain (Loss) [Line Items]      
Interest accrual on fair value hedging derivatives for held-for-investment loan     (277)
Interest rate risk on debt [Member] [Member] | Interest expense      
Derivative Instruments, Gain (Loss) [Line Items]      
Change in Unrealized Gain (Loss) on Hedged Item in Fair Value Hedge (1,038) 145 93
Change in Unrealized Gain (Loss) on Fair Value Hedging Instruments 1,231 155 (53)
Discontinued hedge related basis adjustment amortization 63 (3) 0
Interest accruals on fair value hedging derivatives for debt $ (184) $ (313) $ 8