XML 107 R90.htm IDEA: XBRL DOCUMENT v2.4.1.9
Derivative Instruments Derivatives 1 - Notional and FV Position (Details) (USD $)
Dec. 31, 2014
Dec. 31, 2013
Asset Derivatives [Abstract]    
Notional amount $ 183,204,000,000us-gaap_DerivativeAssetNotionalAmount $ 245,573,000,000us-gaap_DerivativeAssetNotionalAmount
Derivative asset, estimated fair value 1,485,000,000fnm_DerivativeFairValueGrossAssetAllDerivatives 2,073,000,000fnm_DerivativeFairValueGrossAssetAllDerivatives
Netting adjustment (5,186,000,000)us-gaap_DerivativeAssetFairValueGrossLiability (8,422,000,000)us-gaap_DerivativeAssetFairValueGrossLiability
Derivative Liabilities [Abstract]    
Notional amount 408,714,000,000us-gaap_DerivativeLiabilityNotionalAmount 380,094,000,000us-gaap_DerivativeLiabilityNotionalAmount
Derivative liability, estimated fair value (614,000,000)fnm_DerivativeLiabilityFairValueGrossLiabilityAllDerivatives (1,469,000,000)fnm_DerivativeLiabilityFairValueGrossLiabilityAllDerivatives
Netting adjustment 10,194,000,000us-gaap_DerivativeLiabilityFairValueGrossAsset  
Table Footnote [Abstract]    
Cash collateral posted for derivative instruments 5,300,000,000fnm_CashCollateralPostedForDerivativeInstruments 2,000,000,000fnm_CashCollateralPostedForDerivativeInstruments
Cash collateral received for derivative instruments 245,000,000fnm_CashCollateralReceivedForDerivativeInstruments 1,000,000,000fnm_CashCollateralReceivedForDerivativeInstruments
Risk management derivatives [Member]    
Asset Derivatives [Abstract]    
Notional amount 128,628,000,000us-gaap_DerivativeAssetNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
205,736,000,000us-gaap_DerivativeAssetNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Derivative asset, estimated fair value 5,667,000,000fnm_DerivativeFairValueGrossAssetAllDerivatives
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
9,444,000,000fnm_DerivativeFairValueGrossAssetAllDerivatives
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Accrued interest receivable, estimated fair value 749,000,000fnm_DerivativeAssetsInterestReceivable
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
786,000,000fnm_DerivativeAssetsInterestReceivable
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Netting adjustment (5,186,000,000)us-gaap_DerivativeAssetFairValueGrossLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
(8,422,000,000)us-gaap_DerivativeAssetFairValueGrossLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Total net risk management derivatives, estimated fair value 1,230,000,000us-gaap_DerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
1,808,000,000us-gaap_DerivativeAssets
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Derivative Liabilities [Abstract]    
Notional amount 344,264,000,000us-gaap_DerivativeLiabilityNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
346,994,000,000us-gaap_DerivativeLiabilityNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Derivative liability, estimated fair value (9,451,000,000)fnm_DerivativeLiabilityFairValueGrossLiabilityAllDerivatives
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
(9,695,000,000)fnm_DerivativeLiabilityFairValueGrossLiabilityAllDerivatives
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Accrued interest receivable (payable), estimated fair value (1,013,000,000)fnm_DerivativeLiabilityInterestPayable
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
(930,000,000)fnm_DerivativeLiabilityInterestPayable
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Netting adjustment 10,194,000,000us-gaap_DerivativeLiabilityFairValueGrossAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
9,370,000,000us-gaap_DerivativeLiabilityFairValueGrossAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Total net risk management derivatives, estimated fair value (270,000,000)us-gaap_DerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
(1,255,000,000)us-gaap_DerivativeLiabilities
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Risk management derivatives [Member] | Pay-fixed Swap [Member]    
Asset Derivatives [Abstract]    
Notional amount 41,965,000,000us-gaap_DerivativeAssetNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= fnm_PayFixedSwapMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
68,637,000,000us-gaap_DerivativeAssetNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= fnm_PayFixedSwapMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Derivative asset, estimated fair value 733,000,000fnm_DerivativeFairValueGrossAssetAllDerivatives
/ us-gaap_DerivativeByNatureAxis
= fnm_PayFixedSwapMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
5,378,000,000fnm_DerivativeFairValueGrossAssetAllDerivatives
/ us-gaap_DerivativeByNatureAxis
= fnm_PayFixedSwapMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Derivative Liabilities [Abstract]    
Notional amount 123,557,000,000us-gaap_DerivativeLiabilityNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= fnm_PayFixedSwapMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
93,428,000,000us-gaap_DerivativeLiabilityNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= fnm_PayFixedSwapMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Derivative liability, estimated fair value (7,125,000,000)fnm_DerivativeLiabilityFairValueGrossLiabilityAllDerivatives
/ us-gaap_DerivativeByNatureAxis
= fnm_PayFixedSwapMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
(4,759,000,000)fnm_DerivativeLiabilityFairValueGrossLiabilityAllDerivatives
/ us-gaap_DerivativeByNatureAxis
= fnm_PayFixedSwapMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Risk management derivatives [Member] | Receive-fixed Swap [Member]    
Asset Derivatives [Abstract]    
Notional amount 67,629,000,000us-gaap_DerivativeAssetNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= fnm_ReceiveFixedSwapMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
67,527,000,000us-gaap_DerivativeAssetNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= fnm_ReceiveFixedSwapMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Derivative asset, estimated fair value 4,486,000,000fnm_DerivativeFairValueGrossAssetAllDerivatives
/ us-gaap_DerivativeByNatureAxis
= fnm_ReceiveFixedSwapMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
3,320,000,000fnm_DerivativeFairValueGrossAssetAllDerivatives
/ us-gaap_DerivativeByNatureAxis
= fnm_ReceiveFixedSwapMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Derivative Liabilities [Abstract]    
Notional amount 157,272,000,000us-gaap_DerivativeLiabilityNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= fnm_ReceiveFixedSwapMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
156,250,000,000us-gaap_DerivativeLiabilityNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= fnm_ReceiveFixedSwapMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Derivative liability, estimated fair value (1,302,000,000)fnm_DerivativeLiabilityFairValueGrossLiabilityAllDerivatives
/ us-gaap_DerivativeByNatureAxis
= fnm_ReceiveFixedSwapMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
(3,813,000,000)fnm_DerivativeLiabilityFairValueGrossLiabilityAllDerivatives
/ us-gaap_DerivativeByNatureAxis
= fnm_ReceiveFixedSwapMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Risk management derivatives [Member] | Basis Swap [Member]    
Asset Derivatives [Abstract]    
Notional amount 5,769,000,000us-gaap_DerivativeAssetNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_BasisSwapMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
27,014,000,000us-gaap_DerivativeAssetNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_BasisSwapMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Derivative asset, estimated fair value 123,000,000fnm_DerivativeFairValueGrossAssetAllDerivatives
/ us-gaap_DerivativeByNatureAxis
= us-gaap_BasisSwapMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
36,000,000fnm_DerivativeFairValueGrossAssetAllDerivatives
/ us-gaap_DerivativeByNatureAxis
= us-gaap_BasisSwapMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Derivative Liabilities [Abstract]    
Notional amount 7,100,000,000us-gaap_DerivativeLiabilityNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_BasisSwapMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
600,000,000us-gaap_DerivativeLiabilityNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_BasisSwapMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Derivative liability, estimated fair value (2,000,000)fnm_DerivativeLiabilityFairValueGrossLiabilityAllDerivatives
/ us-gaap_DerivativeByNatureAxis
= us-gaap_BasisSwapMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
0fnm_DerivativeLiabilityFairValueGrossLiabilityAllDerivatives
/ us-gaap_DerivativeByNatureAxis
= us-gaap_BasisSwapMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Risk management derivatives [Member] | Foreign Currency Swap [Member]    
Asset Derivatives [Abstract]    
Notional amount 344,000,000us-gaap_DerivativeAssetNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_CurrencySwapMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
389,000,000us-gaap_DerivativeAssetNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_CurrencySwapMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Derivative asset, estimated fair value 144,000,000fnm_DerivativeFairValueGrossAssetAllDerivatives
/ us-gaap_DerivativeByNatureAxis
= us-gaap_CurrencySwapMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
120,000,000fnm_DerivativeFairValueGrossAssetAllDerivatives
/ us-gaap_DerivativeByNatureAxis
= us-gaap_CurrencySwapMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Derivative Liabilities [Abstract]    
Notional amount 273,000,000us-gaap_DerivativeLiabilityNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_CurrencySwapMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
653,000,000us-gaap_DerivativeLiabilityNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_CurrencySwapMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Derivative liability, estimated fair value (30,000,000)fnm_DerivativeLiabilityFairValueGrossLiabilityAllDerivatives
/ us-gaap_DerivativeByNatureAxis
= us-gaap_CurrencySwapMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
(38,000,000)fnm_DerivativeLiabilityFairValueGrossLiabilityAllDerivatives
/ us-gaap_DerivativeByNatureAxis
= us-gaap_CurrencySwapMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Risk management derivatives [Member] | Pay-fixed Swaption [Member]    
Asset Derivatives [Abstract]    
Notional amount 11,100,000,000us-gaap_DerivativeAssetNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= fnm_PayFixedSwaptionMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
33,400,000,000us-gaap_DerivativeAssetNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= fnm_PayFixedSwaptionMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Derivative asset, estimated fair value 57,000,000fnm_DerivativeFairValueGrossAssetAllDerivatives
/ us-gaap_DerivativeByNatureAxis
= fnm_PayFixedSwaptionMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
445,000,000fnm_DerivativeFairValueGrossAssetAllDerivatives
/ us-gaap_DerivativeByNatureAxis
= fnm_PayFixedSwaptionMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Derivative Liabilities [Abstract]    
Notional amount 26,525,000,000us-gaap_DerivativeLiabilityNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= fnm_PayFixedSwaptionMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
48,025,000,000us-gaap_DerivativeLiabilityNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= fnm_PayFixedSwaptionMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Derivative liability, estimated fair value (175,000,000)fnm_DerivativeLiabilityFairValueGrossLiabilityAllDerivatives
/ us-gaap_DerivativeByNatureAxis
= fnm_PayFixedSwaptionMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
(600,000,000)fnm_DerivativeLiabilityFairValueGrossLiabilityAllDerivatives
/ us-gaap_DerivativeByNatureAxis
= fnm_PayFixedSwaptionMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Risk management derivatives [Member] | Receive-fixed Swaption [Member]    
Asset Derivatives [Abstract]    
Notional amount 750,000,000us-gaap_DerivativeAssetNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= fnm_ReceiveFixedSwaptionMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
8,000,000,000us-gaap_DerivativeAssetNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= fnm_ReceiveFixedSwaptionMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Derivative asset, estimated fair value 96,000,000fnm_DerivativeFairValueGrossAssetAllDerivatives
/ us-gaap_DerivativeByNatureAxis
= fnm_ReceiveFixedSwaptionMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
117,000,000fnm_DerivativeFairValueGrossAssetAllDerivatives
/ us-gaap_DerivativeByNatureAxis
= fnm_ReceiveFixedSwaptionMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Derivative Liabilities [Abstract]    
Notional amount 29,525,000,000us-gaap_DerivativeLiabilityNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= fnm_ReceiveFixedSwaptionMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
48,025,000,000us-gaap_DerivativeLiabilityNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= fnm_ReceiveFixedSwaptionMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Derivative liability, estimated fair value (816,000,000)fnm_DerivativeLiabilityFairValueGrossLiabilityAllDerivatives
/ us-gaap_DerivativeByNatureAxis
= fnm_ReceiveFixedSwaptionMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
(484,000,000)fnm_DerivativeLiabilityFairValueGrossLiabilityAllDerivatives
/ us-gaap_DerivativeByNatureAxis
= fnm_ReceiveFixedSwaptionMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Risk management derivatives [Member] | Other [Member]    
Asset Derivatives [Abstract]    
Notional amount 1,071,000,000us-gaap_DerivativeAssetNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_OtherContractMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
769,000,000us-gaap_DerivativeAssetNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_OtherContractMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Derivative asset, estimated fair value 28,000,000fnm_DerivativeFairValueGrossAssetAllDerivatives
/ us-gaap_DerivativeByNatureAxis
= us-gaap_OtherContractMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
28,000,000fnm_DerivativeFairValueGrossAssetAllDerivatives
/ us-gaap_DerivativeByNatureAxis
= us-gaap_OtherContractMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Derivative Liabilities [Abstract]    
Notional amount 12,000,000us-gaap_DerivativeLiabilityNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_OtherContractMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
13,000,000us-gaap_DerivativeLiabilityNotionalAmount
/ us-gaap_DerivativeByNatureAxis
= us-gaap_OtherContractMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Derivative liability, estimated fair value (1,000,000)fnm_DerivativeLiabilityFairValueGrossLiabilityAllDerivatives
/ us-gaap_DerivativeByNatureAxis
= us-gaap_OtherContractMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
(1,000,000)fnm_DerivativeLiabilityFairValueGrossLiabilityAllDerivatives
/ us-gaap_DerivativeByNatureAxis
= us-gaap_OtherContractMember
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
Mortgage commitment derivatives [Member]    
Asset Derivatives [Abstract]    
Notional amount 54,576,000,000us-gaap_DerivativeAssetNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
39,837,000,000us-gaap_DerivativeAssetNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
Derivative asset, estimated fair value 255,000,000fnm_DerivativeFairValueGrossAssetAllDerivatives
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
265,000,000fnm_DerivativeFairValueGrossAssetAllDerivatives
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
Netting adjustment 0us-gaap_DerivativeAssetFairValueGrossLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
0us-gaap_DerivativeAssetFairValueGrossLiability
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
Derivative Liabilities [Abstract]    
Notional amount 64,450,000,000us-gaap_DerivativeLiabilityNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
33,100,000,000us-gaap_DerivativeLiabilityNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
Derivative liability, estimated fair value (344,000,000)fnm_DerivativeLiabilityFairValueGrossLiabilityAllDerivatives
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
(214,000,000)fnm_DerivativeLiabilityFairValueGrossLiabilityAllDerivatives
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
Netting adjustment 0us-gaap_DerivativeLiabilityFairValueGrossAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
0us-gaap_DerivativeLiabilityFairValueGrossAsset
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
Mortgage commitment derivatives [Member] | Mortgage Commitments to Purchase Whole Loans [Member]    
Asset Derivatives [Abstract]    
Notional amount 6,157,000,000us-gaap_DerivativeAssetNotionalAmount
/ fnm_DerivativeInstrumentByPurposeAxis
= fnm_MortgageCommitmentsToPurchaseWholeLoansMember
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
1,138,000,000us-gaap_DerivativeAssetNotionalAmount
/ fnm_DerivativeInstrumentByPurposeAxis
= fnm_MortgageCommitmentsToPurchaseWholeLoansMember
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
Derivative asset, estimated fair value 28,000,000fnm_DerivativeFairValueGrossAssetAllDerivatives
/ fnm_DerivativeInstrumentByPurposeAxis
= fnm_MortgageCommitmentsToPurchaseWholeLoansMember
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
1,000,000fnm_DerivativeFairValueGrossAssetAllDerivatives
/ fnm_DerivativeInstrumentByPurposeAxis
= fnm_MortgageCommitmentsToPurchaseWholeLoansMember
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
Derivative Liabilities [Abstract]    
Notional amount 428,000,000us-gaap_DerivativeLiabilityNotionalAmount
/ fnm_DerivativeInstrumentByPurposeAxis
= fnm_MortgageCommitmentsToPurchaseWholeLoansMember
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
4,353,000,000us-gaap_DerivativeLiabilityNotionalAmount
/ fnm_DerivativeInstrumentByPurposeAxis
= fnm_MortgageCommitmentsToPurchaseWholeLoansMember
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
Derivative liability, estimated fair value 0fnm_DerivativeLiabilityFairValueGrossLiabilityAllDerivatives
/ fnm_DerivativeInstrumentByPurposeAxis
= fnm_MortgageCommitmentsToPurchaseWholeLoansMember
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
(31,000,000)fnm_DerivativeLiabilityFairValueGrossLiabilityAllDerivatives
/ fnm_DerivativeInstrumentByPurposeAxis
= fnm_MortgageCommitmentsToPurchaseWholeLoansMember
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
Mortgage commitment derivatives [Member] | Forward Contracts to Purchase Mortgage-related Securities [Member]    
Asset Derivatives [Abstract]    
Notional amount 43,533,000,000us-gaap_DerivativeAssetNotionalAmount
/ fnm_DerivativeInstrumentByPurposeAxis
= fnm_ForwardContractsToPurchaseMortgageRelatedSecuritiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
3,276,000,000us-gaap_DerivativeAssetNotionalAmount
/ fnm_DerivativeInstrumentByPurposeAxis
= fnm_ForwardContractsToPurchaseMortgageRelatedSecuritiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
Derivative asset, estimated fair value 223,000,000fnm_DerivativeFairValueGrossAssetAllDerivatives
/ fnm_DerivativeInstrumentByPurposeAxis
= fnm_ForwardContractsToPurchaseMortgageRelatedSecuritiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
4,000,000fnm_DerivativeFairValueGrossAssetAllDerivatives
/ fnm_DerivativeInstrumentByPurposeAxis
= fnm_ForwardContractsToPurchaseMortgageRelatedSecuritiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
Derivative Liabilities [Abstract]    
Notional amount 6,112,000,000us-gaap_DerivativeLiabilityNotionalAmount
/ fnm_DerivativeInstrumentByPurposeAxis
= fnm_ForwardContractsToPurchaseMortgageRelatedSecuritiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
20,861,000,000us-gaap_DerivativeLiabilityNotionalAmount
/ fnm_DerivativeInstrumentByPurposeAxis
= fnm_ForwardContractsToPurchaseMortgageRelatedSecuritiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
Derivative liability, estimated fair value (8,000,000)fnm_DerivativeLiabilityFairValueGrossLiabilityAllDerivatives
/ fnm_DerivativeInstrumentByPurposeAxis
= fnm_ForwardContractsToPurchaseMortgageRelatedSecuritiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
(168,000,000)fnm_DerivativeLiabilityFairValueGrossLiabilityAllDerivatives
/ fnm_DerivativeInstrumentByPurposeAxis
= fnm_ForwardContractsToPurchaseMortgageRelatedSecuritiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
Mortgage commitment derivatives [Member] | Forward Contracts to Sell Mortgage-related Securities [Member]    
Asset Derivatives [Abstract]    
Notional amount 4,886,000,000us-gaap_DerivativeAssetNotionalAmount
/ fnm_DerivativeInstrumentByPurposeAxis
= fnm_ForwardContractsToSellMortgageRelatedSecuritiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
35,423,000,000us-gaap_DerivativeAssetNotionalAmount
/ fnm_DerivativeInstrumentByPurposeAxis
= fnm_ForwardContractsToSellMortgageRelatedSecuritiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
Derivative asset, estimated fair value 4,000,000fnm_DerivativeFairValueGrossAssetAllDerivatives
/ fnm_DerivativeInstrumentByPurposeAxis
= fnm_ForwardContractsToSellMortgageRelatedSecuritiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
260,000,000fnm_DerivativeFairValueGrossAssetAllDerivatives
/ fnm_DerivativeInstrumentByPurposeAxis
= fnm_ForwardContractsToSellMortgageRelatedSecuritiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
Derivative Liabilities [Abstract]    
Notional amount 57,910,000,000us-gaap_DerivativeLiabilityNotionalAmount
/ fnm_DerivativeInstrumentByPurposeAxis
= fnm_ForwardContractsToSellMortgageRelatedSecuritiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
7,886,000,000us-gaap_DerivativeLiabilityNotionalAmount
/ fnm_DerivativeInstrumentByPurposeAxis
= fnm_ForwardContractsToSellMortgageRelatedSecuritiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
Derivative liability, estimated fair value $ (336,000,000)fnm_DerivativeLiabilityFairValueGrossLiabilityAllDerivatives
/ fnm_DerivativeInstrumentByPurposeAxis
= fnm_ForwardContractsToSellMortgageRelatedSecuritiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember
$ (15,000,000)fnm_DerivativeLiabilityFairValueGrossLiabilityAllDerivatives
/ fnm_DerivativeInstrumentByPurposeAxis
= fnm_ForwardContractsToSellMortgageRelatedSecuritiesMember
/ us-gaap_DerivativeInstrumentRiskAxis
= fnm_MortgageCommitmentDerivativesMember