We build a linear-quadratic model to analyze trading in a market with private information and heterogeneous agents. Agents receive private taste/inventory shocks and trade continuously. Agents differ in their need for trade as well as the cost to hold excessive inventory. In equilibrium, trade is gradual. Trading speed depends on the number and market power of participants, and trade among large market participants is slower than that among small ones. Price has momentum due to the actions of large traders: it drifts down if the sellers have greater market power than buyers, and vice versa. The model can also answer welfare questions, for example about the social costs and benefits of market consolidation. It can also be extended to allow private information about common value.