XML 125 R106.htm IDEA: XBRL DOCUMENT v2.4.1.9
Fair Value Disclosures - Fair Value Measurements, Recurring and Nonrecurring (Details) (USD $)
In Thousands, unless otherwise specified
Dec. 31, 2014
Dec. 31, 2013
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Derivative Asset $ 4,177us-gaap_DerivativeAssets $ 19,718us-gaap_DerivativeAssets
Derivative Liability 38,217us-gaap_DerivativeLiabilities 64,388us-gaap_DerivativeLiabilities
Loans and Leases Receivable, Net Amount 3,520,075us-gaap_LoansAndLeasesReceivableNetReportedAmount 3,193,248us-gaap_LoansAndLeasesReceivableNetReportedAmount
Real estate owned, at lower of cost or fair value 421us-gaap_RealEstateAcquiredThroughForeclosure 2,617us-gaap_RealEstateAcquiredThroughForeclosure
Fair Value, Measurements, Nonrecurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Assets, Fair Value Disclosure 5,973us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
6,238us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Loans and Leases Receivable, Net Amount 5,973us-gaap_LoansAndLeasesReceivableNetReportedAmount
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
4,420us-gaap_LoansAndLeasesReceivableNetReportedAmount
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Real estate owned, at lower of cost or fair value   1,818us-gaap_RealEstateAcquiredThroughForeclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Fair Value, Measurements, Nonrecurring [Member] | Fair Value, Inputs, Level 1 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Assets, Fair Value Disclosure 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Loans and Leases Receivable, Net Amount 0us-gaap_LoansAndLeasesReceivableNetReportedAmount
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
0us-gaap_LoansAndLeasesReceivableNetReportedAmount
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Real estate owned, at lower of cost or fair value   0us-gaap_RealEstateAcquiredThroughForeclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Fair Value, Measurements, Nonrecurring [Member] | Fair Value, Inputs, Level 2 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Assets, Fair Value Disclosure 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Loans and Leases Receivable, Net Amount 0us-gaap_LoansAndLeasesReceivableNetReportedAmount
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
0us-gaap_LoansAndLeasesReceivableNetReportedAmount
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Real estate owned, at lower of cost or fair value   0us-gaap_RealEstateAcquiredThroughForeclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Fair Value, Measurements, Nonrecurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Assets, Fair Value Disclosure 5,973us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
6,238us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Loans and Leases Receivable, Net Amount 5,973us-gaap_LoansAndLeasesReceivableNetReportedAmount
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
4,420us-gaap_LoansAndLeasesReceivableNetReportedAmount
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Real estate owned, at lower of cost or fair value   1,818us-gaap_RealEstateAcquiredThroughForeclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Derivative Asset 4,177us-gaap_DerivativeAssets
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
19,718us-gaap_DerivativeAssets
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Assets, Fair Value Disclosure 7,374,178us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
9,207,406us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Derivative Liability 84,844us-gaap_DerivativeLiabilities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
75,708us-gaap_DerivativeLiabilities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Financial and Nonfinancial Liabilities, Fair Value Disclosure 84,844us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
75,708us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 1 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Derivative Asset 0us-gaap_DerivativeAssets
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_DerivativeAssets
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Assets, Fair Value Disclosure 1,050,691us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
755,633us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Derivative Liability 3us-gaap_DerivativeLiabilities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
1us-gaap_DerivativeLiabilities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Financial and Nonfinancial Liabilities, Fair Value Disclosure 3us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
1us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 2 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Derivative Asset 4,177us-gaap_DerivativeAssets
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
19,718us-gaap_DerivativeAssets
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Assets, Fair Value Disclosure 851,409us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
1,681,742us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Derivative Liability 84,841us-gaap_DerivativeLiabilities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
75,472us-gaap_DerivativeLiabilities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Financial and Nonfinancial Liabilities, Fair Value Disclosure 84,841us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
75,472us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Derivative Asset 0us-gaap_DerivativeAssets
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_DerivativeAssets
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Assets, Fair Value Disclosure 5,472,078us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
6,770,031us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
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
Financial and Nonfinancial Liabilities, Fair Value Disclosure 0us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
235us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Farmer Mac Guaranteed Securities [Member] | Available-for-sale Securities [Member] | Institutional Credit [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 3,631,662us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentSponsoredEnterprisesDebtSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_InstitutionalCreditMemberMember
5,070,366us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentSponsoredEnterprisesDebtSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_InstitutionalCreditMemberMember
Farmer Mac Guaranteed Securities [Member] | Available-for-sale Securities [Member] | Institutional Credit [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 1 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentSponsoredEnterprisesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_InstitutionalCreditMemberMember
0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentSponsoredEnterprisesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_InstitutionalCreditMemberMember
Farmer Mac Guaranteed Securities [Member] | Available-for-sale Securities [Member] | Institutional Credit [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 2 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentSponsoredEnterprisesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_InstitutionalCreditMemberMember
0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentSponsoredEnterprisesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_InstitutionalCreditMemberMember
Farmer Mac Guaranteed Securities [Member] | Available-for-sale Securities [Member] | Institutional Credit [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 3,631,662us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentSponsoredEnterprisesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_InstitutionalCreditMemberMember
5,070,366us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentSponsoredEnterprisesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_InstitutionalCreditMemberMember
Farmer Mac Guaranteed Securities [Member] | Available-for-sale Securities [Member] | USDA Guarantees [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 27,619us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentSponsoredEnterprisesDebtSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_USDAGuaranteesMember
21,234us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentSponsoredEnterprisesDebtSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_USDAGuaranteesMember
Farmer Mac Guaranteed Securities [Member] | Available-for-sale Securities [Member] | USDA Guarantees [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 1 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentSponsoredEnterprisesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_USDAGuaranteesMember
0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentSponsoredEnterprisesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_USDAGuaranteesMember
Farmer Mac Guaranteed Securities [Member] | Available-for-sale Securities [Member] | USDA Guarantees [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 2 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentSponsoredEnterprisesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_USDAGuaranteesMember
0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentSponsoredEnterprisesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_USDAGuaranteesMember
Farmer Mac Guaranteed Securities [Member] | Available-for-sale Securities [Member] | USDA Guarantees [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 27,619us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentSponsoredEnterprisesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_USDAGuaranteesMember
21,234us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentSponsoredEnterprisesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_StatementBusinessSegmentsAxis
= agm_USDAGuaranteesMember
Farmer Mac Guaranteed Securities and USDA Securities [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member]
   
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 3,659,281us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USTreasuryAndGovernmentMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
5,091,600us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USTreasuryAndGovernmentMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
Farmer Mac Guaranteed Securities and USDA Securities [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 1 [Member]
   
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USTreasuryAndGovernmentMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USTreasuryAndGovernmentMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
Farmer Mac Guaranteed Securities and USDA Securities [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 2 [Member]
   
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USTreasuryAndGovernmentMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USTreasuryAndGovernmentMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
Farmer Mac Guaranteed Securities and USDA Securities [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]
   
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 3,659,281us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USTreasuryAndGovernmentMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
5,091,600us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USTreasuryAndGovernmentMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
Investment Securities [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 1,939,188us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
2,484,075us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Investment Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 1 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 1,050,691us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
755,633us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Investment Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 2 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 847,232us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
1,662,024us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Investment Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 41,265us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
66,418us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Investment Securities [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 1,938,499us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
2,483,147us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
Investment Securities [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 1 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 1,050,691us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
755,633us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
Investment Securities [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 2 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 847,232us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
1,662,024us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
Investment Securities [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 40,576us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
65,490us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
Investment Securities [Member] | Trading Securities [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 689us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_TradingAccountAssetsMember
928us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_TradingAccountAssetsMember
Investment Securities [Member] | Trading Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 1 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_TradingAccountAssetsMember
0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_TradingAccountAssetsMember
Investment Securities [Member] | Trading Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 2 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_TradingAccountAssetsMember
0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_TradingAccountAssetsMember
Investment Securities [Member] | Trading Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 689us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_TradingAccountAssetsMember
928us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_DebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_TradingAccountAssetsMember
USDA Securities [Member] | Fair Value, Measurements, Recurring [Member]
   
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 1,771,532us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
1,612,013us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
USDA Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 1 [Member]
   
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
USDA Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 2 [Member]
   
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
USDA Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]
   
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 1,771,532us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
1,612,013us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
USDA Securities [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member]
   
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 1,731,222us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
1,553,669us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
USDA Securities [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 1 [Member]
   
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
USDA Securities [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 2 [Member]
   
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
USDA Securities [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]
   
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 1,731,222us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
1,553,669us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
USDA Securities [Member] | Trading Securities [Member] | Fair Value, Measurements, Recurring [Member]
   
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 40,310us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_TradingAccountAssetsMember
58,344us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_TradingAccountAssetsMember
USDA Securities [Member] | Trading Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 1 [Member]
   
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_TradingAccountAssetsMember
0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_TradingAccountAssetsMember
USDA Securities [Member] | Trading Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 2 [Member]
   
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_TradingAccountAssetsMember
0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_TradingAccountAssetsMember
USDA Securities [Member] | Trading Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]
   
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 40,310us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_TradingAccountAssetsMember
58,344us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_TradingAccountAssetsMember
Floating Interest Rate [Member] | Floating rate auction-rate certificates backed by Government guaranteed student loans | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 40,576us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AuctionRateSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
65,285us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AuctionRateSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | Floating rate auction-rate certificates backed by Government guaranteed student loans | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 1 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AuctionRateSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AuctionRateSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | Floating rate auction-rate certificates backed by Government guaranteed student loans | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 2 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AuctionRateSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AuctionRateSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | Floating rate auction-rate certificates backed by Government guaranteed student loans | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 40,576us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AuctionRateSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
65,285us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AuctionRateSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | Asset-backed Securities [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 100,902us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
166,104us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | Asset-backed Securities [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 1 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | Asset-backed Securities [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 2 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 100,902us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
166,104us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | Asset-backed Securities [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | Asset-backed Securities [Member] | Trading Securities [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 689us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
928us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | Asset-backed Securities [Member] | Trading Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 1 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | Asset-backed Securities [Member] | Trading Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 2 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | Asset-backed Securities [Member] | Trading Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 689us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
928us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | Corporate Debt Securities [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 10,091us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
109,769us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | Corporate Debt Securities [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 1 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | Corporate Debt Securities [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 2 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 10,091us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
109,769us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | Corporate Debt Securities [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | Government/GSE Guaranteed Mortgage Backed Securities [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 612,753us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
621,269us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | Government/GSE Guaranteed Mortgage Backed Securities [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 1 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | Government/GSE Guaranteed Mortgage Backed Securities [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 2 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 612,753us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
621,064us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | Government/GSE Guaranteed Mortgage Backed Securities [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
205us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | GSE Subordinated Debt [Member} | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 66,320us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_SubordinatedDebtMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
63,385us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_SubordinatedDebtMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | GSE Subordinated Debt [Member} | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 1 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_SubordinatedDebtMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_SubordinatedDebtMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | GSE Subordinated Debt [Member} | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 2 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 66,320us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_SubordinatedDebtMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
63,385us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_SubordinatedDebtMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | GSE Subordinated Debt [Member} | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_SubordinatedDebtMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_SubordinatedDebtMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | Senior Agency Debt [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 18,939us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
524,062us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | Senior Agency Debt [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 1 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | Senior Agency Debt [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 2 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 18,939us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
524,062us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | Senior Agency Debt [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | US Treasury Securities [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 74,979us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
 
Floating Interest Rate [Member] | US Treasury Securities [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 1 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 74,979us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
 
Floating Interest Rate [Member] | US Treasury Securities [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 2 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
 
Floating Interest Rate [Member] | US Treasury Securities [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
 
Fixed Interest Rate [Member] | Corporate Debt Securities [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 30,025us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
55,141us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Fixed Interest Rate [Member] | Corporate Debt Securities [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 1 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Fixed Interest Rate [Member] | Corporate Debt Securities [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 2 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 30,025us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
55,141us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Fixed Interest Rate [Member] | Corporate Debt Securities [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Fixed Interest Rate [Member] | Government/GSE Guaranteed Mortgage Backed Securities [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 8,202us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
8,657us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Fixed Interest Rate [Member] | Government/GSE Guaranteed Mortgage Backed Securities [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 1 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Fixed Interest Rate [Member] | Government/GSE Guaranteed Mortgage Backed Securities [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 2 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 8,202us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
8,657us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Fixed Interest Rate [Member] | Government/GSE Guaranteed Mortgage Backed Securities [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Fixed Interest Rate [Member] | Preferred Stock [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure   83,161us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PreferredStockMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Fixed Interest Rate [Member] | Preferred Stock [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 1 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure   0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PreferredStockMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Fixed Interest Rate [Member] | Preferred Stock [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 2 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure   83,161us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PreferredStockMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Fixed Interest Rate [Member] | Preferred Stock [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure   0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_PreferredStockMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Fixed Interest Rate [Member] | Taxable Municipal Bonds [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure   30,681us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TaxableMunicipalBondsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Fixed Interest Rate [Member] | Taxable Municipal Bonds [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 1 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure   0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TaxableMunicipalBondsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Fixed Interest Rate [Member] | Taxable Municipal Bonds [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 2 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure   30,681us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TaxableMunicipalBondsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Fixed Interest Rate [Member] | Taxable Municipal Bonds [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure   0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_TaxableMunicipalBondsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Fixed Interest Rate [Member] | US Treasury Securities [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 975,712us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
755,633us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Fixed Interest Rate [Member] | US Treasury Securities [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 1 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 975,712us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
755,633us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Fixed Interest Rate [Member] | US Treasury Securities [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 2 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure 0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Fixed Interest Rate [Member] | US Treasury Securities [Member] | Available-for-sale Securities [Member] | Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Investments, Fair Value Disclosure $ 0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
$ 0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember