There is such thing as an official expiration date. There is no such thing as an official rollover date. Just roll over when the back-month contract has significant volume vs the front-month contract. depending on the product, we roll over a day, 2 days, or a few days/weeks .... before the expiration date.
I have a question... Lets say I want to trade wheat and have a 2 year position, can I do this without rolling contracts? Specifically because I don't want to take drawdown on the new position (I know technically, and blah blah blah, but just mentally). Is there a way to do this? The only way I can think of is when I know I have to roll, I look for the best possible entry which seems annoying and not mechanical.