Long-time lurker, first post. I work as a software engineer, and on the side I've been building a small probabilistic model in Python - it rates tennis players Elo-style from historical results - and the more I tinker with it the more the lessons feel relevant to how people here think about the funds.
Three things keep coming up:
1) Recency vs stability. How fast should the model react to a recent result (or a recent market move)? React too fast and you chase noise; too slow and you miss real regime changes. It's the same dial whether it's a player's form or the C/S/I funds.
2) Overfitting. It's tempting to keep adding parameters until the backtest looks gorgeous. It almost always degrades out of sample - the discipline of stopping is the hard part.
3) Clean feedback. Sports hand you an unambiguous outcome every match, which makes it easy to see when you're fooling yourself. Markets are murkier, but the habit of honestly scoring your own calls carries over.
Curious how the systematic folks here handle the recency dial on their own allocation models, and whether anyone backtests their moves or goes more by feel.
Lessons from a side-project model that apply to market timing (recency vs overfitting)
Moderator: Aitrus
-
EthanWalk52
- Posts: 1
- Joined: Tue Jun 23, 2026 10:41 am
Lessons from a side-project model that apply to market timing (recency vs overfitting)
Last edited by EthanWalk52 on Fri Jun 26, 2026 5:34 am, edited 1 time in total.
Re: Lessons from a side-project model that apply to market timing (recency vs overfitting)
Welcome!
I suggest you read through the first page or two of posts from the Seasonal Musings thread linked in my signature block. While I haven't updated the data in a few years (see note), the thread contains an overview of the system explains my process.
If it seems like I start out at the very bare-bones basics in that thread, that's by design. The audience I wrote it for ranges from neophytes to people who have been doing this longer than I have - so I had to explain everything from scratch to ensure nobody got lost. It's not meant to be an insult, it's an attempt to not lose any readers due to getting tripped up on nuances they
Not everyone here follows the system I lay out (which, as you'll see, was inspired by the work of predecessors before me), but enough still do to a greater or lesser extent that your questions should get answered. In general, this TSPCenter forum exists to discuss all manner of things related to TSP investing as well as civil service and military retirement. There's also a few people interested in trading stocks / ETFs outside of TSP as a compliment to what the TSP offers.
The real action is over on TSPCalc.com and the TSP Seasonal Strategies Facebook group, which uses a daily instead of a monthly approach, but the concept is the same.
Note: The TSPCalc.com site is more up to date with the returns and associated data insights, so I don't want to replicate the work being done there. The owner of that site was inspired by the work I did in my Seasonal Musings threads, and around 2018 or so created the TSPCalc site as a result (with my blessings and well wishes). He took the monthly approach I lay out in detail in Seasonal Musings and applied it to the daily rules and IFT limits that TSP uses, with glowing success.
Side note: Interesting about the tennis program you're working on. Does it use an ELO system akin to what USCF and FIDE use in the chess world? And are you doing it for historical players to gauge their relative strength compared to today's players?
I suggest you read through the first page or two of posts from the Seasonal Musings thread linked in my signature block. While I haven't updated the data in a few years (see note), the thread contains an overview of the system explains my process.
If it seems like I start out at the very bare-bones basics in that thread, that's by design. The audience I wrote it for ranges from neophytes to people who have been doing this longer than I have - so I had to explain everything from scratch to ensure nobody got lost. It's not meant to be an insult, it's an attempt to not lose any readers due to getting tripped up on nuances they
Not everyone here follows the system I lay out (which, as you'll see, was inspired by the work of predecessors before me), but enough still do to a greater or lesser extent that your questions should get answered. In general, this TSPCenter forum exists to discuss all manner of things related to TSP investing as well as civil service and military retirement. There's also a few people interested in trading stocks / ETFs outside of TSP as a compliment to what the TSP offers.
The real action is over on TSPCalc.com and the TSP Seasonal Strategies Facebook group, which uses a daily instead of a monthly approach, but the concept is the same.
Note: The TSPCalc.com site is more up to date with the returns and associated data insights, so I don't want to replicate the work being done there. The owner of that site was inspired by the work I did in my Seasonal Musings threads, and around 2018 or so created the TSPCalc site as a result (with my blessings and well wishes). He took the monthly approach I lay out in detail in Seasonal Musings and applied it to the daily rules and IFT limits that TSP uses, with glowing success.
Side note: Interesting about the tennis program you're working on. Does it use an ELO system akin to what USCF and FIDE use in the chess world? And are you doing it for historical players to gauge their relative strength compared to today's players?
Seasonal Musings 2022: viewtopic.php?f=14&t=19005
Recommended Reading: http://tspcenter.com/forums/viewtopic.php?f=14&t=13474
Support the site by purchasing a membership at TSPCalc! https://tspcalc.com
Recommended Reading: http://tspcenter.com/forums/viewtopic.php?f=14&t=13474
Support the site by purchasing a membership at TSPCalc! https://tspcalc.com
Re: Lessons from a side-project model that apply to market timing (recency vs overfitting)
from Google - "Market timing attempts to predict broad market highs and lows to trade in and out of the market, whereas seasonal investing relies on recurring calendar patterns. Both contrast sharply with buy-and-hold strategies, which generally outperform them due to the challenges of execution."
as i see it - the difficulty/challenge with successfully executing a market timing strategy is that it requires two good decisions (predictions) in order to beat buy and hold, ie when to enter, and when to exit a new position. In general, it is difficult to impossible to predict market changes.
IMV, the difficulty/challenge with successfully executing a seasonal investing strategy is that a LOT of the changes in markets is caused by non-seasonal events. This might be thought of as 'noise' and may cause bigger effects than seasonal patterns. back testing historical data to find 'strategies' amounts to 'curve fitting' to that data. Even without separating seasonal from non-seasonal effects, back testing will find 'solutions', but the predictive power of solutions will be limited, if effective at all since future unpredictable, non-seasonal events will continue to affect markets.
as i see it - the difficulty/challenge with successfully executing a market timing strategy is that it requires two good decisions (predictions) in order to beat buy and hold, ie when to enter, and when to exit a new position. In general, it is difficult to impossible to predict market changes.
IMV, the difficulty/challenge with successfully executing a seasonal investing strategy is that a LOT of the changes in markets is caused by non-seasonal events. This might be thought of as 'noise' and may cause bigger effects than seasonal patterns. back testing historical data to find 'strategies' amounts to 'curve fitting' to that data. Even without separating seasonal from non-seasonal effects, back testing will find 'solutions', but the predictive power of solutions will be limited, if effective at all since future unpredictable, non-seasonal events will continue to affect markets.
Fund Prices2026-08-17
| Fund | Price | Day | YTD |
| G | $20.14 | 0.04% | 2.80% |
| F | $20.82 | -0.18% | -0.28% |
| C | $124.78 | -0.51% | 13.94% |
| S | $120.64 | -0.28% | 20.15% |
| I | $66.42 | 0.07% | 19.68% |
| L2075 | $12.94 | -0.28% | 16.67% |
| L2070 | $14.81 | -0.28% | 16.67% |
| L2065 | $25.00 | -0.28% | 16.67% |
| L2060 | $25.00 | -0.28% | 16.68% |
| L2055 | $25.00 | -0.28% | 16.68% |
| L2050 | $47.37 | -0.23% | 14.00% |
| L2045 | $21.25 | -0.22% | 13.29% |
| L2040 | $76.32 | -0.20% | 12.59% |
| L2035 | $19.76 | -0.18% | 11.79% |
| L2030 | $64.06 | -0.14% | 10.26% |
| Linc | $31.14 | -0.06% | 6.49% |
