XML 123 R58.htm IDEA: XBRL DOCUMENT v2.4.1.9
Investment Securities - Schedule of Investment Securities (Details) (USD $)
12 Months Ended 0 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Dec. 31, 2014
Dec. 31, 2013
Available-for-sale Securities [Abstract]          
Derivative, Notional Amount $ 6,837,571,000invest_DerivativeNotionalAmount $ 6,691,851,000invest_DerivativeNotionalAmount   $ 6,837,571,000invest_DerivativeNotionalAmount $ 6,691,851,000invest_DerivativeNotionalAmount
Investment Securities [Member]          
Available-for-sale Securities [Abstract]          
Available-for-Sale Securities Unpaid Principal Balance 1,932,236,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
2,475,407,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
  1,932,236,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
2,475,407,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
Unamortized Premium/(Discount) 7,471,000us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
10,014,000us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
  7,471,000us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
10,014,000us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
Available-for-sale Securities, Amortized Cost Basis 1,939,707,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
2,485,421,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
  1,939,707,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
2,485,421,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
Available-for-sale Debt Securities, Accumulated Gross Unrealized Gain, before Tax 9,003,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
13,713,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
  9,003,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
13,713,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
Available-for-sale Securities, Unrealized Losses (10,211,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
(15,987,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
  (10,211,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
(15,987,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
Available-for-sale Securities, Fair Value Disclosure 1,938,499,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
2,483,147,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
  1,938,499,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
2,483,147,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
Proceeds from sale of available-for-sale investment securities 770,149,000us-gaap_ProceedsFromSaleOfAvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
366,562,000us-gaap_ProceedsFromSaleOfAvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
7,018,000us-gaap_ProceedsFromSaleOfAvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
   
Available-for-sale Securities, Gross Realized Gains 600,000us-gaap_AvailableForSaleSecuritiesGrossRealizedGains
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
3,100,000us-gaap_AvailableForSaleSecuritiesGrossRealizedGains
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
28,000us-gaap_AvailableForSaleSecuritiesGrossRealizedGains
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
   
Trading Securities [Abstract]          
Trading, at fair value 689,000us-gaap_TradingSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
928,000us-gaap_TradingSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
  689,000us-gaap_TradingSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
928,000us-gaap_TradingSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
Marketable Securities [Abstract]          
Marketable Securities Unpaid Principal Balance 1,935,104,000agm_MarketableSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
2,478,960,000agm_MarketableSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
  1,935,104,000agm_MarketableSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
2,478,960,000agm_MarketableSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
Marketable Securities, Amortized Cost 1,942,575,000agm_MarketableSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
2,488,974,000agm_MarketableSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
  1,942,575,000agm_MarketableSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
2,488,974,000agm_MarketableSecuritiesAmortizedCostBasis
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
Marketable Securities, Unrealized Gains 9,003,000agm_MarketableSecuritiesGrossUnrealizedGains
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
13,713,000agm_MarketableSecuritiesGrossUnrealizedGains
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
  9,003,000agm_MarketableSecuritiesGrossUnrealizedGains
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
13,713,000agm_MarketableSecuritiesGrossUnrealizedGains
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
Marketable Securities, Unrealized Losses (12,390,000)agm_MarketableSecuritiesGrossUnrealizedLosses
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
(18,612,000)agm_MarketableSecuritiesGrossUnrealizedLosses
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
  (12,390,000)agm_MarketableSecuritiesGrossUnrealizedLosses
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
(18,612,000)agm_MarketableSecuritiesGrossUnrealizedLosses
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
Marketable Securities 1,939,188,000us-gaap_MarketableSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
2,484,075,000us-gaap_MarketableSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
  1,939,188,000us-gaap_MarketableSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
2,484,075,000us-gaap_MarketableSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
USDA Securities [Member]
         
Available-for-sale Securities [Abstract]          
Available-for-sale Securities, Fair Value Disclosure 1,731,222,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
1,553,669,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
  1,731,222,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
1,553,669,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
Trading Securities [Abstract]          
Trading, at fair value 40,310,000us-gaap_TradingSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
58,344,000us-gaap_TradingSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
  40,310,000us-gaap_TradingSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
58,344,000us-gaap_TradingSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
Marketable Securities [Abstract]          
Marketable Securities 1,771,532,000us-gaap_MarketableSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
1,612,013,000us-gaap_MarketableSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
  1,771,532,000us-gaap_MarketableSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
1,612,013,000us-gaap_MarketableSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
Available-for-sale Securities [Member] | Investment Securities [Member]          
Available-for-sale Securities [Abstract]          
Unamortized Premium/(Discount) 7,471,000us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
10,014,000us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
  7,471,000us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
10,014,000us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_DebtSecuritiesMember
Floating Interest Rate [Member] | Floating rate auction-rate certificates backed by Government guaranteed student loans          
Available-for-sale Securities [Abstract]          
Available-for-Sale Securities Unpaid Principal Balance 46,600,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AuctionRateSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
74,100,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AuctionRateSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
  46,600,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AuctionRateSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
74,100,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AuctionRateSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Available-for-sale Securities, Amortized Cost Basis 46,600,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AuctionRateSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
74,100,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AuctionRateSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
  46,600,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AuctionRateSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
74,100,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AuctionRateSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Available-for-sale Debt Securities, Accumulated Gross Unrealized Gain, before Tax 0us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AuctionRateSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
0us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AuctionRateSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
  0us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AuctionRateSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
0us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AuctionRateSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Available-for-sale Securities, Unrealized Losses (6,024,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AuctionRateSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
(8,815,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AuctionRateSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
  (6,024,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AuctionRateSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
(8,815,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AuctionRateSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Available-for-sale Securities, Fair Value Disclosure 40,576,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AuctionRateSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
65,285,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AuctionRateSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
  40,576,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AuctionRateSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
65,285,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AuctionRateSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | Asset-backed Securities [Member]          
Available-for-sale Securities [Abstract]          
Available-for-Sale Securities Unpaid Principal Balance 100,730,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
166,185,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
  100,730,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
166,185,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Available-for-sale Securities, Amortized Cost Basis 100,656,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
165,968,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
  100,656,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
165,968,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Available-for-sale Debt Securities, Accumulated Gross Unrealized Gain, before Tax 283,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
195,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
  283,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
195,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Available-for-sale Securities, Unrealized Losses (37,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
(59,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
  (37,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
(59,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Available-for-sale Securities, Fair Value Disclosure 100,902,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
166,104,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
  100,902,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
166,104,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Trading Securities [Abstract]          
Trading Securities - Amount Outstanding 2,868,000agm_TradingSecuritiesAmountOutstanding
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
3,553,000agm_TradingSecuritiesAmountOutstanding
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
  2,868,000agm_TradingSecuritiesAmountOutstanding
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
3,553,000agm_TradingSecuritiesAmountOutstanding
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Trading Securities, Debt, Amortized Cost 2,868,000us-gaap_TradingSecuritiesDebtAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
3,553,000us-gaap_TradingSecuritiesDebtAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
  2,868,000us-gaap_TradingSecuritiesDebtAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
3,553,000us-gaap_TradingSecuritiesDebtAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Trading Securities, Unrealized Gains       0us-gaap_TradingSecuritiesUnrealizedHoldingGain
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
0us-gaap_TradingSecuritiesUnrealizedHoldingGain
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Trading Securities, Unrealized Losses       (2,179,000)us-gaap_TradingSecuritiesUnrealizedHoldingLoss
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
(2,625,000)us-gaap_TradingSecuritiesUnrealizedHoldingLoss
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Trading, at fair value 689,000us-gaap_TradingSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
928,000us-gaap_TradingSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
  689,000us-gaap_TradingSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
928,000us-gaap_TradingSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | Corporate Debt Securities [Member]          
Available-for-sale Securities [Abstract]          
Available-for-Sale Securities Unpaid Principal Balance 10,000,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
109,345,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
  10,000,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
109,345,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Available-for-sale Securities, Amortized Cost Basis 10,000,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
109,342,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
  10,000,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
109,342,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Available-for-sale Debt Securities, Accumulated Gross Unrealized Gain, before Tax 91,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
445,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
  91,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
445,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Available-for-sale Securities, Unrealized Losses 0us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
(18,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
  0us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
(18,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Available-for-sale Securities, Fair Value Disclosure 10,091,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
109,769,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
  10,091,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
109,769,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | Government/GSE Guaranteed Mortgage Backed Securities [Member]          
Available-for-sale Securities [Abstract]          
Available-for-Sale Securities Unpaid Principal Balance 605,053,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
612,413,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
  605,053,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
612,413,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Available-for-sale Securities, Amortized Cost Basis 608,484,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
616,749,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
  608,484,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
616,749,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Available-for-sale Debt Securities, Accumulated Gross Unrealized Gain, before Tax 4,712,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
4,955,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
  4,712,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
4,955,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Available-for-sale Securities, Unrealized Losses (443,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
(435,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
  (443,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
(435,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Available-for-sale Securities, Fair Value Disclosure 612,753,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
621,269,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
  612,753,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
621,269,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | GSE Subordinated Debt [Member}          
Available-for-sale Securities [Abstract]          
Available-for-Sale Securities Unpaid Principal Balance 70,000,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_SubordinatedDebtMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
70,000,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_SubordinatedDebtMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
  70,000,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_SubordinatedDebtMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
70,000,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_SubordinatedDebtMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Available-for-sale Securities, Amortized Cost Basis 70,000,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_SubordinatedDebtMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
70,000,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_SubordinatedDebtMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
  70,000,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_SubordinatedDebtMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
70,000,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_SubordinatedDebtMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Available-for-sale Debt Securities, Accumulated Gross Unrealized Gain, before Tax 0us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_SubordinatedDebtMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
0us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_SubordinatedDebtMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
  0us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_SubordinatedDebtMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
0us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_SubordinatedDebtMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Available-for-sale Securities, Unrealized Losses (3,680,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_SubordinatedDebtMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
(6,615,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_SubordinatedDebtMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
  (3,680,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_SubordinatedDebtMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
(6,615,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_SubordinatedDebtMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Available-for-sale Securities, Fair Value Disclosure 66,320,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_SubordinatedDebtMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
63,385,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_SubordinatedDebtMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
  66,320,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_SubordinatedDebtMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
63,385,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_SubordinatedDebtMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | Taxable Municipal Bonds [Member]          
Available-for-sale Securities [Abstract]          
Available-for-Sale Securities Unpaid Principal Balance   30,595,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_TaxableMunicipalBondsMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
    30,595,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_TaxableMunicipalBondsMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Available-for-sale Securities, Amortized Cost Basis   30,679,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_TaxableMunicipalBondsMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
    30,679,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_TaxableMunicipalBondsMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Available-for-sale Debt Securities, Accumulated Gross Unrealized Gain, before Tax   5,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_TaxableMunicipalBondsMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
    5,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_TaxableMunicipalBondsMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Available-for-sale Securities, Unrealized Losses   (3,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_TaxableMunicipalBondsMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
    (3,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_TaxableMunicipalBondsMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Available-for-sale Securities, Fair Value Disclosure   30,681,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_TaxableMunicipalBondsMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
    30,681,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_TaxableMunicipalBondsMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | US Treasury Securities [Member]          
Available-for-sale Securities [Abstract]          
Available-for-Sale Securities Unpaid Principal Balance 75,000,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
    75,000,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
 
Available-for-sale Securities, Amortized Cost Basis 74,990,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
    74,990,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
 
Available-for-sale Debt Securities, Accumulated Gross Unrealized Gain, before Tax 0us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
    0us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
 
Available-for-sale Securities, Unrealized Losses (11,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
    (11,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
 
Available-for-sale Securities, Fair Value Disclosure 74,979,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
    74,979,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
 
Floating Interest Rate [Member] | Trading Securities [Member] | Asset-backed Securities [Member]          
Available-for-sale Securities [Abstract]          
Unamortized Premium/(Discount) 0us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
0us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
  0us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
0us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_TradingAccountAssetsMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | Available-for-sale Securities [Member] | Floating rate auction-rate certificates backed by Government guaranteed student loans          
Available-for-sale Securities [Abstract]          
Unamortized Premium/(Discount) 0us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AuctionRateSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
0us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AuctionRateSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
  0us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AuctionRateSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
0us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AuctionRateSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | Available-for-sale Securities [Member] | Asset-backed Securities [Member]          
Available-for-sale Securities [Abstract]          
Unamortized Premium/(Discount) (74,000)us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
(217,000)us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
  (74,000)us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
(217,000)us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_AssetBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | Available-for-sale Securities [Member] | Corporate Debt Securities [Member]          
Available-for-sale Securities [Abstract]          
Unamortized Premium/(Discount) 0us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
(3,000)us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
  0us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
(3,000)us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | Available-for-sale Securities [Member] | Government/GSE Guaranteed Mortgage Backed Securities [Member]          
Available-for-sale Securities [Abstract]          
Unamortized Premium/(Discount) 3,431,000us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
4,336,000us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
  3,431,000us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
4,336,000us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | Available-for-sale Securities [Member] | GSE Subordinated Debt [Member}          
Available-for-sale Securities [Abstract]          
Unamortized Premium/(Discount) 0us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_SubordinatedDebtMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
0us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_SubordinatedDebtMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
  0us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_SubordinatedDebtMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
0us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_SubordinatedDebtMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | Available-for-sale Securities [Member] | Taxable Municipal Bonds [Member]          
Available-for-sale Securities [Abstract]          
Unamortized Premium/(Discount)   84,000us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_TaxableMunicipalBondsMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
    84,000us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_TaxableMunicipalBondsMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
Floating Interest Rate [Member] | Available-for-sale Securities [Member] | US Treasury Securities [Member]          
Available-for-sale Securities [Abstract]          
Unamortized Premium/(Discount) (10,000)us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
    (10,000)us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FloatingInterestRateMember
 
Fixed Interest Rate [Member] | Corporate Debt Securities [Member]          
Available-for-sale Securities [Abstract]          
Available-for-Sale Securities Unpaid Principal Balance 30,000,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
55,000,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
  30,000,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
55,000,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Available-for-sale Securities, Amortized Cost Basis 29,990,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
55,048,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
  29,990,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
55,048,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Available-for-sale Debt Securities, Accumulated Gross Unrealized Gain, before Tax 35,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
97,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
  35,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
97,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Available-for-sale Securities, Unrealized Losses 0us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
(4,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
  0us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
(4,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Available-for-sale Securities, Fair Value Disclosure 30,025,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
55,141,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
  30,025,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
55,141,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Fixed Interest Rate [Member] | Government/GSE Guaranteed Mortgage Backed Securities [Member]          
Available-for-sale Securities [Abstract]          
Available-for-Sale Securities Unpaid Principal Balance 853,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
1,173,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
[1]   853,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
1,173,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
[1]
Available-for-sale Securities, Amortized Cost Basis 4,395,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
5,139,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
[1]   4,395,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
5,139,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
[1]
Available-for-sale Debt Securities, Accumulated Gross Unrealized Gain, before Tax 3,807,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
3,518,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
[1]   3,807,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
3,518,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
[1]
Available-for-sale Securities, Unrealized Losses 0us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
0us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
[1]   0us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
0us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
[1]
Available-for-sale Securities, Fair Value Disclosure 8,202,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
[2] 8,657,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
[1]   8,202,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
[2] 8,657,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
[1]
Derivative, Notional Amount 152,400,000invest_DerivativeNotionalAmount
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
152,400,000invest_DerivativeNotionalAmount
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
  152,400,000invest_DerivativeNotionalAmount
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
152,400,000invest_DerivativeNotionalAmount
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Fixed Interest Rate [Member] | GSE Preferred Stock [Member]          
Available-for-sale Securities [Abstract]          
Available-for-Sale Securities Unpaid Principal Balance   78,500,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_PreferredStockMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
    78,500,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_PreferredStockMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Available-for-sale Securities, Amortized Cost Basis   78,865,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_PreferredStockMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
    78,865,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_PreferredStockMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Available-for-sale Debt Securities, Accumulated Gross Unrealized Gain, before Tax   4,296,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_PreferredStockMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
    4,296,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_PreferredStockMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Available-for-sale Securities, Unrealized Losses   0us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_PreferredStockMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
    0us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_PreferredStockMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Available-for-sale Securities, Fair Value Disclosure   83,161,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_PreferredStockMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
    83,161,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_PreferredStockMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Fixed Interest Rate [Member] | USDA Securities [Member]          
Available-for-sale Securities [Abstract]          
Available-for-Sale Securities Unpaid Principal Balance 18,806,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
523,691,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
  18,806,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
523,691,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Available-for-sale Securities, Amortized Cost Basis 18,936,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
523,985,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
  18,936,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
523,985,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Available-for-sale Debt Securities, Accumulated Gross Unrealized Gain, before Tax 3,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
107,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
  3,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
107,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Available-for-sale Securities, Unrealized Losses 0us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
(30,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
  0us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
(30,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Available-for-sale Securities, Fair Value Disclosure 18,939,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
524,062,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
  18,939,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
524,062,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Fixed Interest Rate [Member] | US Treasury Securities [Member]          
Available-for-sale Securities [Abstract]          
Available-for-Sale Securities Unpaid Principal Balance 975,194,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
754,405,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
  975,194,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
754,405,000agm_AvailableforSaleSecuritiesUnpaidPrincipalBalance
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Available-for-sale Securities, Amortized Cost Basis 975,656,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
755,546,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
  975,656,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
755,546,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Available-for-sale Debt Securities, Accumulated Gross Unrealized Gain, before Tax 72,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
95,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
  72,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
95,000us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Available-for-sale Securities, Unrealized Losses (16,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
(8,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
  (16,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
(8,000)us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Available-for-sale Securities, Fair Value Disclosure 975,712,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
755,633,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
  975,712,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
755,633,000us-gaap_AvailableForSaleSecurities
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Fixed Interest Rate [Member] | Available-for-sale Securities [Member] | Corporate Debt Securities [Member]          
Available-for-sale Securities [Abstract]          
Unamortized Premium/(Discount) (10,000)us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
48,000us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
  (10,000)us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
48,000us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Fixed Interest Rate [Member] | Available-for-sale Securities [Member] | Government/GSE Guaranteed Mortgage Backed Securities [Member]          
Available-for-sale Securities [Abstract]          
Unamortized Premium/(Discount) 3,542,000us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
3,966,000us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
[1]   3,542,000us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
3,966,000us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
[1]
Fixed Interest Rate [Member] | Available-for-sale Securities [Member] | GSE Preferred Stock [Member]          
Available-for-sale Securities [Abstract]          
Unamortized Premium/(Discount)   365,000us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_PreferredStockMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
    365,000us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_PreferredStockMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Fixed Interest Rate [Member] | Available-for-sale Securities [Member] | USDA Securities [Member]          
Available-for-sale Securities [Abstract]          
Unamortized Premium/(Discount) 130,000us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
294,000us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
  130,000us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
294,000us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Fixed Interest Rate [Member] | Available-for-sale Securities [Member] | US Treasury Securities [Member]          
Available-for-sale Securities [Abstract]          
Unamortized Premium/(Discount) 462,000us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
1,141,000us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
  462,000us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
1,141,000us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasurySecuritiesMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
Fixed Interest Rate [Member] | Available-for-sale Securities [Member] | Interest-Only-Strip [Member]          
Available-for-sale Securities [Abstract]          
Unamortized Premium/(Discount) $ 7,300,000us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_InterestOnlyStripMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
$ 7,400,000us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_InterestOnlyStripMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
  $ 7,300,000us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_InterestOnlyStripMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
$ 7,400,000us-gaap_DebtInstrumentUnamortizedDiscountPremiumNet
/ us-gaap_GainLossOnInvestmentsByCategoryAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_InterestOnlyStripMember
/ us-gaap_ProductOrServiceAxis
= agm_FixedInterestRateMember
[1] Fair value includes $7.4 million of an interest-only security with a notional amount of $152.4 million.
[2] (1)Fair value includes $7.3 million of an interest-only security with a notional amount of $152.4 million.