live track record on Dub · more about Lionshare · 6-year backtest· FAQs
Every Monday around 8:30am ET, before the market opens, the week’s portfolio lands in my inbox. One table. Fifteen to twenty stocks, each with a target weight and a dollar stop.
If you want to see a real one before any of this means anything, there’s a recent Monday post unlocked: Here it is. The names are stale by now, but the shape is exactly what arrives every week.
Simplified to three placeholder names, it looks like this:
Symbol Weight Stop $
Stock A 40% 61.4
Stock B 35% 128.9
Stock C 25% 47.2Why the weights make it portable
Each position weight is a percentage of the portfolio rather than a dollar amount, so the same table fits an account of a few thousand or a few hundred thousand without any translation.
On a $10,000 account, a 40% weight is $4,000. I place each position as a notional order at the open and let the broker work out the shares, which means I never count a single share by hand.
The stop is a share price, so that number stays the same no matter what the account holds.
The first week, from cash
A first week, starting from cash, is the easy version. I place the positions, set a stop at each dollar price, and that’s the whole job the first time around.
Every Monday after that
Every Monday after that, the work is just moving last week’s holdings to this week’s table, and the email already names every exit and every entry, so there’s no guessing about what changes.
I do the arithmetic in the window between the email landing and the open, based on whatever the account is worth at that moment. One line per name. Account value times the new weight gives me the dollar target, and the gap between that and what I already hold is the list of trades.
Say I’m holding a name worth $3,000 against a new target of $2,000. I trim $1,000. A bigger target, I top up the difference. A name that’s dropped off the list, I sell in full. A new name, I open it. Four moves, and every row falls into one of them.
I’ve done that math three different ways over the years and any of them works. For a long stretch it was a spreadsheet where I’d drop in my holdings and the new weights and read off the trades. Then for a while it was a screenshot of my positions and the new table handed to an LLM. Lately it’s a short Python script running on the Alpaca API.
The order I place the trades
Once I know the trades, the order I place them in matters.
Cancel last week’s open orders first, the standing stops included, so nothing fires off on its own while I’m in the middle of moving things.
Sells next, ahead of everything, both the names leaving the portfolio and the ones shrinking to a smaller weight, and where my broker allows it I queue them before the open. The proceeds from those sells become the cash that pays for the buys.
Buy once the sells fill, working from the largest position down to the smallest, topping up what grew and opening what’s new.
Stops go in last, after the positions match the table I place market order GTC stops at each target level.
Start to finish, it runs about thirty minutes.
How much time it takes to manage your own portfolio
Thirty minutes is an average across a year of Mondays.
Five minutes reading the table and marking which names are leaving, which are new, and which only change size. Ten minutes on the arithmetic, one line per position. Five minutes cancelling last week’s standing orders. The last ten placing the trades and putting the new stops in.
Some Mondays run longer, because a week where most of the table turns over is more lines to work through. A week where a stop fired on Thursday starts from a different number, because part of the account is already in cash. My slowest Mondays have been closer to an hour. The quickest, where two names change and the rest only drift, are done in fifteen.
The arithmetic is the part people assume is hard, so here it is. Say the account is worth $42,000 when the email lands, and the new table gives one name a weight of 12%.
Target dollars = account value x target weight
= 42,000 x 0.12
= 5,040
Already holding = 3,600
The trade = 5,040 - 3,600
= buy 1,440 more
That is one multiplication and one subtraction, repeated for every row. A name with no weight comes out in full, and a new name starts from zero held, so the whole target is the buy. Any row can be checked on a phone calculator. The rest of the practical questions, placing later than the open and which broker, are in the FAQ.
How the stops work
Each stop is a plain stop-market order set at the dollar price next to its position, good till canceled, the kind that sells at market the moment the price is touched.
Every name gets one, so the moment the trades are in, the risk is already handled and nothing needs watching for the rest of the week. I refresh them from the new table every Monday, which is why the price holds flat through the week and only steps when the next table arrives.
It’s the system’s read on where a position should come out if it falls, and if a price gets hit, that position sells in full. The proceeds just sit in cash from there, and I leave them alone until the next Monday’s table puts them back to work.
A few things I’ve stopped worrying about
Timing. I aim for the open because the published targets assume I’m getting in around then, so the closer I am, the tighter my account tracks the record. It isn’t a day trade though, and a few minutes either way barely move anything.
Account size. A small balance just feels fees and rounding a little more, but the system is built to scale.
Broker. I’m on Alpaca now, after stretches on Robinhood and Fidelity, mostly for the API, though the loop asks for nothing unusual. Market orders, stop orders, US stocks. Most brokers handle all of it, and the money never leaves your own account.
The rest of the week
Then the rest of the week is nothing. No charts, no news, no alerts to check. Saturday a weekend review lands with the real result, up or down, written the same way either way. And then it’s Monday again.
Managing a stock portfolio without watching the market
Every decision the week could ask of me has already been made by Monday morning. How much of each name to hold is the weight. Where each one comes out if it falls is the stop, sitting at the broker as a live order that does not need me awake to work. What comes on and what comes off is next Monday’s question, not today’s.
That leaves nothing for the news to change. A headline on Wednesday cannot make me buy, because buying happens on Monday from a table I did not write by hand. A red Thursday cannot make me sell, because the only thing that sells is a price touching the stops.
I have a full-time job. A routine that needed me at a screen at 11am on a Wednesday would not have survived my own week, so every decision that could come up later gets made inside the Monday half hour and then left alone. Same slot every week, always ahead of the open, and nothing after it needs me. The design behind all of it, and how to check it, is set out in what this is and how to verify it
Found this useful? Like it, restack it, and send it to one person who’d want it too. It’s how this reaches the next reader, and it makes a real difference to me.


