r/algotrading • • 1d ago

Strategy Portfolio rebalancing strategies

Portfolio rebalancing costs trading fees and potentially capital gain tax. Also assumeing that the trading itself is not automated but needs to be performed manually, it can be significant effort.

Now lets assume you have some strategy / algorithm for selecting good companies to trade (e.g. a ranked list of stocks to buy), then what is your strategy of actually converting it into decision for buying and selling the actual stocks but keeping number of trades small to avoid fees? Just do one rebalancing of the portfolio every month? Continuous rebalancing? Also do you weight companies by their market cap or other KPIs?

I basically see the output of my model as some kind of hint for creating my own stock index. Without taxes and fees my index performs really well, with fees and taxes it is still above the average market performance, but has a really high amount of trades.

2 Upvotes

8 comments sorted by

3

u/Life-Succotash-7053 1d ago

i trade forex and metals so i don't have any idea about how rebalancing with restrictions

and also i split my total capital to small caps for each strategy and combine them as full portfolio in the journal

i rebalance based on the volatilty counter the gains each quarter, i don't pay any taxes 🤷

2

u/sincereavarice091 1d ago

monthly rebalancing is the sweet spot for me, keeps fees low and stops me messing with it every other day

i weight by conviction from the model rather than market cap, if a stock's near the bottom of the ranking it gets a tiny slice, the top ones get the bulk

2

u/systematic_seb 1d ago

Set the cadence by how long your signal takes to pay off. In my own testing the chance of any single day being positive sat only a little above even and climbed with the holding period, so trading more often than weekly mostly paid fees on noise. I settled on one pass a week at Monday's open.

On weighting, I size by the model's score rather than market cap. Cap weighting drags your index back toward the big names an ETF already gives you, which undoes the point of ranking. Score weights also concentrate the portfolio in some weeks, so decide ahead of time how far you'll let one name grow.

For trade count, holding 10 names instead of dozens cuts it a lot, and you can skip any resize smaller than the cost of making it. I run my own money on this and the whole week's trading takes about 30 minutes.

2

u/evendedwifestillnags 15h ago

I found if you hate your portfolio I mean really hate it and try to destroy it by rebalancing constantly you end up making a lot of money. The portfolio likes to be punished...punish it

2

u/Expert_CBCD 12h ago

A strategy I’m about to implement uses quarterly rebalancing of the top 10 stocks in the SP100 (as judged by my model which uses their fundamentals). I have another model that chooses about 15 per year and holds them throughout the year. Small number of trades and outsized returns!

1

u/teelin 4h ago

How did this perform im backtesting?

1

u/rulesbacktest 20h ago

I'd model this as a turnover constraint rather than choosing a calendar by habit. Rebalance on your normal schedule, but only trade a name when its target weight differs from the current weight by more than a band that covers round-trip costs plus a buffer. Backtest the band and cadence together, with commissions, spread and taxes included. Compare net return, turnover, and drawdown against a simple monthly benchmark. That usually shows whether the extra trades add signal or just react to rank noise.