co-location at the exchanhe sounds good, but what if you want to reach more than one exchange? what if you want INET, ARCA, NYSE, BATS, and more? How would you go about co-loing and managing that whole thing?
I don't necessarily thin that co-lo at the exchange is best. There are brokers that specialize in connwectivity to all points.
In terms of latencies, 1 ms is not something you're going to find from server, out to ECN, and back, for round trip. The best technology out there can minimize thaose hops, not back up badly in times of massive balsting of orders (Open, Fed, economic releases, and close) so it's not jsut the ping. Same goes for data incoming. That needs to be managed and top of the line to act upon as well.
If you go to a broker insteead of co-lo, you're also looking at having compliance taken care of, server management/re-boots, etc. I'm not so sure co-lo is the best option all the time....