How is Tsp G Fund Rate Calculated

TSP G Fund Rate Calculator body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; line-height: 1.6; color: #333; max-width: 800px; margin: 0 auto; padding: 20px; } .calculator-container { background: #f9f9f9; border: 1px solid #e0e0e0; border-radius: 8px; padding: 25px; margin-bottom: 40px; box-shadow: 0 4px 6px rgba(0,0,0,0.05); } .calc-header { text-align: center; margin-bottom: 25px; color: #2c3e50; } .input-group { margin-bottom: 20px; background: #fff; padding: 15px; border-radius: 6px; border: 1px solid #ddd; } .input-group h4 { margin-top: 0; margin-bottom: 10px; color: #1a73e8; font-size: 16px; } .input-row { display: flex; gap: 15px; flex-wrap: wrap; } .input-field { flex: 1; min-width: 200px; } label { display: block; margin-bottom: 5px; font-weight: 600; font-size: 14px; } input[type="number"] { width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 4px; font-size: 16px; box-sizing: border-box; } button { display: block; width: 100%; padding: 12px; background-color: #1a73e8; color: white; border: none; border-radius: 4px; font-size: 18px; font-weight: bold; cursor: pointer; margin-top: 10px; transition: background 0.2s; } button:hover { background-color: #1557b0; } #result-area { margin-top: 25px; display: none; animation: fadeIn 0.5s; } .result-box { background: #e8f0fe; border-left: 5px solid #1a73e8; padding: 20px; margin-top: 15px; } .result-metric { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; border-bottom: 1px solid #d0e0fd; padding-bottom: 10px; } .result-metric:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; } .metric-label { font-weight: 600; color: #444; } .metric-value { font-size: 18px; font-weight: bold; color: #1a73e8; } .formula-display { font-family: monospace; background: #333; color: #fff; padding: 10px; border-radius: 4px; overflow-x: auto; margin-top: 10px; font-size: 14px; } @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } article h1, article h2 { color: #2c3e50; } article p { margin-bottom: 15px; } .note { font-size: 13px; color: #666; font-style: italic; margin-top: 10px; }

G Fund Rate Simulator

Simulate the weighted average calculation based on Treasury buckets.

Treasury Bucket 1 (4-10 Years Maturity)

Treasury Bucket 2 (10-20 Years Maturity)

Treasury Bucket 3 (20+ Years Maturity)

Your TSP G Fund Balance

Calculation Results

Total Treasury Value Included: $0 Billion
Calculated G Fund Rate (Annual): 0.00%
Approx. Monthly Earnings on Balance: $0.00
The Logic:
(V1 × Y1) + (V2 × Y2) + (V3 × Y3) / Total V = Rate

Note: This is a simulation. The actual G Fund rate includes all outstanding Treasury securities with 4 or more years to maturity, updated monthly.

function calculateGFundRate() { // Get Inputs for Bucket 1 var v1 = parseFloat(document.getElementById('bucket1_volume').value) || 0; var y1 = parseFloat(document.getElementById('bucket1_yield').value) || 0; // Get Inputs for Bucket 2 var v2 = parseFloat(document.getElementById('bucket2_volume').value) || 0; var y2 = parseFloat(document.getElementById('bucket2_yield').value) || 0; // Get Inputs for Bucket 3 var v3 = parseFloat(document.getElementById('bucket3_volume').value) || 0; var y3 = parseFloat(document.getElementById('bucket3_yield').value) || 0; // Get User Balance var userBal = parseFloat(document.getElementById('user_balance').value) || 0; // Validation if (v1 + v2 + v3 <= 0) { alert("Please enter a positive volume for at least one Treasury bucket."); return; } // Logic: Weighted Average Calculation // Step 1: Calculate the "weight" (Volume * Yield) for each bucket var w1 = v1 * y1; var w2 = v2 * y2; var w3 = v3 * y3; // Step 2: Sum the volumes and the weights var totalVolume = v1 + v2 + v3; var totalWeightedSum = w1 + w2 + w3; // Step 3: Divide Total Weighted Sum by Total Volume to get Weighted Average var weightedRate = totalWeightedSum / totalVolume; // Calculate User Earnings // Annual return = Balance * (Rate / 100) // Monthly return approx = Annual / 12 var annualEarnings = userBal * (weightedRate / 100); var monthlyEarnings = annualEarnings / 12; // Format Output document.getElementById('res_total_volume').innerText = "$" + totalVolume.toLocaleString() + " Billion"; document.getElementById('res_weighted_rate').innerText = weightedRate.toFixed(4) + "%"; document.getElementById('res_monthly_earnings').innerText = "$" + monthlyEarnings.toFixed(2); // Update Formula Display for educational value var formulaText = `[(${v1} × ${y1}%) + (${v2} × ${y2}%) + (${v3} × ${y3}%)] ÷ ${totalVolume} = ${weightedRate.toFixed(4)}%`; document.getElementById('formula_breakdown').innerText = formulaText; // Show Results document.getElementById('result-area').style.display = 'block'; }

How Is TSP G Fund Rate Calculated?

The Thrift Savings Plan (TSP) G Fund (Government Securities Investment Fund) is unique among financial products. Unlike a typical bond fund where the share price fluctuates based on interest rates, the G Fund's principal is guaranteed, and its interest rate is set statutorily by the U.S. Government.

Many participants wonder how this rate is determined and why it changes from month to month. Understanding the math behind the G Fund rate can help federal employees and uniformed service members better plan their retirement allocations.

The Statutory Formula

The G Fund interest rate is not arbitrary. It is calculated specifically according to 5 U.S.C. § 8438(e)(2). The law mandates that the G Fund rate equal the weighted average yield of all outstanding U.S. Treasury securities that have 4 or more years remaining to maturity.

This specific calculation provides a significant advantage: it offers the safety of a short-term security (no loss of principal) with the yield typically associated with longer-term bonds.

Step-by-Step Calculation Logic

To calculate the rate, the U.S. Treasury performs a weighted average calculation. Our calculator above simulates this process using three simplified "buckets" of securities. Here is how the actual process works:

  1. Identify Eligible Securities: The Treasury lists every outstanding note and bond that has 4+ years left until it matures. T-Bills are excluded because their maturity is too short (less than a year).
  2. Determine Face Value: They determine the total dollar amount outstanding for each of these securities.
  3. Determine Yield: They identify the current yield to maturity for each specific security.
  4. Weight the Average: The calculation multiplies the yield of each security by its face value (giving more "weight" to securities with larger outstanding amounts).
  5. Final Division: The sum of these weighted yields is divided by the total face value of all eligible securities to produce the G Fund interest rate.

Why Does the G Fund Rate Change?

The G Fund rate is recalculated monthly. It fluctuates based on the broader bond market. If the yields on U.S. Treasury notes and bonds rise (due to Federal Reserve rate hikes or economic conditions), the G Fund rate will eventually rise as well.

Conversely, if market yields fall, the G Fund rate will decrease. However, because the calculation includes older bonds issued years ago (some perhaps with higher interest rates from previous economic cycles), the G Fund rate tends to be less volatile than the current spot market rates for new 10-year Treasuries.

Implications for Investors

Because the rate is a weighted average of medium-to-long term securities:

  • The G Fund generally outpaces inflation over the long term, though not as aggressively as the C, S, or I funds.
  • It avoids the risk of capital loss. Even if interest rates skyrocket (which usually hurts bond prices), the G Fund price remains fixed at $1.00 per share, and the yield simply adjusts upward the following month.

Use the calculator above to see how changes in the volume or yield of different Treasury buckets impact the final weighted average rate.

Leave a Comment