Starting with a diffusion model for the evolution of the best bid and ask sizes of an asset, we compute the probability that the next price move is upward. This probability is a function of the ratio of the best bid to ask sizes, the correlation between changes in the bid/ask sizes and a hidden liquidity parameter. We then formulate a trade execution problem and solve it using dynamic programming. The objective is to sell a single lot of an asset in a short time horizon, while monitoring the ratio of bid to ask sizes. The optimization problem takes into account the latency of the trading algorithm, which affects the prices at which the asset is traded. Identifying good trading times is equivalent to solving an optimal stopping problem, where the objective is to stop whenever the best bid to ask size ratio is small. The solution divides the state space into a ``trade'' and ``no-trade'' region. We calculate the cost of latency per lot traded and demonstrate that the advantage of observing the limit order book can dissipate quickly as latency increases.