Hi there....My son and I are building an app to trade automatically using the TDAmeritrade API. I'm stuck on one issue and really need some help. I've tried other places, including TDA with no luck. Thought I'd give it a try here.
The API gives us streaming data and historical data. We trade 1-min candles. The streaming (on-the-fly) volume data does not add up to the volume posted at the close of the 1-min candle. For instance, we're monitoring ROKU and it's 12:05pm EDT.... the streaming data, which provides every transaction (Last Price and Volume of trade) as it occurs on the fly may show a total volume of 35,000 shares trades between 12:05 and 12:06. However, the historical data, as the 12:05 candle closes and becomes history, may show a total volume of 31,440 shares for that same minute. They are parsing out some of the trades that come in. The historical volume data from this TDA API agrees with all other historical charts (Yahoo, ThinkorSwim, Schwab, Barchart.com, etc.). In other words the parsing is a protocol that all brokers comply with.
I spoke with TDA and their best guess was that "odd lots" are parsed out (not counted) in the official trade history. That sounded great, but after experimenting with it, that is not the answer. Odd Lots are any trades with less than 100 shares. There are not enough Odd Lots in a minute of trading to make up the difference we are seeing between the sum of the streaming volume and historical data that is posted 1 second after the finish of the 1-min candle. I've looked at "Mixed Lots" (over 100 shares but not a multiple of 100, such as 3140 shares) and dropped the odd shares off but that doesn't work either.
My question in a nutshell - What data "prints to the tape", i.e. is officially incorporated into all the stock charts that all agree with each other? Moreover, what data is excluded and does not print to tape. Is it related to odd lots? lot sizes? Do they parse out different exchanges? Is dark pool data not counted?
Thanks much for your help!
The API gives us streaming data and historical data. We trade 1-min candles. The streaming (on-the-fly) volume data does not add up to the volume posted at the close of the 1-min candle. For instance, we're monitoring ROKU and it's 12:05pm EDT.... the streaming data, which provides every transaction (Last Price and Volume of trade) as it occurs on the fly may show a total volume of 35,000 shares trades between 12:05 and 12:06. However, the historical data, as the 12:05 candle closes and becomes history, may show a total volume of 31,440 shares for that same minute. They are parsing out some of the trades that come in. The historical volume data from this TDA API agrees with all other historical charts (Yahoo, ThinkorSwim, Schwab, Barchart.com, etc.). In other words the parsing is a protocol that all brokers comply with.
I spoke with TDA and their best guess was that "odd lots" are parsed out (not counted) in the official trade history. That sounded great, but after experimenting with it, that is not the answer. Odd Lots are any trades with less than 100 shares. There are not enough Odd Lots in a minute of trading to make up the difference we are seeing between the sum of the streaming volume and historical data that is posted 1 second after the finish of the 1-min candle. I've looked at "Mixed Lots" (over 100 shares but not a multiple of 100, such as 3140 shares) and dropped the odd shares off but that doesn't work either.
My question in a nutshell - What data "prints to the tape", i.e. is officially incorporated into all the stock charts that all agree with each other? Moreover, what data is excluded and does not print to tape. Is it related to odd lots? lot sizes? Do they parse out different exchanges? Is dark pool data not counted?
Thanks much for your help!