After turning down from the long-standing trendline connecting its December 2024 and October 2025 peaks, the S&P 500 has steadied without reclaiming its high. Volatility is sitting on multi-year support and sentiment remains optimistic, a combination that leaves the market vulnerable if conditions weaken. The fundamental backdrop is still constructive, but stretched valuations and the historically difficult September stretch of a midterm year argue for patience rather than chasing the advance. Our mechanical, rules-based system has produced a +16.78% year-to-date return, well ahead of buy-and-hold's +10.53% and the G Fund's +2.94%.
Our main goal is to maximize TSP savings during bull market cycles and protect capital during potentially unstable market periods. Using a combination of technical and fundamental analysis validated by a mechanical impulse system, ThriftTrading has averaged +10.16% per year since 2005, compared to +7.63% for buy-and-hold and +2.93% for the G Fund, outperforming buy-and-hold by +2.53% annually and beating it outright in 15 of 21 years. Calculating returns.
Sharpe and Sortino ratios calculated using the G Fund as the risk-free rate, 2005-2025. The Sortino ratio measures return per unit of downside volatility only.
Every number above includes our bad years, and we would rather point at them than have you hunt for them. Buy-and-hold has beaten us in 6 of 21 years: 2012, 2013, 2016, 2020, 2021, and 2025. Our worst relative year was 2012, when the system was whipsawed by a choppy market and we finished at -4.60% while buy-and-hold gained 11.80%. Our worst absolute year was 2022, at -13.28%, roughly matching buy-and-hold's decline.
What we did in those years is the same thing we did in the good ones: followed the methodology, said so plainly in the weekly newsletter, and made the next call by the same rules. No system that manages risk wins every year. The years it costs you are the premium; years like 2008, when we lost 7.56% while buy-and-hold lost 21.71%, are the payout. Twenty-one years of both are in the table below, and independently verified at TimerTrac. For how we think about being wrong, see our methodology.
“2022 was a rough one for all market timers. Hang in there, I love your analysis and I am very confident and comfortable with your recommendations.” — Cynthia, subscriber
| Year | G FundG | Buy & HoldBH | ThriftTradingTT |
|---|---|---|---|
| 2005 | 4.40%4.40% | 7.79%7.79% | 21.79%21.79% |
| 2006 | 4.93%4.67% | 13.35%10.57% | 15.25%18.52% |
| 2007 | 4.87%4.73% | 6.88%9.34% | 9.32%15.45% |
| 2008 | 3.75%4.49% | -21.71%1.58% | -7.56%9.70% |
| 2009 | 2.97%4.18% | 20.11%5.28% | 23.30%12.42% |
| 2010 | 2.81%3.95% | 12.32%6.46% | 14.54%12.77% |
| 2011 | 2.45%3.74% | -0.55%5.46% | 5.07%11.67% |
| 2012 | 1.47%3.46% | 11.80%6.25% | -4.60%9.64% |
| 2013 | 1.89%3.28% | 18.63%7.62% | 12.54%9.96% |
| 2014 | 2.31%3.18% | 5.07%7.37% | 22.73%11.24% |
| 2015 | 2.04%3.08% | 0.20%6.72% | 13.07%11.40% |
| 2016 | 1.82%2.98% | 7.04%6.74% | 4.71%10.85% |
| 2017 | 2.33%2.93% | 14.32%7.33% | 16.51%11.28% |
| 2018 | 2.91%2.92% | -4.81%6.46% | -0.17%10.46% |
| 2019 | 2.24%2.88% | 18.56%7.27% | 21.42%11.19% |
| 2020 | 0.97%2.76% | 13.36%7.65% | 12.69%11.29% |
| 2021 | 1.38%2.68% | 10.50%7.82% | 7.23%11.05% |
| 2022 | 2.98%2.70% | -13.64%6.62% | -13.28%9.70% |
| 2023 | 4.22%2.78% | 15.95%7.11% | 16.07%10.03% |
| 2024 | 4.40%2.86% | 10.38%7.28% | 12.40%10.15% |
| 2025 | 4.44%2.93% | 14.67%7.63% | 10.38%10.16% |
| Average | 2.93% | 7.63% | 10.16% |
| Best Year | 4.93%'06 | 20.11%'09 | 23.30%'09 |
| Worst Year | 0.97%'20 | -21.71%'08 | -13.28%'22 |
| Total Return | +83.2% | +319.9% | +599.8% |
The buy-and-hold benchmark reflects an equal 20% allocation across all five TSP funds, rebalanced back to equal weight at the start of each calendar year with no market timing in between. The G Fund is the Government Securities Investment Fund, which provides guaranteed principal and a fixed interest rate set monthly by the U.S. Treasury.
Chart runs through 2026 YTD and includes a partial year not yet reflected in the year-by-year table averages.