"Adjusted close" is more sacrosanct than "close". However, in blueshift I am not able to see how to retrieve adjusted close values. I have checked the history API for this. Please help
This is an interesting remark, do you want to elaborate why you think adjusted close is more "sacrosanct" than close?
Adjusted close is usually the close price after corporate actions applied (if any). On Blueshift, you actually get fully adjusted data when you use data.history. Not only that, you get properly adjusted data (on a point-in-time basis) so that your strategy is protected against any look-ahead bias - I would say quite rare elsewhere. If you are querying for stock X between, say, Jan 2021 and Mar 2021 today (i.e. May 2022), and if X has gone two splits between say Feb 2021 and Sep 2021, then the query will return with adjustements for only till Mar 2021 (i.e. it will include the Feb 2021 split effect, but not the Sep 2021). Queries with end date going beyond Sep 2021 will include both splits. This is as if you were looking at the price sitting at the query end date, no matter what is the date today. This makes the data free of look-ahead bias. It takes us quite a bit of extra efforts to have this kind of adjustments on Blueshift (all are computed on-the-fly for every query - the only way to do it - and we spend a lot of time to make it as fast as possible).
Also the close price that you get on Blueshift are actual traded close price - not the exchange reported close price (which are usually average price or some other sort of computed price, not an actual tradable price). So that we can actually use this price to simulate trade fills. These aspects reflects the great care we take on Blueshift to make sure your strategy simulation is as close to the real world as possible. If you have any suggestions on this, please share, or feel free to send a mail to blueshift-support@quantinsti.com
Thanks much Prodipta for your detialed answer.
In my view the adjusted close price is sacrosanct for a person having a longer lookpback period spanning several days or few months, esp so if he is comparing the returns with another security for, let's say, pair trading based on mean reversion.
Without the price adjustment a stock split today would appear as a wild movement in the security price of few days back (which is obviuosly not the case). This could lead to incorrect regression equation required in par trading.
To be more specific regardig the Blueshfit APIs for retrieving close values -
data.current() retrieves last traded price (unadjusted value) and data.history() retrieves the adjsuted close prices. Is that correct?
Data.current will return the actual price price point prevailing at that timestamp of the function call (irrespective of the time when you run the backtest). There is not much meaning calling it adjusted or unadjusted in this context - that raises only when you are cosidering a range of points (over which time some corporate action may or may not have happened).
Your second point is correct, data.history will return adjusted data point (adjusted till the timestamp of the call, irrespective of the time of the backtest). If you are not clear, please feel to give us a holler.
Thank you.