This paper investigates the modelling and trading of oil futures spreads in the context of a portfolio of contracts. A portfolio of six spreads is constructed and each spread forecasted using a variety of modelling techniques, namely, a cointegration fair value model and three different types of neural network (NN), such as multi-layer perceptron (MLP), recurrent, and higher order NN models. In addition, a number of trading filters are employed to further improve the trading statistics of the models. Three different filters are optimized on an in-sample measure of down side risk-adjusted return, and these are then fixed out-of-sample. The filters employed are the threshold filter, correlation filter, and the transitive filter. The results show that the best in-sample model is the MLP with a transitive filter. This model is the best performer out-of-sample and also returns good out-of-sample statistics.