Should you be in C/S funds or G fund? Updated every market day.
Signal date: --
Layer 1 — Safety Switch: 6 ML models vote on whether to move your money from the stock funds to G Fund (government securities, safe but low return). If 2 or more models see trouble ahead, the system says “go to G.”
Layer 2 — Fund Picker: When conditions are safe, a separate model predicts which stock fund (C, S, or I) will do best. Two strategies manage your 2 monthly transfers:
Strategy B — only switches on high-conviction signals (90%+). Saves your transfers for when it really matters.
Strategy C — watches signals for 15 days, then picks the fund with the strongest overall reading.
Your TSP fund options: G Fund (govt securities, ~4%/yr), C Fund (S&P 500), S Fund (small/mid cap), I Fund (international), plus Lifecycle target-date funds.
Transfer rules: TSP allows 2 interfund transfers per month. After that, you can only move money into G Fund. The model accounts for this.
Connecting to server...
Free-tier server may take up to 60s to wake up
Failed to load data
What you're looking at
The current fund position (Lifecycle or G), the model's confidence level, and the supporting risk indicators that drive the signal. Scroll down for the probability grid, risk alerts, and corroborating market signals.
The bottom line — this panel combines ML crash signals, geopolitical triggers, and exogenous risk alerts into one unified risk level. If any layer fires, the system overrides to G Fund regardless of what the ML models say.
Here's what's happening — six ML classifiers each output a probability of moving to G Fund (safety) or returning to Lifecycle (growth) over 1, 2, and 3 day horizons. When 2+ of 3 exceed 50%, the switch triggers.
Why this matters — if the ML models ever go offline, these simple technical indicators (moving averages, momentum, volatility, RSI) take over as a safety net. Green means no warning; red means the rule is triggered.
How to read this — these independent market indicators (VIX, breadth, credit spreads, yield curve) either confirm or contradict the ML signal. More agreement means higher confidence in the current recommendation.
When the model had a similar risk probability in the past, what happened next?
This chart shows how strongly the safety-switch model signals a move to G Fund each day (red line) vs. market momentum measured by RSI (dashed line). When the red line is near zero, the ML models see low crash risk — the current G Fund position is held due to the geopolitical override, not model conviction. A rising red line toward 50%+ would signal the models detecting real crash risk.
A quick look at switching activity over the past month — how many times the system triggered, max risk probability seen, and average time between switches.
Loading fund selector data...
Fund Selector — Multi-Fund Switching (C/S/I/G)
What's the point? — These are the fund selector's live recommendations for today. Strategy B only fires on high-conviction signals (90%+), while Strategy C buffers 15 days of data before picking the best fund.
--
TSP allows 2 interfund transfers per calendar month. This tracker shows how many transfers remain — the system is designed to be conservative so they rarely run out.
How to read this — each row shows what both strategies recommended on a given day, their conviction levels, and whether a switch actually fired. Look for patterns in conviction scores to understand model behavior.
| Date | B Signal | B Conf% | B Triggered | C Signal | C Conf% | C Triggered | Switch |
|---|
The bottom line — how well would these fund-switching strategies have worked historically, and how robust are those results when stress-tested with 10,000 randomized market scenarios?
| Metric | Strategy B | Strategy C | Lifecycle (Passive) | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Worst | Median | Best | Worst | Median | Best | Worst | Median | Best | |
Model Accuracy — Safety-Switch + Fund Selector Performance
12-fold rolling test accuracy for each of the 6 models (accuracy range: 0.82-0.95)
| Model | Mean AUC | Std AUC | Windows |
|---|
Classification of all 28 switching episodes in testing period (2014-2025)
True Positive: Correctly switched to G before a decline or back to Lifecycle before a rally
False Alarm: Switched to G but market continued up (35.7% of to-G switches)
Early Exit: Returned to Lifecycle too soon, missed further protection
Late Entry: Switched to G after decline already began
Classification model predicting optimal equity fund (C/S/I) based on 252-day rolling window. Retrained monthly.
How often does the fund selector correctly predict which equity fund (C, S, or I) will outperform? A 64% hit rate means it picks the right fund about two-thirds of the time.
Training window: 252 trading days (rolling)
Retrain frequency: Monthly (1st of month)
Lifecycle predictions: 0.8% of days (correctly avoided)
What's the point? — This shows how often the model recommends each fund. A roughly even split across C, S, and I means the model isn't biased toward any single fund.
Monte Carlo — Safety-Switch + Fund Selector Robustness
How to read this — the horizontal bars show worst-case, median, and best-case outcomes from thousands of randomized market simulations. Tighter ranges mean more predictable performance.
Probability of positive returns across 10,000 MC simulations
Probability strategy outperforms buy-hold Lifecycle
Composite robustness score (0-100)
For the technically curious — how the Monte Carlo simulations, episode validation, and robustness scoring actually work under the hood.
Randomized Simulation: Resamples testing-period daily returns (2014-2025) using overlapping blocks to preserve autocorrelation. Computes 10-year forward path confidence ranges for CAGR, max drawdown, and outperformance vs Lifecycle (passive).
Episode Validation: 28 switching episodes classified as true positive (57%), false alarm (11%), early exit (18%), or late entry (14%). ML leads rules-based triggers by 2-4 days on major crashes.
Robustness Score (0-100): Composite of CAGR stability (worst-case CAGR > 0), outperformance consistency (P beats Lifecycle passive), and drawdown reduction vs Lifecycle (passive).
Three stress tests validating Strategy B/C robustness: block bootstrap, noise injection, and drop-best-months.
Loading Fund Selector MC data...
1,000 randomized simulations (63-day blocks, testing period 2022-2026)
| Metric | Strategy B | Strategy C | ||||
|---|---|---|---|---|---|---|
| Worst | Median | Best | Worst | Median | Best | |
Adding random noise to model predictions (500 simulations per level)
| Noise Level | B Return (mean) | B Return (worst) | C Return (mean) | C Return (worst) |
|---|---|---|---|---|
| 0% (baseline) | 28.6% | 28.6% | 32.2% | 32.2% |
| 5% | 29.5% | 27.4% | 31.8% | 31.0% |
| 10% | 29.7% | 26.8% | 31.4% | 29.5% |
| 15% | 30.2% | 27.2% | 30.9% | 28.2% |
Both strategies maintain CAGR > 26% even with 15% noise — signals are robust to prediction error.
Performance after removing the best-performing months to test for lucky-streak dependency
| Months Dropped | B CAGR | B Sharpe | C CAGR | C Sharpe |
|---|---|---|---|---|
| 0 (baseline) | 28.6% | 1.45 | 32.2% | 1.60 |
| 1 | 26.2% | 1.36 | 29.5% | 1.49 |
| 2 | 23.4% | 1.24 | 26.5% | 1.37 |
| 3 | 22.1% | 1.19 | 24.9% | 1.32 |
| 6 | 15.7% | 0.90 | 18.4% | 1.02 |
Even dropping 6 best months, both strategies maintain CAGR > 15% and Sharpe > 0.90 — gains are distributed, not concentrated in outlier months.
Backtest — Safety-Switch + Fund Selector Performance
Here's what's happening — year-by-year comparison of the switching strategy vs simply holding the Lifecycle fund. The strategy earns its keep in down years by avoiding the worst drawdowns.
Why this matters — this table shows how the safety switch performed during every major market decline since 2014. "Protected" means the system moved to G Fund before or during the crash, limiting losses.
| Event | Period | Passive Decline | Strategy Decline | G Fund % | Protected? |
|---|
A log of every fund switch the safety-switch model has made, including the probability that triggered it. More frequent switching in volatile markets is expected.
| Date | From | To | Probability |
|---|
Testing-period backtest (2022-2026): Strategy B (0.90 conviction threshold, 2 fund transfers/month) vs Strategy C (15-day buffer, best conviction).
| Metric | Strategy B | Strategy C | Theoretical Max | Lifecycle (Passive) |
|---|---|---|---|---|
| CAGR | 28.6% | 32.2% | 37.5% | 10.6% |
| Max Drawdown | -17.4% | -21.1% | -17.4% | -24.5% |
| Sharpe Ratio | 1.45 | 1.60 | — | 0.65 |
| Calmar Ratio | 1.65 | 1.53 | 2.16 | 0.38 |
| Total Switches | 61 | 77 | — | 0 |
Fund Performance — All TSP Funds
Loading fund performance data...
As of: --
| Fund | Price | 1-Day | 30-Day | YTD | Volatility (30d) | Sharpe (30d) | Best Day | Worst Day |
|---|
All funds start at 100 on day one — this makes it easy to visually compare how each fund moved over the past month on a level playing field.
The raw numbers — daily percentage returns for every TSP fund. Scroll through to see which funds led or lagged on any given day.
| Date | G Fund | F Fund | C Fund | S Fund | I Fund | L2050 | L2060 |
|---|
Loading extended performance data...
A longer-term view — weekly, monthly, and annual performance breakdowns for all TSP funds going back 3+ years. Useful for spotting seasonal patterns and multi-year trends.
How to read this — each bar is one week's return. Wide swings indicate volatile periods; clustered bars near zero indicate calm markets.
The bigger picture — monthly returns smooth out daily noise and reveal which funds consistently lead or lag across different market environments.
Year-by-year breakdown of every TSP fund — returns, volatility, Sharpe ratio, max drawdown, and Calmar ratio. Useful for seeing which funds thrive in which market conditions.
| Year | Fund | Return | CAGR | Volatility | Sharpe | Max DD | Calmar |
|---|
The visual version — side-by-side annual return bars for each fund. Easy to spot which fund won each year and how wide the spread between winners and losers was.
Page last updated: