XML 81 R108.htm IDEA: XBRL DOCUMENT v2.4.1.9
Fair Value Disclosures - Quantitative Information (Details) (USD $)
In Thousands, unless otherwise specified
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Fair Value Measurements, Recurring and Nonrecurring, Valuation Techniques [Line Items]    
Derivative Liability 38,217us-gaap_DerivativeLiabilities 64,388us-gaap_DerivativeLiabilities
Fair Value, Measurements, Recurring [Member]    
Fair Value Measurements, Recurring and Nonrecurring, Valuation Techniques [Line Items]    
Derivative Liability 84,844us-gaap_DerivativeLiabilities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
75,708us-gaap_DerivativeLiabilities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value Measurements, Recurring and Nonrecurring, Valuation Techniques [Line Items]    
Derivative Liability 0us-gaap_DerivativeLiabilities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
235us-gaap_DerivativeLiabilities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Cost Approach Valuation Technique [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value Measurements, Recurring and Nonrecurring, Valuation Techniques [Line Items]    
Derivative Liability   235us-gaap_DerivativeLiabilities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
Institutional Credit [Member] | Cost Approach Valuation Technique [Member] | Farmer Mac Guaranteed Securities [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value Measurements, Recurring and Nonrecurring, Valuation Techniques [Line Items]    
Available-for-sale, at fair value 3,631,662us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentSponsoredEnterprisesDebtSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_InstitutionalCreditMemberMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
5,070,366us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentSponsoredEnterprisesDebtSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_InstitutionalCreditMemberMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
USDA Guarantees [Member] | Cost Approach Valuation Technique [Member] | Farmer Mac Guaranteed Securities [Member] | Fair Value, Measurements, Recurring [Member]
   
Fair Value Measurements, Recurring and Nonrecurring, Valuation Techniques [Line Items]    
Available-for-sale, at fair value 27,619us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentSponsoredEnterprisesDebtSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_USDAGuaranteesMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
21,234us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentSponsoredEnterprisesDebtSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_USDAGuaranteesMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
USDA Guarantees [Member] | Cost Approach Valuation Technique [Member] | USDA Securities [Member] | Fair Value, Measurements, Recurring [Member]
   
Fair Value Measurements, Recurring and Nonrecurring, Valuation Techniques [Line Items]    
Marketable Securities 1,771,532us-gaap_MarketableSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_USDAGuaranteesMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
1,612,013us-gaap_MarketableSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_USDAGuaranteesMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
Floating Interest Rate [Member] | Market Approach Valuation Technique [Member] | Floating rate auction-rate certificates backed by Government guaranteed student loans | Fair Value, Measurements, Recurring [Member]    
Fair Value Measurements, Recurring and Nonrecurring, Valuation Techniques [Line Items]    
Available-for-sale, at fair value 40,576us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AuctionRateSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_MarketApproachValuationTechniqueMember
65,285us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AuctionRateSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_MarketApproachValuationTechniqueMember
Floating Interest Rate [Member] | Cost Approach Valuation Technique [Member] | Asset-backed Securities [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value Measurements, Recurring and Nonrecurring, Valuation Techniques [Line Items]    
Trading, at fair value 689us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
928us-gaap_TradingSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
Floating Interest Rate [Member] | Cost Approach Valuation Technique [Member] | Asset-backed Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value Measurements, Recurring and Nonrecurring, Valuation Techniques [Line Items]    
Fair Value Inputs, Prepayment Rate 10.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
10.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
Floating Interest Rate [Member] | Cost Approach Valuation Technique [Member] | Government/GSE Guaranteed Mortgage Backed Securities [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value Measurements, Recurring and Nonrecurring, Valuation Techniques [Line Items]    
Available-for-sale, at fair value   205us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
Floating Interest Rate [Member] | Cost Approach Valuation Technique [Member] | Collateralized Mortgage Obligations [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value Measurements, Recurring and Nonrecurring, Valuation Techniques [Line Items]    
Fair Value Inputs, Prepayment Rate 6.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CollateralizedMortgageObligationsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
6.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CollateralizedMortgageObligationsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
Minimum [Member] | Market Approach Valuation Technique [Member] | Floating rate auction-rate certificates backed by Government guaranteed student loans | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value Measurements, Recurring and Nonrecurring, Valuation Techniques [Line Items]    
Fair Value Inputs, Range of Offered Quotes 82.00%agm_FairValueInputsRangeOfOfferedQuotes
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AuctionRateSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_MarketApproachValuationTechniqueMember
82.00%agm_FairValueInputsRangeOfOfferedQuotes
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AuctionRateSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_MarketApproachValuationTechniqueMember
Minimum [Member] | Cost Approach Valuation Technique [Member] | Asset-backed Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value Measurements, Recurring and Nonrecurring, Valuation Techniques [Line Items]    
Fair Value Inputs, Discount Rate 12.20%us-gaap_FairValueInputsDiscountRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
13.00%us-gaap_FairValueInputsDiscountRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
Minimum [Member] | Cost Approach Valuation Technique [Member] | Collateralized Mortgage Obligations [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value Measurements, Recurring and Nonrecurring, Valuation Techniques [Line Items]    
Fair Value Inputs, Discount Rate 1.70%us-gaap_FairValueInputsDiscountRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CollateralizedMortgageObligationsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
1.80%us-gaap_FairValueInputsDiscountRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CollateralizedMortgageObligationsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
Minimum [Member] | Institutional Credit [Member] | Cost Approach Valuation Technique [Member] | Farmer Mac Guaranteed Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value Measurements, Recurring and Nonrecurring, Valuation Techniques [Line Items]    
Fair Value Inputs, Discount Rate 0.80%us-gaap_FairValueInputsDiscountRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentSponsoredEnterprisesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_InstitutionalCreditMemberMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
0.90%us-gaap_FairValueInputsDiscountRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentSponsoredEnterprisesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_InstitutionalCreditMemberMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
Minimum [Member] | Institutional Credit [Member] | Cost Approach Valuation Technique [Member] | USDA Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value Measurements, Recurring and Nonrecurring, Valuation Techniques [Line Items]    
Fair Value Inputs, Discount Rate 0.80%us-gaap_FairValueInputsDiscountRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_InstitutionalCreditMemberMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
0.90%us-gaap_FairValueInputsDiscountRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_InstitutionalCreditMemberMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
Fair Value Inputs, Prepayment Rate 8.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_InstitutionalCreditMemberMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
7.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_InstitutionalCreditMemberMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
Minimum [Member] | USDA Guarantees [Member] | Cost Approach Valuation Technique [Member] | USDA Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value Measurements, Recurring and Nonrecurring, Valuation Techniques [Line Items]    
Fair Value Inputs, Discount Rate 1.10%us-gaap_FairValueInputsDiscountRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_USDAGuaranteesMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
1.20%us-gaap_FairValueInputsDiscountRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_USDAGuaranteesMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
Fair Value Inputs, Prepayment Rate 0.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_USDAGuaranteesMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
0.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_USDAGuaranteesMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
Minimum [Member] | Derivative Financial Instruments, Liabilities [Member] | Cost Approach Valuation Technique [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value Measurements, Recurring and Nonrecurring, Valuation Techniques [Line Items]    
Fair Value Inputs, Discount Rate 0.60%us-gaap_FairValueInputsDiscountRate
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
0.70%us-gaap_FairValueInputsDiscountRate
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
Fair Value Inputs, Prepayment Rate 10.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
10.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
Maximum [Member] | Market Approach Valuation Technique [Member] | Floating rate auction-rate certificates backed by Government guaranteed student loans | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value Measurements, Recurring and Nonrecurring, Valuation Techniques [Line Items]    
Fair Value Inputs, Range of Offered Quotes 92.00%agm_FairValueInputsRangeOfOfferedQuotes
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AuctionRateSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_MarketApproachValuationTechniqueMember
92.00%agm_FairValueInputsRangeOfOfferedQuotes
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AuctionRateSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_MarketApproachValuationTechniqueMember
Maximum [Member] | Cost Approach Valuation Technique [Member] | Asset-backed Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value Measurements, Recurring and Nonrecurring, Valuation Techniques [Line Items]    
Fair Value Inputs, Discount Rate 20.90%us-gaap_FairValueInputsDiscountRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
22.50%us-gaap_FairValueInputsDiscountRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
Maximum [Member] | Cost Approach Valuation Technique [Member] | Collateralized Mortgage Obligations [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value Measurements, Recurring and Nonrecurring, Valuation Techniques [Line Items]    
Fair Value Inputs, Discount Rate 1.70%us-gaap_FairValueInputsDiscountRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CollateralizedMortgageObligationsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
1.80%us-gaap_FairValueInputsDiscountRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CollateralizedMortgageObligationsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
Maximum [Member] | Institutional Credit [Member] | Cost Approach Valuation Technique [Member] | Farmer Mac Guaranteed Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value Measurements, Recurring and Nonrecurring, Valuation Techniques [Line Items]    
Fair Value Inputs, Discount Rate 2.20%us-gaap_FairValueInputsDiscountRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentSponsoredEnterprisesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_InstitutionalCreditMemberMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
3.60%us-gaap_FairValueInputsDiscountRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentSponsoredEnterprisesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_InstitutionalCreditMemberMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
Maximum [Member] | Institutional Credit [Member] | Cost Approach Valuation Technique [Member] | USDA Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value Measurements, Recurring and Nonrecurring, Valuation Techniques [Line Items]    
Fair Value Inputs, Discount Rate 3.20%us-gaap_FairValueInputsDiscountRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_InstitutionalCreditMemberMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
3.20%us-gaap_FairValueInputsDiscountRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_InstitutionalCreditMemberMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
Fair Value Inputs, Prepayment Rate 15.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_InstitutionalCreditMemberMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
14.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_InstitutionalCreditMemberMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
Maximum [Member] | USDA Guarantees [Member] | Cost Approach Valuation Technique [Member] | USDA Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value Measurements, Recurring and Nonrecurring, Valuation Techniques [Line Items]    
Fair Value Inputs, Discount Rate 5.20%us-gaap_FairValueInputsDiscountRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_USDAGuaranteesMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
5.30%us-gaap_FairValueInputsDiscountRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_USDAGuaranteesMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
Fair Value Inputs, Prepayment Rate 15.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_USDAGuaranteesMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
23.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_USDAGuaranteesMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
Maximum [Member] | Derivative Financial Instruments, Liabilities [Member] | Cost Approach Valuation Technique [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value Measurements, Recurring and Nonrecurring, Valuation Techniques [Line Items]    
Fair Value Inputs, Discount Rate 2.40%us-gaap_FairValueInputsDiscountRate
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
2.30%us-gaap_FairValueInputsDiscountRate
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
Fair Value Inputs, Prepayment Rate 11.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
11.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
Weighted Average [Member] | Market Approach Valuation Technique [Member] | Floating rate auction-rate certificates backed by Government guaranteed student loans | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value Measurements, Recurring and Nonrecurring, Valuation Techniques [Line Items]    
Fair Value Inputs, Range of Offered Quotes 87.70%agm_FairValueInputsRangeOfOfferedQuotes
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AuctionRateSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_MarketApproachValuationTechniqueMember
88.10%agm_FairValueInputsRangeOfOfferedQuotes
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AuctionRateSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_MarketApproachValuationTechniqueMember
Weighted Average [Member] | Cost Approach Valuation Technique [Member] | Asset-backed Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value Measurements, Recurring and Nonrecurring, Valuation Techniques [Line Items]    
Fair Value Inputs, Discount Rate 16.60%us-gaap_FairValueInputsDiscountRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
17.70%us-gaap_FairValueInputsDiscountRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
Weighted Average [Member] | Cost Approach Valuation Technique [Member] | Collateralized Mortgage Obligations [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value Measurements, Recurring and Nonrecurring, Valuation Techniques [Line Items]    
Fair Value Inputs, Discount Rate 1.70%us-gaap_FairValueInputsDiscountRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CollateralizedMortgageObligationsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
1.80%us-gaap_FairValueInputsDiscountRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CollateralizedMortgageObligationsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
Weighted Average [Member] | Institutional Credit [Member] | Cost Approach Valuation Technique [Member] | Farmer Mac Guaranteed Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value Measurements, Recurring and Nonrecurring, Valuation Techniques [Line Items]    
Fair Value Inputs, Discount Rate 1.50%us-gaap_FairValueInputsDiscountRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentSponsoredEnterprisesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_InstitutionalCreditMemberMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
1.80%us-gaap_FairValueInputsDiscountRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentSponsoredEnterprisesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_InstitutionalCreditMemberMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
Weighted Average [Member] | Institutional Credit [Member] | Cost Approach Valuation Technique [Member] | USDA Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value Measurements, Recurring and Nonrecurring, Valuation Techniques [Line Items]    
Fair Value Inputs, Discount Rate 1.80%us-gaap_FairValueInputsDiscountRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_InstitutionalCreditMemberMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
1.90%us-gaap_FairValueInputsDiscountRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_InstitutionalCreditMemberMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
Fair Value Inputs, Prepayment Rate 6.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_InstitutionalCreditMemberMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
11.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_InstitutionalCreditMemberMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
Weighted Average [Member] | USDA Guarantees [Member] | Cost Approach Valuation Technique [Member] | USDA Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value Measurements, Recurring and Nonrecurring, Valuation Techniques [Line Items]    
Fair Value Inputs, Discount Rate 3.20%us-gaap_FairValueInputsDiscountRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_USDAGuaranteesMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
3.40%us-gaap_FairValueInputsDiscountRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_USDAGuaranteesMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
Fair Value Inputs, Prepayment Rate 6.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_USDAGuaranteesMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
5.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_USDAGuaranteesMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
Weighted Average [Member] | Derivative Financial Instruments, Liabilities [Member] | Cost Approach Valuation Technique [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value Measurements, Recurring and Nonrecurring, Valuation Techniques [Line Items]    
Fair Value Inputs, Discount Rate 1.20%us-gaap_FairValueInputsDiscountRate
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
1.30%us-gaap_FairValueInputsDiscountRate
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
Fair Value Inputs, Prepayment Rate 10.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember
10.00%us-gaap_FairValueInputsPrepaymentRate
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByLiabilityClassAxis
= us-gaap_DerivativeFinancialInstrumentsLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_RangeAxis
= us-gaap_WeightedAverageMember
/ us-gaap_ValuationTechniqueAxis
= us-gaap_CostApproachValuationTechniqueMember