Annual report pursuant to Section 13 and 15(d)

Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (Details)

v2.4.1.9
Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (Details) (USD $)
In Thousands, unless otherwise specified
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Notional Disclosures [Abstract]      
Derivative, Notional Amount $ 48,115,523invest_DerivativeNotionalAmount $ 37,366,610invest_DerivativeNotionalAmount $ 22,377,656invest_DerivativeNotionalAmount
Derivative Financial Instruments, Assets [Member]      
Derivative, Fair Value, Net [Abstract]      
Derivative, Fair Value, Net 380,791us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
549,859us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
 
Notional Disclosures [Abstract]      
Derivative, Notional Amount 36,315,523invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
30,383,908invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
 
Derivative Financial Instruments, Liabilities [Member]      
Derivative, Fair Value, Net [Abstract]      
Derivative, Fair Value, Net (90,233)us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
(22,081)us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
 
Notional Disclosures [Abstract]      
Derivative, Notional Amount 16,200,000invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
10,876,702invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
 
Inverse Interest-Only Securities [Member]      
Notional Disclosures [Abstract]      
Derivative, Notional Amount 1,168,226invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= two_InverseInterestOnlySecuritiesMember
1,525,845invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= two_InverseInterestOnlySecuritiesMember
1,909,351invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= two_InverseInterestOnlySecuritiesMember
Inverse Interest-Only Securities [Member] | Derivative Financial Instruments, Assets [Member]      
Derivative, Fair Value, Net [Abstract]      
Derivative, Fair Value, Net 188,592us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= two_InverseInterestOnlySecuritiesMember
221,364us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= two_InverseInterestOnlySecuritiesMember
 
Notional Disclosures [Abstract]      
Derivative, Notional Amount 1,168,226invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= two_InverseInterestOnlySecuritiesMember
1,525,845invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= two_InverseInterestOnlySecuritiesMember
 
Inverse Interest-Only Securities [Member] | Derivative Financial Instruments, Liabilities [Member]      
Derivative, Fair Value, Net [Abstract]      
Derivative, Fair Value, Net 0us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= two_InverseInterestOnlySecuritiesMember
0us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= two_InverseInterestOnlySecuritiesMember
 
Notional Disclosures [Abstract]      
Derivative, Notional Amount 0invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= two_InverseInterestOnlySecuritiesMember
0invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= two_InverseInterestOnlySecuritiesMember
 
Interest Rate Swap [Member]      
Notional Disclosures [Abstract]      
Derivative, Notional Amount 18,584,000invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
19,619,000invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
14,070,000invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
Interest Rate Swap [Member] | Derivative Financial Instruments, Assets [Member]      
Derivative, Fair Value, Net [Abstract]      
Derivative, Fair Value, Net 55,471us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
25,325us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
 
Notional Disclosures [Abstract]      
Derivative, Notional Amount 9,569,000invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
19,619,000invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
 
Interest Rate Swap [Member] | Derivative Financial Instruments, Liabilities [Member]      
Derivative, Fair Value, Net [Abstract]      
Derivative, Fair Value, Net (65,392)us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
0us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
 
Notional Disclosures [Abstract]      
Derivative, Notional Amount 9,015,000invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
0invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
 
Credit Default Swap [Member]      
Notional Disclosures [Abstract]      
Derivative, Notional Amount 125,000invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditDefaultSwapMember
427,073invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditDefaultSwapMember
438,440invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditDefaultSwapMember
Credit Default Swap [Member] | Derivative Financial Instruments, Assets [Member]      
Derivative, Fair Value, Net [Abstract]      
Derivative, Fair Value, Net 0us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditDefaultSwapMember
0us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditDefaultSwapMember
 
Notional Disclosures [Abstract]      
Derivative, Notional Amount 0invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditDefaultSwapMember
0invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditDefaultSwapMember
 
Credit Default Swap [Member] | Derivative Financial Instruments, Liabilities [Member]      
Derivative, Fair Value, Net [Abstract]      
Derivative, Fair Value, Net (1,672)us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditDefaultSwapMember
(18,049)us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditDefaultSwapMember
 
Notional Disclosures [Abstract]      
Derivative, Notional Amount 125,000invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditDefaultSwapMember
427,073invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditDefaultSwapMember
 
Interest Rate Swaption [Member]      
Notional Disclosures [Abstract]      
Derivative, Notional Amount 12,410,000invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwaptionMember
5,130,000invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwaptionMember
4,950,000invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwaptionMember
Interest Rate Swaption [Member] | Derivative Financial Instruments, Assets [Member]      
Derivative, Fair Value, Net [Abstract]      
Derivative, Fair Value, Net 121,591us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwaptionMember
269,745us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwaptionMember
 
Notional Disclosures [Abstract]      
Derivative, Notional Amount 9,550,000invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwaptionMember
5,130,000invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwaptionMember
 
Interest Rate Swaption [Member] | Derivative Financial Instruments, Liabilities [Member]      
Derivative, Fair Value, Net [Abstract]      
Derivative, Fair Value, Net (4,999)us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwaptionMember
0us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwaptionMember
 
