Last week, we identified an issue with the dividend adjustments happening in the Pipeline API. We released a fix for it late last night.
The issue had to do with net vs. gross amounts being recognized as dividends, and the result was that only about 50% of dividends were being recognized by the pipeline API. Algorithms using the Pipeline API were using data that wasn't fully dividend adjusted during the pre-trading pipeline execution, though the dividends were being paid out correctly during the backtest itself. Going forward, algorithms using the Pipeline API will now reflect the correct dividends. Algorithms not using the Pipeline API were not affected.
For more information about how prices are split and dividend adjusted in the Pipeline API, please refer to this post.
In testing the fix for this issue, I created the attached algorithm. This uses the Pipeline API to show any dates where the pipeline is adjusting prices to account for a split or dividend. For any given symbol, it looks at the close price from two days ago and compares it to what the algorithm recorded as the close price for that same date yesterday. A price adjustment (split or dividend or both) will be reflected as a difference in these two historical prices.
In the image below, you'll see that I am recording a couple of different prices.
T2_close is the close price 2 days before the current backtest date.
Yesterday_t1_close is the price for that same day, as recorded yesterday. In this example, I am looking at AAPL in June of 2014 when they had a 7:1 stock split. You can see where the price changes as we look at it historically to reflect the adjustment. Feel free to clone the algo and tweak it to run for any security over any time period and see all of the adjustments.
I'm sharing this because it's an interesting, and easy way to see all the adjustment dates for any security. I expect the community can extend this in many ways, and will use it to help identify imperfections in our adjustment data. Please send any you find our way to be fixed.