We always book it as soon as we know the dates and we keep calling back about once a week (more often as we get closer) to see if the rate has gone down.
We usually call several companies and go with the best rate, then keep calling them back. You can also do it on each company's website.
Good luck!
Bob