Welcome to NexusFi: the best trading community on the planet, with over 150,000 members Sign Up Now for Free
Genuine reviews from real traders, not fake reviews from stealth vendors
Quality education from leading professional traders
We are a friendly, helpful, and positive community
We do not tolerate rude behavior, trolling, or vendors advertising in posts
We are here to help, just let us know what you need
You'll need to register in order to view the content of the threads and start contributing to our community. It's free for basic access, or support us by becoming an Elite Member -- see if you qualify for a discount below.
-- Big Mike, Site Administrator
(If you already have an account, login at the top of the page)
Using multiple symbols listed at the NYSE for backtesting, data adjustment is very necessary.
When a split or a dividend payment takes place huge gaps can occur in the daily data.
With IQfeed there is no adjusted data which adjusts those price dislocations. Yahoo data feed delivers a adjustment column but this is not usable in MC.
Therefore, I am asking how others are handling their data adjustment especially for backtesting stock market strategies.
Can you help answer these questions from other members on NexusFi?
Spent the last few hours setting up the new hardware and migrating over all the databases. Getting all of this data out of my old i5 machine has been painful (slow). I am looking forward to working on the new hardware. Man, it's fast!
At the …
(cant remember which post, but recent)
Short version, use R quantmod to download Dividends and Splits from Yahoo, then use my own functions to calculate the adjustments. There is also quantmod:::adjustOHLC if you want to trust it, I had problems with it personally.
Thank you very much for your suggestion.
I think it should be possible to get the Iqfeed data exported easily, to R or maybe a custom written C# code, using Multicharts.Net or Multicharts.
But in my opinion it will be a very cumbersome workaround, which can be affected by bugs.
Therefore, I hoped to have a reliable proven way to deal with that problem.
You are correct that IQFeed only has unadjusted data. Unless you are able to reliably get split/dividend data from another source (e.g., Bloomberg), the process that I've found best is this-
1) store unadjusted tick/minute/whatever prices from IQFeed somewhere (e.g., MySQL database)
2) store dividends (which are part of the Yahoo historical data feed)
3) download adjusted and unadjusted daily close prices from Yahoo at the end of each day
4) back into adjustment multipliers + dividend offsets after step 3 each day, then generate a new adjusted output file
Annoying, but manageable. Unfortunately, cannot share my code on this one. Good luck.
It seems that Yahoo is no longer allowing API calls for historical data, hence quantmod, TTR, pandas, or any other package/software which relied on Yahoo to get EOD historical data is out of luck.
I had used Yahoo data for a while to do exactly what was described in this thread (to impute Adj factors based on adjusted / unadjusted prices), then to apply these factors to other unadjusted data sets (IQFeed). I'm now in the market for either a new source of adjusted & unadjusted prices, or for a source of splits/dividends with which to create my own adjustment factors. It's surprising how many data vendors only supply unadjusted data.