Notional Disclosures [Abstract]      
Derivative, Notional Amount 2,860,000invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwaptionMember
0invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwaptionMember
 
Forward Contracts [Member]      
Notional Disclosures [Abstract]      
Derivative, Notional Amount 1,325,000invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForwardContractsMember
603,000invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForwardContractsMember
953,000invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForwardContractsMember
Forward Contracts [Member] | Derivative Financial Instruments, Assets [Member]      
Derivative, Fair Value, Net [Abstract]      
Derivative, Fair Value, Net 10,350us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForwardContractsMember
33,425us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForwardContractsMember
 
Notional Disclosures [Abstract]      
Derivative, Notional Amount 875,000invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForwardContractsMember
4,097,000invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForwardContractsMember
 
Forward Contracts [Member] | Derivative Financial Instruments, Liabilities [Member]      
Derivative, Fair Value, Net [Abstract]      
Derivative, Fair Value, Net (17,687)us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForwardContractsMember
(125)us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForwardContractsMember
 
Notional Disclosures [Abstract]      
Derivative, Notional Amount 2,200,000invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForwardContractsMember
400,000invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForwardContractsMember
 
Options Held [Member]      
Notional Disclosures [Abstract]      
Derivative, Notional Amount 2,000,000invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OptionMember
0invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OptionMember
0invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OptionMember
Options Held [Member] | Derivative Financial Instruments, Assets [Member]      
Derivative, Fair Value, Net [Abstract]      
Derivative, Fair Value, Net 90us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OptionMember
   
Notional Disclosures [Abstract]      
Derivative, Notional Amount 2,000,000invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OptionMember
   
Options Held [Member] | Derivative Financial Instruments, Liabilities [Member]      
Derivative, Fair Value, Net [Abstract]      
Derivative, Fair Value, Net 0us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OptionMember
   
Notional Disclosures [Abstract]      
Derivative, Notional Amount 0invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OptionMember
   
Swap [Member]      
Derivative, Fair Value, Net [Abstract]      
Derivative, Fair Value, Net   (3,773)us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
 
Notional Disclosures [Abstract]      
Derivative, Notional Amount 14,000,000invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
10,000,000invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
0invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
Swap [Member] | Derivative Financial Instruments, Assets [Member]      
Derivative, Fair Value, Net [Abstract]      
Derivative, Fair Value, Net 2,013us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
0us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
 
Notional Disclosures [Abstract]      
Derivative, Notional Amount 12,000,000invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
0invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
 
Swap [Member] | Derivative Financial Instruments, Liabilities [Member]      
Derivative, Fair Value, Net [Abstract]      
Derivative, Fair Value, Net (483)us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
(3,773)us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
 
Notional Disclosures [Abstract]      
Derivative, Notional Amount 2,000,000invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
10,000,000invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
 
Total Return Swap [Member]      
Notional Disclosures [Abstract]      
Derivative, Notional Amount 598,459invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_TotalReturnSwapMember
49,629invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_TotalReturnSwapMember
0invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_TotalReturnSwapMember
Total Return Swap [Member] | Derivative Financial Instruments, Assets [Member]      
Derivative, Fair Value, Net [Abstract]      
Derivative, Fair Value, Net 1,387us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_TotalReturnSwapMember
0us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_TotalReturnSwapMember
 
Notional Disclosures [Abstract]      
Derivative, Notional Amount 598,459invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_TotalReturnSwapMember
0invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_TotalReturnSwapMember
 
Total Return Swap [Member] | Derivative Financial Instruments, Liabilities [Member]      
Derivative, Fair Value, Net [Abstract]      
Derivative, Fair Value, Net 0us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_TotalReturnSwapMember
(134)us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_TotalReturnSwapMember
 
Notional Disclosures [Abstract]      
Derivative, Notional Amount 0invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_TotalReturnSwapMember
49,629invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_TotalReturnSwapMember
 
Forward Purchase Commitments [Member]      
Derivative, Fair Value, Net [Abstract]      
Derivative, Fair Value, Net 1,297us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_LoanPurchaseCommitmentsMember
0us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_LoanPurchaseCommitmentsMember
 
Notional Disclosures [Abstract]      
Derivative, Notional Amount 554,838invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_LoanPurchaseCommitmentsMember
12,063invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_LoanPurchaseCommitmentsMember
56,865invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_LoanPurchaseCommitmentsMember
Forward Purchase Commitments [Member] | Derivative Financial Instruments, Liabilities [Member]      
Derivative, Fair Value, Net [Abstract]      
Derivative, Fair Value, Net 0us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_LoanPurchaseCommitmentsMember
0us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_LoanPurchaseCommitmentsMember
 
Notional Disclosures [Abstract]      
Derivative, Notional Amount $ 0invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_LoanPurchaseCommitmentsMember
$ 0invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_LoanPurchaseCommitmentsMember