Quarterly report pursuant to Section 13 or 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
Mar. 31, 2015
Dec. 31, 2014
Mar. 31, 2014
Dec. 31, 2013
Notional Disclosures [Abstract]        
Derivative, Notional Amount $ 33,709,043invest_DerivativeNotionalAmount $ 48,115,523invest_DerivativeNotionalAmount $ 43,576,146invest_DerivativeNotionalAmount $ 37,366,610invest_DerivativeNotionalAmount
Inverse Interest-Only Securities [Member]        
Notional Disclosures [Abstract]        
Derivative, Notional Amount 1,106,210invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= two_InverseInterestOnlySecuritiesMember
1,168,226invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= two_InverseInterestOnlySecuritiesMember
1,412,374invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= two_InverseInterestOnlySecuritiesMember
1,525,845invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= two_InverseInterestOnlySecuritiesMember
Interest Rate Swap [Member]        
Notional Disclosures [Abstract]        
Derivative, Notional Amount 19,929,000invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
18,584,000invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
21,663,148invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
19,619,000invest_DerivativeNotionalAmount
/ 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
125,000invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditDefaultSwapMember
125,000invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditDefaultSwapMember
427,073invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditDefaultSwapMember
Interest Rate Swaption [Member]        
Notional Disclosures [Abstract]        
Derivative, Notional Amount 12,960,000invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwaptionMember
12,410,000invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwaptionMember
9,500,000invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwaptionMember
5,130,000invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwaptionMember
Forward Contracts [Member]        
Notional Disclosures [Abstract]        
Derivative, Notional Amount 2,496,000invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForwardContractsMember
1,325,000invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForwardContractsMember
1,022,000invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForwardContractsMember
603,000invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForwardContractsMember
Options Held [Member]        
Notional Disclosures [Abstract]        
Derivative, Notional Amount 2,500,000invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OptionMember
2,000,000invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OptionMember
1,500,000invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OptionMember
0invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OptionMember
Swap [Member]        
Derivative, Fair Value, Net [Abstract]        
Derivative, Fair Value, Net 1,236us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
1,530us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
   
Notional Disclosures [Abstract]        
Derivative, Notional Amount 3,000,000invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
14,000,000invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
10,000,000invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
10,000,000invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
Total Return Swap [Member]        
Notional Disclosures [Abstract]        
Derivative, Notional Amount 877,529invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_TotalReturnSwapMember
598,459invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_TotalReturnSwapMember
243,987invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_TotalReturnSwapMember
49,629invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_TotalReturnSwapMember
Forward Purchase Commitments [Member]        
Notional Disclosures [Abstract]        
Derivative, Notional Amount 707,304invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_LoanPurchaseCommitmentsMember
554,838invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_LoanPurchaseCommitmentsMember
153,637invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_LoanPurchaseCommitmentsMember
12,063invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_LoanPurchaseCommitmentsMember
Derivative Financial Instruments, Assets [Member]        
Derivative, Fair Value, Net [Abstract]        
Derivative, Fair Value, Net 362,646us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
380,791us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
   
Notional Disclosures [Abstract]        
Derivative, Notional Amount 26,795,748invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
36,315,523invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
   
Derivative Financial Instruments, Assets [Member] | Inverse Interest-Only Securities [Member]        
Derivative, Fair Value, Net [Abstract]        
Derivative, Fair Value, Net 189,875us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= two_InverseInterestOnlySecuritiesMember
188,592us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= two_InverseInterestOnlySecuritiesMember
   
Notional Disclosures [Abstract]        
Derivative, Notional Amount 1,106,210invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= two_InverseInterestOnlySecuritiesMember
1,168,226invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= two_InverseInterestOnlySecuritiesMember
   
Derivative Financial Instruments, Assets [Member] | Interest Rate Swap [Member]        
Derivative, Fair Value, Net [Abstract]        
Derivative, Fair Value, Net 49,485us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
55,471us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
   
Notional Disclosures [Abstract]        
Derivative, Notional Amount 9,614,000invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
9,569,000invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
   
