This paper studies the problem of trading futures with transaction costs when the underlying spot price is mean-reverting. Specifically, we model the spot dynamics by the Ornstein-Uhlenbeck, Cox-Ingersoll-Ross, or exponential OrnsteinUhlenbeck model. The futures term structure is derived and its connection to futures price dynamics is examined. For each futures contract, we describe the evolution of the roll yield, and compute explicitly the expected roll yield. For the futures trading problem, we incorporate the investor's timing option to enter or exit the market, as well as a chooser option to long or short a futures upon entry. This leads us to formulate and solve the corresponding optimal double stopping problems to determine the optimal trading strategies. Numerical results are presented to illustrate the optimal entry and exit boundaries under different models. We find that the option to choose between a long or short position induces the investor to delay market entry, as compared to the case where the investor pre-commits to go either long or short.