The best time to reallocate a portfolio is when your current portfolio is at or near an all time high. If you have something like that and you're accumulating you could rebalance it once a year but you could also just contribute to the thing that looks low in any given year. This is not an exact science and it doesn't need to be. People that jump in and out of funds by reallocating frequently, frequently underperform the market.