A method performed by a trade accelerator (101, 301, 601) for facilitating at least one trading engine (104, 204, 304, 604) in selecting from amongst a plurality of flows (206, 308, 608) associated with a plurality of matching engines (103, 203, 303, 603), comprising: computing, for each of the plurality of flows (206, 308, 608), order acknowledgment times based at least on a time difference between a trade order associated with the flow and a trade order acknowledgment, wherein the trade accelerator comprises a host processor and a network processor configured such that the network processor delivers assembled socket-level traffic with time stamps to the host processor and such that the host processor calculates the order acknowledgment times based at least on the time stamps, wherein the network processor and the host processor communicate over a PCI bus, and the network processor is connected to a SPAN port of a packet switch; computing, for each of the plurality of flows (206, 308, 608), a moving average of the order acknowledgment times; generating a ranking (307, 607) of at least some of the plurality of flows (206, 308, 608) based at least on the moving average; and transmitting the ranking (307, 607) to at least one trading engine (104, 204, 304, 604) wherein the network processor and the host processor communicate using a control path and a data path, and wherein the network processor delivers trading protocol packets to the host processor using the data path and selectively sends to the host processor on the control path indications when it detects a TCP SYN packet or a TCP SYN ACK packet associated with one of the plurality of flows (206, 308, 608) and indications about the availability of a trading protocol packet on the data path, and wherein all indications are time-stamped by the network processor. computing, for each of the plurality of flows (206, 308, 608), order acknowledgment times based at least on a time difference between a trade order associated with the flow and a trade order acknowledgment, wherein the trade accelerator comprises a host processor and a network processor configured such that the network processor delivers assembled socket-level traffic with time stamps to the host processor and such that the host processor calculates the order acknowledgment times based at least on the time stamps, wherein the network processor and the host processor communicate over a PCI bus, and the network processor is connected to a SPAN port of a packet switch; computing, for each of the plurality of flows (206, 308, 608), a moving average of the order acknowledgment times; generating a ranking (307, 607) of at least some of the plurality of flows (206, 308, 608) based at least on the moving average; and transmitting the ranking (307, 607) to at least one trading engine (104, 204, 304, 604) wherein the network processor and the host processor communicate using a control path and a data path, and wherein the network processor delivers trading protocol packets to the host processor using the data path and selectively sends to the host processor on the control path indications when it detects a TCP SYN packet or a TCP SYN ACK packet associated with one of the plurality of flows (206, 308, 608) and indications about the availability of a trading protocol packet on the data path, and wherein all indications are time-stamped by the network processor.