Split-ddjusted daily data vs non-adjusted intraday data - IQFeed

Hi everyone,

This is my first post here. The forum's a fantastic resource and I've found answers to everything I've needed so far. However, I can't seem to find a solution to this issue.

IQFeed intraday data is not split-adjusted while their EOD data is. I'm working on a day trading system but I want to incorporate daily moving averages as regime filters. The lack of split adjustment is obviously making the daily moving average calculations incorrect for many tickers.

I reached out to IQFeed and they confirmed that EOD data is split-adjusted but intraday is not. Therefore, I assume it must be a configuration error from my end. I have the following settings configured.

Amibroker Professional (64 bit) Version 6.42.0

IQFeed Client Version (Windows):
Symbol Limit: 500


If there's any relevant information missing, please let me know.

Appreciate your help.


It is not about AmiBroker at all.

Data is responsibility of DATA VENDOR.

Put a pressure on IQFeed, on THEIR forums, not here, as I DO NOT control THEIR DATA and can not fix THEIR problems.

Quite obviously they should provide adjustments for BOTH intraday and EOD. Not doing so is just laziness, nothing more.

I really have hard time when everyone seems to be pushing everything ON ME, even if I am NOT responsible for that. I am not god. I can't solve every problem on this planet.

Again: there is NOTHING in AmiBroker that controls plugin-delivered data. Data are controlled TOTALLY by data vendor, no-one else.

BTW: when you want to get their EOD data, create EOD database (base time interval: End-of-day).

1 Like

Hey Tomasz,

Thanks for the reply.

I understand and I'll chase after IQfeed for a solution.

One question just so I'm clear. When "Allow mixed EOD / Intraday Data" is enabled, AB does not consolidate intraday (1m) data into daily candles correct? It retrieves the daily candles from IQFeed directly. This was one comment the IQfeed support made so I want to have a response.


No. As name says it uses MIX of data if that option is disabled.

If ONLY EOD data record exists, then it uses EOD data record.
If Intraday records for given date exist, it consolidates Intraday data into Daily candles.

This is to ensure that your intraday bars are in sync with daily bars. Otherwise you got "schizophrenia of data", since many data vendors think that they can deliver EOD data that don't match intraday and that is fine. It isn't.

1 Like

@anis, if you haven't already posted in IQFeed's support room, pile on to my post here:

1 Like

Yes that makes complete sense Tomasz. Thanks again.

@PeterD I'll definitely add to your post. Thanks for letting me know.

Hi Tomasz,

Have a look at the response from IQFeed. Image attached. I don't know how to argue with them when it seems to work on their platform?

@anis - have you been able to verify/duplicate the issue with data that you have downloaded yourself with the specific symbol that you are interested in?

IQFeed, while being a decent data provider is not perfect and I've had several issues with their data (specifically with the back adjusted futures feeds). If you are able to provide examples they will fix it but sometimes you have to get the problem to the right person. And the only way to do that is to document the problem well so that they can see what is happening.

1 Like

No it doesn't. They just showed that it does NOT work. They show you two charts showing 2 different things. They show you DAILY price with adjusted price. The same you would get if you use DAILY ONLY in AmiBroker (Base time interval set to: "END OF DAY").

On the other chart they show you intraday chart WITHOUT adjustment.

So it does NOT WORK in their software. They deliver UNADJUSTED intraday data. If it worked INTRADAY data would be adjusted, but it is not.

The point is that IQFeed delivers ADJUSTED daily and UNADJUSTED intraday. That is the problem. It simply makes no sense. It is like having daily prices expressed in bitcoins and intraday expressed in USD. They should have THE SAME adjustment in both data set, so data matches! That is so screaming obvious than it is hard to believe they are not getting it.

1 Like

@vmonkey When I use IQfeed apps (as they did and sent me by email) the data is correct (daily is split-adjusted but intraday is not). They aren't denying that. I agree with @Tomasz that it makes no sense. It should be all adjusted but its not.

Now I went to the Quote Editor in AB to see the data and it only displays intraday min data. See screenshot. There's a option to show EOD data but its disabled. @Tomasz Could that be perhaps the issue? Somehow AB is unable to receive the daily data because the database is configured to receive 1m data? Again I'm not a programmer so I don't know these things.

I'm just stuck now. IQfeed confirms that their daily is adjusted but intraday is not. I get that is silly but what do I do about it now? I can't be the first person to face this issue. I'm not that special hahaha

Thanks again guys.

@anis - if IQFeed won't change the feed to how you would like (I'd try to see if you can escalate the issue to a higher level tech/manager) you can always write some code to adjust the prices to what you would like them to be. It can be frustrating to deal with problems like this, but at least with AmiBroker you have some options ...

1 Like

You can adjust local data using Symbol->Split within AmiBroker, but this does not make much sense for plugin-controlled database, as data will be overwritten as soon as you backfill again from the data as they come from IQFeed.

Also note that Quote Editor is for local data, as plugin overwrites any changes as soon as you backfill.

It is described in great detail as always in the manual:

1 Like