An optimization approach is proposed to construct sparse portfolios with mean-reverting price behaviors. Our objectives are threefold: (i) design a multi-asset long-short portfolio that best fits an Ornstein-Uhlenbeck process in terms of maximum likelihood, (ii) select portfolios with desirable characteristics of high mean reversion and low variance though penalization, and (iii) select a parsimonious portfolio using l0-regularization, i.e. find a small subset of a larger universe of assets that can be used for long and short positions. We present the full problem formulation, and develop a provably convergent algorithm for the nonsmooth, nonconvex objective based on partial minimization and projection. The problem requires custom analysis because the objective function does not have a Lipschitz-continuous gradient. Through our experiments using simulated and empirical price data, the proposed algorithm significantly outperforms standard approaches that do not exploit problem structure.