Traffic speed prediction based on real-world traffic data is a classical problem in intelligent transportation systems (ITS). Most existing traffic speed prediction models are proposed based on the hypothesis that traffic data are complete or have rare missing values. However, such data collected in real-world scenarios are often incomplete due to various human and natural factors. Although this problem can be solved by first estimating the missing values with an imputation model and then applying a prediction model, the former potentially breaks critical latent features and further leads to the error accumulation issues. To tackle this problem, we propose a graph-based spatio-temporal autoencoder that follows an encoder-decoder structure for spatio-temporal traffic speed prediction with missing values. Specifically, we regard the imputation and prediction as two parallel tasks and train them sequentially to eliminate the negative impact of imputation on raw data for prediction and accelerate the model training process. Furthermore, we utilize graph convolutional layers with a self-adaptive adjacency matrix for spatial dependencies modeling and apply gated recurrent units for temporal learning. To evaluate the proposed model, we conduct comprehensive case studies on two real-world traffic datasets with two different missing patterns and a wide and practical missing rate range from 20% to 80%. Experimental results demonstrate that the model consistently outperforms the state-of-the-art traffic prediction with missing values methods and achieves steady performance in the investigated missing scenarios and prediction horizons.