Derivative Financial Instruments, Assets [Member] | Credit Default Swap [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
   
Derivative Financial Instruments, Assets [Member] | Interest Rate Swaption [Member]        
Derivative, Fair Value, Net [Abstract]        
Derivative, Fair Value, Net 108,348us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwaptionMember
121,591us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwaptionMember
   
Notional Disclosures [Abstract]        
Derivative, Notional Amount 11,600,000invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwaptionMember
9,550,000invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwaptionMember
   
Derivative Financial Instruments, Assets [Member] | Forward Contracts [Member]        
Derivative, Fair Value, Net [Abstract]        
Derivative, Fair Value, Net 0us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForwardContractsMember
10,350us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForwardContractsMember
   
Notional Disclosures [Abstract]        
Derivative, Notional Amount 0invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForwardContractsMember
875,000invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForwardContractsMember
   
Derivative Financial Instruments, Assets [Member] | Options Held [Member]        
Derivative, Fair Value, Net [Abstract]        
Derivative, Fair Value, Net 0us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OptionMember
90us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OptionMember
   
Notional Disclosures [Abstract]        
Derivative, Notional Amount 0invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OptionMember
2,000,000invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OptionMember
   
Derivative Financial Instruments, Assets [Member] | Swap [Member]        
Derivative, Fair Value, Net [Abstract]        
Derivative, Fair Value, Net 1,236us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
2,013us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
   
Notional Disclosures [Abstract]        
Derivative, Notional Amount 3,000,000invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
12,000,000invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
   
Derivative Financial Instruments, Assets [Member] | Total Return Swap [Member]        
Derivative, Fair Value, Net [Abstract]        
Derivative, Fair Value, Net 12,299us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_TotalReturnSwapMember
1,387us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_TotalReturnSwapMember
   
Notional Disclosures [Abstract]        
Derivative, Notional Amount 877,529invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_TotalReturnSwapMember
598,459invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_TotalReturnSwapMember
   
Derivative Financial Instruments, Assets [Member] | Forward Purchase Commitments [Member]        
Derivative, Fair Value, Net [Abstract]        
Derivative, Fair Value, Net 1,403us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_LoanPurchaseCommitmentsMember
1,297us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_LoanPurchaseCommitmentsMember
   
Notional Disclosures [Abstract]        
Derivative, Notional Amount 598,009invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsAssetsMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_LoanPurchaseCommitmentsMember
     
Derivative Financial Instruments, Liabilities [Member]        
Derivative, Fair Value, Net [Abstract]        
Derivative, Fair Value, Net (155,149)us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
(90,233)us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
   
Notional Disclosures [Abstract]        
Derivative, Notional Amount 16,905,295invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
16,200,000invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
   
Derivative Financial Instruments, Liabilities [Member] | Inverse Interest-Only Securities [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
   
Derivative Financial Instruments, Liabilities [Member] | Interest Rate Swap [Member]        
Derivative, Fair Value, Net [Abstract]        
Derivative, Fair Value, Net (126,063)us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
(65,392)us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
   
Notional Disclosures [Abstract]        
Derivative, Notional Amount 10,315,000invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
9,015,000invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
   
Derivative Financial Instruments, Liabilities [Member] | Credit Default Swap [Member]        
Derivative, Fair Value, Net [Abstract]        
Derivative, Fair Value, Net (1,460)us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditDefaultSwapMember
(1,672)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
125,000invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CreditDefaultSwapMember
   
Derivative Financial Instruments, Liabilities [Member] | Interest Rate Swaption [Member]        
Derivative, Fair Value, Net [Abstract]        
Derivative, Fair Value, Net (3,840)us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwaptionMember
(4,999)us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwaptionMember
   
Notional Disclosures [Abstract]        
Derivative, Notional Amount 1,360,000invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwaptionMember
2,860,000invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwaptionMember
   
Derivative Financial Instruments, Liabilities [Member] | Forward Contracts [Member]        
Derivative, Fair Value, Net [Abstract]        
Derivative, Fair Value, Net (17,930)us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForwardContractsMember
(17,687)us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForwardContractsMember
   
Notional Disclosures [Abstract]        
Derivative, Notional Amount 2,496,000invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForwardContractsMember
2,200,000invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForwardContractsMember
   
Derivative Financial Instruments, Liabilities [Member] | Options Held [Member]        
Derivative, Fair Value, Net [Abstract]        
Derivative, Fair Value, Net (5,776)us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OptionMember
0us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OptionMember
   
Notional Disclosures [Abstract]        
Derivative, Notional Amount 2,500,000invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OptionMember
0invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OptionMember
   
Derivative Financial Instruments, Liabilities [Member] | Swap [Member]        
Derivative, Fair Value, Net [Abstract]        
Derivative, Fair Value, Net 0us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
(483)us-gaap_DerivativeFairValueOfDerivativeNet
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
   
Notional Disclosures [Abstract]        
Derivative, Notional Amount 0invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
2,000,000invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_SwapMember
   
Derivative Financial Instruments, Liabilities [Member] | Total Return Swap [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
0us-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
0invest_DerivativeNotionalAmount
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_TotalReturnSwapMember
   
Derivative Financial Instruments, Liabilities [Member] | Forward Purchase Commitments [Member]        
Derivative, Fair Value, Net [Abstract]        
Derivative, Fair Value, Net (80)us-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 $ 109,295invest_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