XML 106 R85.htm IDEA: XBRL DOCUMENT v2.4.1.9
Equity - Narrative (Details) (USD $)
In Millions, except Share data, unless otherwise specified
3 Months Ended 12 Months Ended
Dec. 31, 2014
Sep. 30, 2014
Jun. 30, 2014
Mar. 31, 2014
Dec. 31, 2013
Sep. 30, 2013
Jun. 30, 2013
Mar. 31, 2013
Dec. 31, 2012
Sep. 30, 2012
Jun. 30, 2012
Mar. 31, 2012
Dec. 31, 2014
class_of_stock
Dec. 31, 2013
Dec. 31, 2012
Class of Stock [Line Items]                              
Number of Classes of Common Stock                         3agm_NumberOfClassesOfCommonStock    
Common stock dividend, per share, cash paid $ 0.14us-gaap_CommonStockDividendsPerShareCashPaid $ 0.14us-gaap_CommonStockDividendsPerShareCashPaid $ 0.14us-gaap_CommonStockDividendsPerShareCashPaid $ 0.14us-gaap_CommonStockDividendsPerShareCashPaid $ 0.12us-gaap_CommonStockDividendsPerShareCashPaid $ 0.12us-gaap_CommonStockDividendsPerShareCashPaid $ 0.12us-gaap_CommonStockDividendsPerShareCashPaid $ 0.12us-gaap_CommonStockDividendsPerShareCashPaid $ 0.10us-gaap_CommonStockDividendsPerShareCashPaid $ 0.1us-gaap_CommonStockDividendsPerShareCashPaid $ 0.1us-gaap_CommonStockDividendsPerShareCashPaid $ 0.10us-gaap_CommonStockDividendsPerShareCashPaid $ 0.56us-gaap_CommonStockDividendsPerShareCashPaid $ 0.48us-gaap_CommonStockDividendsPerShareCashPaid $ 0.40us-gaap_CommonStockDividendsPerShareCashPaid
Common Class A, Voting [Member]                              
Class of Stock [Line Items]                              
Common Stock, Maximum Ownership Percentage by a Beneficial Owner 33.00%agm_CommonStockMaximumOwnershipPercentageByBeneficalOwner
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
                      33.00%agm_CommonStockMaximumOwnershipPercentageByBeneficalOwner
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
   
Series A Preferred Stock [Member]                              
Class of Stock [Line Items]                              
Preferred Stock, shares issued 2,400,000us-gaap_PreferredStockSharesIssued
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesAPreferredStockMember
      2,400,000us-gaap_PreferredStockSharesIssued
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesAPreferredStockMember
              2,400,000us-gaap_PreferredStockSharesIssued
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesAPreferredStockMember
2,400,000us-gaap_PreferredStockSharesIssued
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesAPreferredStockMember
 
Preferred Stock, shares outstanding 2,400,000us-gaap_PreferredStockSharesOutstanding
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesAPreferredStockMember
      2,400,000us-gaap_PreferredStockSharesOutstanding
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesAPreferredStockMember
              2,400,000us-gaap_PreferredStockSharesOutstanding
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesAPreferredStockMember
2,400,000us-gaap_PreferredStockSharesOutstanding
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesAPreferredStockMember
 
Preferred Stock, Dividend Rate, Percentage                         5.875%us-gaap_PreferredStockDividendRatePercentage
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesAPreferredStockMember
   
Payments of Stock Issuance Costs                           $ 1.7us-gaap_PaymentsOfStockIssuanceCosts
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesAPreferredStockMember
 
Preferred Stock, Par or Stated Value Per Share $ 25us-gaap_PreferredStockParOrStatedValuePerShare
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesAPreferredStockMember
      $ 25us-gaap_PreferredStockParOrStatedValuePerShare
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesAPreferredStockMember
              $ 25us-gaap_PreferredStockParOrStatedValuePerShare
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesAPreferredStockMember
$ 25us-gaap_PreferredStockParOrStatedValuePerShare
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesAPreferredStockMember
 
Preferred Stock, Liquidation Preference Per Share $ 25us-gaap_PreferredStockLiquidationPreference
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesAPreferredStockMember
                      $ 25us-gaap_PreferredStockLiquidationPreference
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesAPreferredStockMember
   
Series B Preferred Stock [Member]                              
Class of Stock [Line Items]                              
Preferred Stock, shares issued 3,000,000us-gaap_PreferredStockSharesIssued
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesBPreferredStockMember
      0us-gaap_PreferredStockSharesIssued
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesBPreferredStockMember
              3,000,000us-gaap_PreferredStockSharesIssued
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesBPreferredStockMember
0us-gaap_PreferredStockSharesIssued
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesBPreferredStockMember
 
