I don't understand why it's sound. The order still has to go all the way to the exchange. Why is it better to spend 50 ms to get the market data, 1 ms to do the decision, then 50 ms to send the order (middle of ocean to exchange), when you could spend 100 ms to get the market data, 1 ms to do the decision, then 0 ms to send the order (colocated hosting at exchange)?
Your algorithm is making decisions on data that's 50ms older than the data the other guy in the ocean used, I suppose. I'm not into low-latency trading enough to know whether or not that 50ms-ahead data alone could make you money, but based on how much the trading guys go nuts over it I assume it could.