I helped a client move from ThinkOrSwim to AlgoTerminal and the DTN IQFeed data I was using in AlgoTerminal just about identically matched (regular and extended trading hours stock data) the ThinkOrSwim data. So either both ThinkOrSwim and IQFeed has corrupt data that identically matches (highly unlikely) or they both have quality data.