How Charles's default plan works, in plain words
The four parts of Charles's default plan: the whole-market core, monthly momentum picks, a 200-day safety switch and aggressive mode.
Charles comes with a default plan. It's a short set of rules written in plain Python, and it trades paper money linked to real market data through a free Alpaca paper account. This guide covers the four parts of the plan, what each one does and why it's there.
The four parts at a glance
- The core: 80% in the whole market, through SPY.
- Momentum picks: 4 stocks at 5% each, chosen monthly from 100 big US companies.
- The safety switch: a rule built on SPY's 200-day average that can move the plan into T-bills.
- Aggressive mode: while the market is above that average and calm, the core sits in SSO instead of SPY.
The first two decide what the plan holds. The last two decide when that changes.
Part 1: the whole-market core
Most of the plan is one holding: 80% in SPY, a fund that tracks the S&P 500. Buying it is like buying a small slice of each of the 500 companies in the index.
This part exists so the plan has a plain anchor. It doesn't depend on picking the right company. SPY rises and falls with the broad US market.
In the default plan, the core doesn't always sit in SPY. Aggressive mode can move it to SSO, a fund that moves about twice as much as the market, and the safety switch can move the plan to T-bills. Both are covered below.
Part 2: the monthly momentum picks
The rest of the plan goes to 4 momentum picks, 5% each.
Momentum means favoring stocks whose prices have been rising compared with the others. Once a month, Charles looks at a fixed list of 100 big US companies, ranks them by that measure and holds the top four. The exact rule is in the code on GitHub, where you can read it line by line.
This part exists so the plan has a piece that changes with what's moving, while keeping each bet small. The picks are 5% each, so no single company carries much of the plan.
There's one more step before a new pick is bought. An AI reads that company's recent headlines and can skip the pick for serious bad news, such as a fraud charge or a collapse in the business. That's the AI's only job in trading. It doesn't choose the stocks, place trades or predict anything. It can only say no to a new pick, and you can turn it off.
The trade-off: momentum looks backward. A stock that has been rising can turn, and the plan only revisits its picks at the next monthly check.
Part 3: the safety switch
The safety switch is a rule built on the 200-day moving average, which is the average of SPY's closing price over its last 200 trading days. It's a slow line that shows the market's longer trend.
The rule:
- When SPY ends a month below its 200-day average, the plan moves to T-bills, which are short-term US government bonds.
- It stays there until a month ends with SPY back above the average.
- Then it goes back to the normal plan.
This part exists to give the plan a clear, mechanical way to step aside when the long trend has turned down. There's no judgment call in it. It looks at one number on one day each month.
There are real trade-offs. Because it checks only at month end, it can move late, after a drop has already happened. It can also move to T-bills and then back again a month later, if the market crosses the line and returns. And while the plan sits in T-bills, it misses whatever the market does in that time. The switch is a rule, not a promise about what comes next.
Part 4: aggressive mode
Aggressive mode is on in the default plan. While SPY is above its 200-day average and the market is calm, the core sits in SSO instead of SPY.
SSO is a 2x S&P 500 fund. On a given day it moves about twice as much as the market, in both directions. A down day for the market is roughly twice as big a down day for SSO.
The mode has two exits:
- Any choppy day sends the core back to SPY.
- A month ending below the 200-day average triggers the safety switch, which moves everything to T-bills.
This part exists for people who want the core to move more when conditions look steady, with a rule that backs off when they don't. If that's not you, turn it off and the core never moves to SSO.
The trade-off is plain: twice the daily movement applies to down days just as much as up days.
What a normal day looks like
Most days the plan places no orders. The picks change monthly, the safety switch checks monthly, and aggressive mode only acts when the market's behavior changes. So there's not much to watch.
Two controls sit on top of all four parts:
- A daily loss limit: if the account drops past a set amount in a day, Charles pauses buys for the rest of that day.
- Pause: one button on the dashboard holds all orders until you resume.
charles-pausedoes the same from the server.
The dashboard shows what each bot holds, what it did and why, and the news about what it holds. When a pick changes or the safety switch moves, the reason is written there next to the trade.
Every number above, from the size of the core to the number of picks, is a setting. You can change the plan with sliders or presets, test the change on past prices before you save it, and undo it afterward.