Preferred Stock, shares outstanding 3,000,000us-gaap_PreferredStockSharesOutstanding
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesBPreferredStockMember
      0us-gaap_PreferredStockSharesOutstanding
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesBPreferredStockMember
              3,000,000us-gaap_PreferredStockSharesOutstanding
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesBPreferredStockMember
0us-gaap_PreferredStockSharesOutstanding
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesBPreferredStockMember
 
Preferred Stock, Dividend Rate, Percentage                         6.875%us-gaap_PreferredStockDividendRatePercentage
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesBPreferredStockMember
   
Payments of Stock Issuance Costs                         1.9us-gaap_PaymentsOfStockIssuanceCosts
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesBPreferredStockMember
   
Preferred Stock, Par or Stated Value Per Share $ 25us-gaap_PreferredStockParOrStatedValuePerShare
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesBPreferredStockMember
      $ 0us-gaap_PreferredStockParOrStatedValuePerShare
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesBPreferredStockMember
              $ 25us-gaap_PreferredStockParOrStatedValuePerShare
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesBPreferredStockMember
$ 0us-gaap_PreferredStockParOrStatedValuePerShare
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesBPreferredStockMember
 
Preferred Stock, Liquidation Preference Per Share $ 25us-gaap_PreferredStockLiquidationPreference
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesBPreferredStockMember
                      $ 25us-gaap_PreferredStockLiquidationPreference
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesBPreferredStockMember
   
Series C Preferred Stock [Member]                              
Class of Stock [Line Items]                              
Preferred Stock, shares issued 3,000,000us-gaap_PreferredStockSharesIssued
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesCPreferredStockMember
      0us-gaap_PreferredStockSharesIssued
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesCPreferredStockMember
              3,000,000us-gaap_PreferredStockSharesIssued
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesCPreferredStockMember
0us-gaap_PreferredStockSharesIssued
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesCPreferredStockMember
 
Preferred Stock, shares outstanding 3,000,000us-gaap_PreferredStockSharesOutstanding
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesCPreferredStockMember
      0us-gaap_PreferredStockSharesOutstanding
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesCPreferredStockMember
              3,000,000us-gaap_PreferredStockSharesOutstanding
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesCPreferredStockMember
0us-gaap_PreferredStockSharesOutstanding
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesCPreferredStockMember
 
Payments of Stock Issuance Costs                         $ 1.6us-gaap_PaymentsOfStockIssuanceCosts
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesCPreferredStockMember
   
Preferred Stock, Par or Stated Value Per Share $ 25us-gaap_PreferredStockParOrStatedValuePerShare
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesCPreferredStockMember
      $ 0us-gaap_PreferredStockParOrStatedValuePerShare
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesCPreferredStockMember
              $ 25us-gaap_PreferredStockParOrStatedValuePerShare
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesCPreferredStockMember
$ 0us-gaap_PreferredStockParOrStatedValuePerShare
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesCPreferredStockMember
 
Preferred Stock, Liquidation Preference Per Share $ 25us-gaap_PreferredStockLiquidationPreference
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesCPreferredStockMember
                      $ 25us-gaap_PreferredStockLiquidationPreference
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesCPreferredStockMember
   
Retired Series C Preferred Stock [Member]                              
Class of Stock [Line Items]                              
Preferred Stock, Liquidation Preference Per Share $ 1,000us-gaap_PreferredStockLiquidationPreference
/ us-gaap_StatementClassOfStockAxis
= agm_RetiredSeriesCPreferredStockMember
                      $ 1,000us-gaap_PreferredStockLiquidationPreference
/ us-gaap_StatementClassOfStockAxis
= agm_RetiredSeriesCPreferredStockMember
   
Up to but excluding July 17, 2024 [Member] | Series C Preferred Stock [Member]                              
Class of Stock [Line Items]                              
Preferred Stock, Dividend Rate, Percentage                         6.00%us-gaap_PreferredStockDividendRatePercentage
/ agm_DividendRateByPeriodAxis
= agm_UptobutexcludingJuly172024Member
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesCPreferredStockMember
   
July 17, 2024, thereafter [Member] | Series C Preferred Stock [Member]                              
Class of Stock [Line Items]                              
Preferred Stock, Dividend Variable Rate, Percentage                         3.26%agm_PreferredStockDividendVariableRatePercentage
/ agm_DividendRateByPeriodAxis
= agm_July172024thereafterMember
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesCPreferredStockMember