Book a room whenever you see a rate you find reasonable. As long as the rate is refundable, keep checking, and if the rates drop rebook it at the lower rate. If it goes up, you already have a rate locked in. It makes no sense to play guessing games as to when to reserve a hotel room.