XML 126 R69.htm IDEA: XBRL DOCUMENT v2.4.1.9
Financial Derivatives - Schedule of Derivative Instruments in Statement of Financial Position (Details) (USD $)
In Thousands, except Per Share data, unless otherwise specified
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Notional Disclosures [Abstract]    
Derivative, Notional Amount $ 6,837,571invest_DerivativeNotionalAmount $ 6,691,851invest_DerivativeNotionalAmount
Derivative Asset, Fair Value, Amount Not Offset Against Collateral [Abstract]    
Financial derivatives, at fair value 4,177us-gaap_DerivativeFairValueOfDerivativeAsset 19,718us-gaap_DerivativeFairValueOfDerivativeAsset
Financial derivatives, at fair value 84,844us-gaap_DerivativeFairValueOfDerivativeLiability 75,708us-gaap_DerivativeFairValueOfDerivativeLiability
Derivative, Collateral [Abstract]    
Collateral Pledged 46,627us-gaap_CollateralAlreadyPostedAggregateFairValue 11,320us-gaap_CollateralAlreadyPostedAggregateFairValue
Derivative Asset 4,177us-gaap_DerivativeAssets 19,718us-gaap_DerivativeAssets
Derivative Liability 38,217us-gaap_DerivativeLiabilities 64,388us-gaap_DerivativeLiabilities
Cash [Member]    
Derivative, Collateral [Abstract]    
Obligation to Return Securities Received as Collateral 0us-gaap_ObligationToReturnSecuritiesReceivedAsCollateral
/ us-gaap_FinancialInstrumentsOwnedAndPledgedAsCollateralAxis
= us-gaap_CashMember
0us-gaap_ObligationToReturnSecuritiesReceivedAsCollateral
/ us-gaap_FinancialInstrumentsOwnedAndPledgedAsCollateralAxis
= us-gaap_CashMember
Collateral Pledged 46,600us-gaap_CollateralAlreadyPostedAggregateFairValue
/ us-gaap_FinancialInstrumentsOwnedAndPledgedAsCollateralAxis
= us-gaap_CashMember
9,800us-gaap_CollateralAlreadyPostedAggregateFairValue
/ us-gaap_FinancialInstrumentsOwnedAndPledgedAsCollateralAxis
= us-gaap_CashMember
Designated as Hedging Instrument [Member] | Fair Value Hedging [Member] | Interest Rate Swap, Pay Fixed Non-Callable [Member]    
Notional Disclosures [Abstract]    
Derivative, Notional Amount 1,000,000invest_DerivativeNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
900,000invest_DerivativeNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
Derivative Asset, Fair Value, Amount Not Offset Against Collateral [Abstract]    
Financial derivatives, at fair value 0us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
0us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
Financial derivatives, at fair value 31,718us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
28,989us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
Derivative, Weighted-Average Pay Rate 2.47%agm_DerivativeWeightedAveragePayRate
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
2.25%agm_DerivativeWeightedAveragePayRate
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
Derivative, Weighted-Average Receive Rate 0.23%agm_DerivativeWeightedAverageReceiveRate
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
0.24%agm_DerivativeWeightedAverageReceiveRate
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
Derivative, Average Remaining Maturity 3 years 11 months 23 days 3 years 3 months 0 days
Designated as Hedging Instrument [Member] | Cash Flow Hedging [Member] | Interest Rate Swap, Pay Fixed Non-Callable [Member]    
Notional Disclosures [Abstract]    
Derivative, Notional Amount 15,000invest_DerivativeNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
10,000invest_DerivativeNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
Derivative Asset, Fair Value, Amount Not Offset Against Collateral [Abstract]    
Financial derivatives, at fair value 0us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
68us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
Financial derivatives, at fair value 289us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
0us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
Derivative, Weighted-Average Pay Rate 2.43%agm_DerivativeWeightedAveragePayRate
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
2.50%agm_DerivativeWeightedAveragePayRate
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
Derivative, Weighted-Average Receive Rate 0.51%agm_DerivativeWeightedAverageReceiveRate
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
0.48%agm_DerivativeWeightedAverageReceiveRate
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
Derivative, Average Remaining Maturity 6 years 2 months 23 days 6 years 11 months 12 days
Not Designated as Hedging Instrument [Member]    
Derivative Asset, Fair Value, Amount Not Offset Against Collateral [Abstract]    
Derivative Credit Risk Valuation Adjustment, Derivative Assets 22us-gaap_DerivativeCreditRiskValuationAdjustmentDerivativeAssets
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
201us-gaap_DerivativeCreditRiskValuationAdjustmentDerivativeAssets
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative Credit Risk Valuation Adjustment, Derivative Liabilities 187us-gaap_DerivativeCreditRiskValuationAdjustmentDerivativeLiabilities
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
156us-gaap_DerivativeCreditRiskValuationAdjustmentDerivativeLiabilities
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Not Designated as Hedging Instrument [Member] | Interest Rate Swap, Pay Fixed Non-Callable [Member]    
Notional Disclosures [Abstract]    
Derivative, Notional Amount 490,183invest_DerivativeNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
806,596invest_DerivativeNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative Asset, Fair Value, Amount Not Offset Against Collateral [Abstract]    
Financial derivatives, at fair value 537us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
7,570us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Financial derivatives, at fair value 51,224us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
45,360us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative, Weighted-Average Pay Rate 4.23%agm_DerivativeWeightedAveragePayRate
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
4.63%agm_DerivativeWeightedAveragePayRate
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative, Weighted-Average Receive Rate 0.23%agm_DerivativeWeightedAverageReceiveRate
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
0.24%agm_DerivativeWeightedAverageReceiveRate
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative, Average Remaining Maturity 7 years 0 months 18 days 4 years 10 months 10 days
Not Designated as Hedging Instrument [Member] | Interest Rate Swap, Receive Fixed Non-Callable [Member]    
Notional Disclosures [Abstract]    
Derivative, Notional Amount 3,829,355invest_DerivativeNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapReceiveFixedNonCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
4,324,663invest_DerivativeNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapReceiveFixedNonCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative Asset, Fair Value, Amount Not Offset Against Collateral [Abstract]    
Financial derivatives, at fair value 3,414us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapReceiveFixedNonCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
11,836us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapReceiveFixedNonCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Financial derivatives, at fair value 461us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapReceiveFixedNonCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
262us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapReceiveFixedNonCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative, Weighted-Average Pay Rate 0.14%agm_DerivativeWeightedAveragePayRate
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapReceiveFixedNonCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
0.27%agm_DerivativeWeightedAveragePayRate
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapReceiveFixedNonCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative, Weighted-Average Receive Rate 0.27%agm_DerivativeWeightedAverageReceiveRate
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapReceiveFixedNonCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
0.70%agm_DerivativeWeightedAverageReceiveRate
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapReceiveFixedNonCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative, Average Remaining Maturity 0 years 6 months 18 days 0 years 6 months 11 days
Not Designated as Hedging Instrument [Member] | Interest Rate Swap, Receive Fixed Callable [Member]    
Notional Disclosures [Abstract]    
Derivative, Notional Amount 383,565invest_DerivativeNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapReceiveFixedCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
175,000invest_DerivativeNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapReceiveFixedCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative Asset, Fair Value, Amount Not Offset Against Collateral [Abstract]    
Financial derivatives, at fair value 1us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapReceiveFixedCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
83us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapReceiveFixedCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Financial derivatives, at fair value 877us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapReceiveFixedCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
934us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapReceiveFixedCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative, Weighted-Average Pay Rate 0.12%agm_DerivativeWeightedAveragePayRate
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapReceiveFixedCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
0.10%agm_DerivativeWeightedAveragePayRate
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapReceiveFixedCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative, Weighted-Average Receive Rate 1.34%agm_DerivativeWeightedAverageReceiveRate
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapReceiveFixedCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
0.65%agm_DerivativeWeightedAverageReceiveRate
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapReceiveFixedCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative, Average Remaining Maturity 3 years 5 months 19 days 3 years 3 months 18 days
Not Designated as Hedging Instrument [Member] | Basis Swap [Member]    
Notional Disclosures [Abstract]    
Derivative, Notional Amount 1,105,000invest_DerivativeNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_BasisSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
404,288invest_DerivativeNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_BasisSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative Asset, Fair Value, Amount Not Offset Against Collateral [Abstract]    
Financial derivatives, at fair value 247us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeByNatureAxis
= us-gaap_BasisSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
276us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeByNatureAxis
= us-gaap_BasisSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Financial derivatives, at fair value 406us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeByNatureAxis
= us-gaap_BasisSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
318us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeByNatureAxis
= us-gaap_BasisSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative, Weighted-Average Pay Rate 0.11%agm_DerivativeWeightedAveragePayRate
/ us-gaap_DerivativeByNatureAxis
= us-gaap_BasisSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
0.32%agm_DerivativeWeightedAveragePayRate
/ us-gaap_DerivativeByNatureAxis
= us-gaap_BasisSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative, Weighted-Average Receive Rate 0.31%agm_DerivativeWeightedAverageReceiveRate
/ us-gaap_DerivativeByNatureAxis
= us-gaap_BasisSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
0.29%agm_DerivativeWeightedAverageReceiveRate
/ us-gaap_DerivativeByNatureAxis
= us-gaap_BasisSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative, Average Remaining Maturity 2 years 5 months 1 day 1 year 6 months 7 days
Not Designated as Hedging Instrument [Member] | Forward Contracts [Member]    
Notional Disclosures [Abstract]    
Derivative, Notional Amount 12,768invest_DerivativeNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_ForwardContractsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
65,704invest_DerivativeNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_ForwardContractsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative Asset, Fair Value, Amount Not Offset Against Collateral [Abstract]    
Financial derivatives, at fair value 0us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeByNatureAxis
= us-gaap_ForwardContractsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
86us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeByNatureAxis
= us-gaap_ForwardContractsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Financial derivatives, at fair value 53us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeByNatureAxis
= us-gaap_ForwardContractsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
0us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeByNatureAxis
= us-gaap_ForwardContractsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative, Weighted-Average Forward Price $ 101.00agm_DerivativeWeightedAverageForwardPrice
/ us-gaap_DerivativeByNatureAxis
= us-gaap_ForwardContractsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
$ 98.91agm_DerivativeWeightedAverageForwardPrice
/ us-gaap_DerivativeByNatureAxis
= us-gaap_ForwardContractsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Not Designated as Hedging Instrument [Member] | Future [Member]    
Notional Disclosures [Abstract]    
Derivative, Notional Amount 1,700invest_DerivativeNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_FutureMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
5,600invest_DerivativeNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_FutureMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative Asset, Fair Value, Amount Not Offset Against Collateral [Abstract]    
Financial derivatives, at fair value 0us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeByNatureAxis
= us-gaap_FutureMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
0us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeByNatureAxis
= us-gaap_FutureMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Financial derivatives, at fair value $ 3us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeByNatureAxis
= us-gaap_FutureMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
$ 1us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeByNatureAxis
= us-gaap_FutureMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative, Weighted-Average Forward Price $ 126.60agm_DerivativeWeightedAverageForwardPrice
/ us-gaap_DerivativeByNatureAxis
= us-gaap_FutureMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
$ 123.02agm_DerivativeWeightedAverageForwardPrice
/ us-gaap_DerivativeByNatureAxis
= us-gaap_FutureMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember