When working with stock market data for strategy / analysis purposes, I am well aware that I have to distinguish between unadjusted and adjusted prices.

I understand that historical adjusted prices will be re-adjusted whenever a new event (dividend, split) took place; hence the adjusted close data for any given historical date is a function of that day's close level and any corporate action since then until today. I.e.: the adjusted price some historical date varies with calender time of observing the time series.

Hence, adjusted price data cannot be meaningfully stored in an append only fashion, i.e. I cannot load new adjusted price data into my database, but I have to re-create (as in: obtain and store) the whole adjusted price time series each day; or at least on each date where a corporate event took place.

This creates a little bit of a challenge for me: Obviously, downloading the whole time series of adjusted prices on each trading date is quite consuming in terms of data, traffic (and cost) and I am wondering whether it is feasible / economical to:

  1. re-build the adjusted price series internally (as in: in my database) with each new date, or
  2. to reload a full adjusted historical close time series at a lower frequency, optimally at or around capital action dates. I.e. by appending un-adjusted prices daily as usual, but then recreating the full adjusted price series only once per month / quarter / year.

I have not found any thoughts on this in this forum - and I'd be very happy to get ideas, hints, or to discuss possible approaches to this. Thanks in advance.

  • $\begingroup$ The adjustment that you do because of corporate actions must be well defined. Insofar, no need to reload the entire series as you can amend your data frame in place of needed. A 2 for 1 stock split would not mean you lost half your money. As far as I know, you just need the latest series and not every day. It should not matter if stock was 2x price before split or not for your analysis as long as you are consistent (unless I miss something). Or just reload once whenever needed. $\endgroup$ – AKdemy May 8 at 11:35
  • $\begingroup$ Yeah, I think I can produce the historical adjustments on my own and apply them to the history that I already have in my database. But as you said: things need to be well understood and I have to understand what my data vendor is actually doing, I think. I am still pondering this, though. $\endgroup$ – Kermittfrog May 8 at 12:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.