XML 24 R42.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
3 Months Ended 12 Months Ended
Mar. 31, 2015
Dec. 31, 2014
Notional Disclosures [Abstract]    
Derivative, Notional Amount $ 7,370,529invest_DerivativeNotionalAmount $ 6,837,571invest_DerivativeNotionalAmount
Derivative Asset, Fair Value, Amount Not Offset Against Collateral [Abstract]    
Financial derivatives, at fair value 4,808us-gaap_DerivativeFairValueOfDerivativeAsset 4,177us-gaap_DerivativeFairValueOfDerivativeAsset
Financial derivatives, at fair value 95,493us-gaap_DerivativeFairValueOfDerivativeLiability 84,844us-gaap_DerivativeFairValueOfDerivativeLiability
Derivative, Collateral [Abstract]    
Collateral Pledged 48,870us-gaap_CollateralAlreadyPostedAggregateFairValue 46,627us-gaap_CollateralAlreadyPostedAggregateFairValue
Derivative Asset 4,808us-gaap_DerivativeAssets 4,177us-gaap_DerivativeAssets
Derivative Liability 46,623us-gaap_DerivativeLiabilities 38,217us-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 48,900us-gaap_CollateralAlreadyPostedAggregateFairValue
/ us-gaap_FinancialInstrumentsOwnedAndPledgedAsCollateralAxis
= us-gaap_CashMember
46,600us-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,014,915invest_DerivativeNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
1,000,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 37,478us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
31,718us-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.46%agm_DerivativeWeightedAveragePayRate
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
2.47%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.26%agm_DerivativeWeightedAverageReceiveRate
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
0.23%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 9 months 29 days 3 years 11 months 23 days
Designated as Hedging Instrument [Member] | Cash Flow Hedging [Member] | Interest Rate Swap, Pay Fixed Non-Callable [Member]    
Notional Disclosures [Abstract]    
Derivative, Notional Amount 37,000invest_DerivativeNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
15,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
0us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
Financial derivatives, at fair value 751us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
289us-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.43%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.57%agm_DerivativeWeightedAverageReceiveRate
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
0.51%agm_DerivativeWeightedAverageReceiveRate
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_DesignatedAsHedgingInstrumentMember
Derivative, Average Remaining Maturity 8 years 3 months 18 days 6 years 2 months 23 days
Not Designated as Hedging Instrument [Member]    
Derivative Asset, Fair Value, Amount Not Offset Against Collateral [Abstract]    
Derivative Credit Risk Valuation Adjustment, Derivative Assets 1us-gaap_DerivativeCreditRiskValuationAdjustmentDerivativeAssets
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
22us-gaap_DerivativeCreditRiskValuationAdjustmentDerivativeAssets
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative Credit Risk Valuation Adjustment, Derivative Liabilities 244us-gaap_DerivativeCreditRiskValuationAdjustmentDerivativeLiabilities
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
187us-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 476,113invest_DerivativeNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
490,183invest_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 19us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
537us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Financial derivatives, at fair value 56,602us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
51,224us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative, Weighted-Average Pay Rate 4.19%agm_DerivativeWeightedAveragePayRate
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
4.23%agm_DerivativeWeightedAveragePayRate
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative, Weighted-Average Receive Rate 0.26%agm_DerivativeWeightedAverageReceiveRate
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
0.23%agm_DerivativeWeightedAverageReceiveRate
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapPayFixedNonCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative, Average Remaining Maturity 6 years 11 months 26 days 7 years 0 months 18 days
Not Designated as Hedging Instrument [Member] | Interest Rate Swap, Receive Fixed Non-Callable [Member]    
Notional Disclosures [Abstract]    
Derivative, Notional Amount 4,042,209invest_DerivativeNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapReceiveFixedNonCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
3,829,355invest_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 4,305us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapReceiveFixedNonCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
3,414us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapReceiveFixedNonCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Financial derivatives, at fair value 230us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapReceiveFixedNonCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
461us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapReceiveFixedNonCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative, Weighted-Average Pay Rate 0.15%agm_DerivativeWeightedAveragePayRate
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapReceiveFixedNonCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
0.14%agm_DerivativeWeightedAveragePayRate
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapReceiveFixedNonCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative, Weighted-Average Receive Rate 0.30%agm_DerivativeWeightedAverageReceiveRate
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapReceiveFixedNonCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
0.27%agm_DerivativeWeightedAverageReceiveRate
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapReceiveFixedNonCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative, Average Remaining Maturity 0 years 6 months 25 days 0 years 6 months 18 days
Not Designated as Hedging Instrument [Member] | Interest Rate Swap, Receive Fixed Callable [Member]    
Notional Disclosures [Abstract]    
Derivative, Notional Amount 632,565invest_DerivativeNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapReceiveFixedCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
383,565invest_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 238us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapReceiveFixedCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
1us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapReceiveFixedCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Financial derivatives, at fair value 277us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapReceiveFixedCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
877us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapReceiveFixedCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative, Weighted-Average Pay Rate 0.13%agm_DerivativeWeightedAveragePayRate
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapReceiveFixedCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
0.12%agm_DerivativeWeightedAveragePayRate
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapReceiveFixedCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative, Weighted-Average Receive Rate 1.02%agm_DerivativeWeightedAverageReceiveRate
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapReceiveFixedCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
1.34%agm_DerivativeWeightedAverageReceiveRate
/ us-gaap_DerivativeByNatureAxis
= agm_InterestRateSwapReceiveFixedCallableMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative, Average Remaining Maturity 2 years 9 months 18 days 3 years 5 months 19 days
Not Designated as Hedging Instrument [Member] | Basis Swap [Member]    
Notional Disclosures [Abstract]    
Derivative, Notional Amount 1,130,000invest_DerivativeNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_BasisSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
1,105,000invest_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
247us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeByNatureAxis
= us-gaap_BasisSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Financial derivatives, at fair value 262us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeByNatureAxis
= us-gaap_BasisSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
406us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeByNatureAxis
= us-gaap_BasisSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative, Weighted-Average Pay Rate 0.12%agm_DerivativeWeightedAveragePayRate
/ us-gaap_DerivativeByNatureAxis
= us-gaap_BasisSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
0.11%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.31%agm_DerivativeWeightedAverageReceiveRate
/ us-gaap_DerivativeByNatureAxis
= us-gaap_BasisSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative, Average Remaining Maturity 2 years 7 months 10 days 2 years 5 months 1 day
Not Designated as Hedging Instrument [Member] | Forward Contracts [Member]    
Notional Disclosures [Abstract]    
Derivative, Notional Amount 34,827invest_DerivativeNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_ForwardContractsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
12,768invest_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
0us-gaap_DerivativeFairValueOfDerivativeAsset
/ us-gaap_DerivativeByNatureAxis
= us-gaap_ForwardContractsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Financial derivatives, at fair value 132us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeByNatureAxis
= us-gaap_ForwardContractsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
53us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeByNatureAxis
= us-gaap_ForwardContractsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative, Weighted-Average Forward Price $ 101.41agm_DerivativeWeightedAverageForwardPrice
/ us-gaap_DerivativeByNatureAxis
= us-gaap_ForwardContractsMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
$ 101.00agm_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 2,900invest_DerivativeNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_FutureMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
1,700invest_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 $ 5us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeByNatureAxis
= us-gaap_FutureMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
$ 3us-gaap_DerivativeFairValueOfDerivativeLiability
/ us-gaap_DerivativeByNatureAxis
= us-gaap_FutureMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivative, Weighted-Average Forward Price $ 128.73agm_DerivativeWeightedAverageForwardPrice
/ us-gaap_DerivativeByNatureAxis
= us-gaap_FutureMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
$ 126.60agm_DerivativeWeightedAverageForwardPrice
/ us-gaap_DerivativeByNatureAxis
= us-gaap_FutureMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember