The aggregate bar endpoints have the dark pool trades and volume rolled into it, leading to moments in my datasets where the high, low, and close of a bar can be wildly different from what the NASDAQ historical data reports in reality. It seems counter-intuitive to include this data in the aggregate bars as retail traders are unable to actually trade at those dark pool values, which only results in noise to an algorithm and with sufficient dark pool volumes, it can easily trigger false positives/negatives.
Having a boolean option to filter out the dark pool exchange's OHLCV from the aggregate bars will resolve this issue.
Note: A potential workaround could be consolidating the historical trades and filtering out the FINRA dark pool exchange directly, but during high volume periods, this will require multiple API calls to consolidate each trade into an aggregate bar, which severely degrades real-time performance.
The aggregate bar endpoints have the dark pool trades and volume rolled into it, leading to moments in my datasets where the high, low, and close of a bar can be wildly different from what the NASDAQ historical data reports in reality. It seems counter-intuitive to include this data in the aggregate bars as retail traders are unable to actually trade at those dark pool values, which only results in noise to an algorithm and with sufficient dark pool volumes, it can easily trigger false positives/negatives.
Having a boolean option to filter out the dark pool exchange's OHLCV from the aggregate bars will resolve this issue.
Note: A potential workaround could be consolidating the historical trades and filtering out the FINRA dark pool exchange directly, but during high volume periods, this will require multiple API calls to consolidate each trade into an aggregate bar, which severely degrades real-time performance.