Join the 80,000 other DTN customers who enjoy the fastest, most reliable data available. There is no better value than DTN!

(Move your cursor to this area to pause scrolling)




"I just wanted to tell you what a fine job you have been doing. While *******, from what I hear, has been down and out, off and on, IQ feed has held like a champ this week." - Comment from Shirin
"This is an excellent value, the system is generous (allowing for 500 stocks) and stable (and really is tick-by-tick), and the support is fantastic." - Comment from Shirin via Email
"Excellent datafeed !!!" - Comment from Arely
"After all the anxiety I had with my previous data provider it is a relief not to have to worry about data speed and integrity." - Comment from Eamonn
"DTN feed was the only feed that consistently matched Bloomberg feed for BID/ASK data verification work these past years......DTN feed is a must for my supply & demand based trading using Cumulative Delta" - Comment from Public Forum Post
"DTN has never given me problems. It is incredibly stable. In fact I've occasionally lost the data feed from Interactive Brokers, but still been able to trade because I'm getting good data from DTN." - Comment from Leighton
"I've been using Neoticker RT with IQFeed for two months, and I'm very happy with both of the products (I've had IQFeed for two years with very few complaints). The service from both companies is exceptional." - Comment from Public Forum
"I started a trial a few weeks back before the market went wild. DTN.IQ didn’t miss anything and beat my other provider. I decided to stay with you because of the great service through all the volatility." - Comment from Mike
"IQFeed version 4 is a real screamer compared to anything else I have seen." - Comment from Tom
"I was with ******* for 4 years at $230 a month, this is a huge savings for me, GOD BLESS YOU PEOPLE," - Comment from T.S. via Email
Home  Search  Register  Login  Recent Posts

Information on DTN's Industries:
DTN Oil & Gas | DTN Trading | DTN Agriculture | DTN Weather
Follow DTNMarkets on Twitter
DTN.IQ/IQFeed on Twitter
DTN News and Analysis on Twitter
Viewing User Profile for: altmany
About Contact
Joined: Jul 30, 2018 05:38 AM
Last Post: Oct 6, 2019 07:01 PM
Last Visit: Oct 7, 2019 03:56 PM
Website: https://UndocumentedMatlab.com/IQML
Location:
Occupation: Consultant
Interests: Matlab, finance, trading
Avatar:
IQML - IQFeed-MATLAB connector
Email: altmany@gmail.com
AIM:
ICQ:
MSN IM:
Yahoo IM:
Post Statistics
altmany has contributed to 39 posts out of 19330 total posts (0.20%) in 472 days (0.08 posts per day).

20 Most recent posts:
IQFeed Developer Support » NHL Request Documentation. Oct 6, 2019 07:01 PM (Total replies: 4)

Craig - I agree with you that the description could probably be made clearer. I believe the meaning is simply that the optional Date parameter can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD) or any combination of dates and date-ranges, separated by colons. For example, "20190620:20190701-20190731:20190908" means "the single date 2019-06-20, plus the date range 2019-07-01 to 2019-07-31, plus the single date 2019-09-08".

p.s. - in the description, the comma just before the final date is most probably a typo - it should be a colon (:). In IQFeed's API commas are used to separate between parameters and are not allowed within the parameter values. The colon character is used to separate values within a parameter (hence "colon delimited").

Yair Altman
IQML - IQFeed-MATLAB connector
https://UndocumentedMatlab.com/IQML

I am not a DTN employee; my post reflects my personal opinion


IQFeed Developer Support » Bugs in SBS (Symbols by SIC lookup) query Sep 29, 2019 05:06 AM (Total replies: 4)

Followup problem #3: SIC groups 00-09 (Agriculture sector) return no symbols at all. For example:
=> SBS,07,x
<= x,E,!NO_DATA!,
<= x,!ENDMSG!

It seems that only SIC groups 10+ are properly processed.

You *do* have information about the Agriculture stocks. For example, you report valid market and fundamental data for AGRO (SIC=0139, i.e. SIC group 01), CVGW (SIC=0179) and FDP (SIC=0179) - It's just that you don't return these symbols in the SBS query since their SIC group < 10.

Yair Altman
IQML - IQFeed-MATLAB connector
https://UndocumentedMatlab.com/IQML

I am not a DTN employee; my post reflects my personal opinion


IQFeed Developer Support » Bugs in SBS (Symbols by SIC lookup) query Sep 28, 2019 01:46 PM (Total replies: 4)

When I search for symbols by SIC code (SBS query), I can see the following:

=> SBS,28,x 

<= x,2813,AIQUY,3,1,L'AIR LIQUIDE ADR
<= x,2813,FLRE,3,1,FLAMERET INC
<= x,2816,TORM,3,1,TOR MINERALS
...
<= x,2819,ZGSI,3,1,ZERO GRAVITY SOL INC
<= x,2820,CDSAF,3,1,CYDSA SA SER A ORD
<= x,2820,FUPEF,3,1,FUCHS PETROLUB AG
<= x,2820,LNXSF,3,1,LANXESS AG
<= x,2821,ACGJ,3,1,ACI GLOBAL CORP
...
<= x,2834,AIHLF,3,1,
...
<= x,2836,XLRN,1,1,ACCELERON PHARMA INC. COMMON S
<= x,2839,LMDCF,3,1,LINGO MEDIA CORP NEW
<= x,2839,YLWDF,3,1,YELLOW PAGES LTD COMMON SHARE
<= x,2840,DUNIY,3,1,DUNI AB
<= x,2840,HEGIF,3,1,HENGAN INTL
<= x,2841,BTTR,3,1,BETTER CHOICE COMPANY INC. COMMON STOCK
...
<= x,2869,WLKP,7,1,WESTLAKE CHEMICAL PARTNERS
<= x,2870,NHYDY,3,1,NORSK HYDRO ADR
<= x,2870,NHYKF,3,1,NORSK HYDRO ASA ORD
<= x,2873,AGGL,3,1,AGTECH GLOBAL INTERNATIONAL INC. COMMON STOCK
...
<= x,!ENDMSG!

There are 2 problems with these results:

1. SIC group codes 2820,2839,2840,2870 are not listed in the response to a SSC query. I detected 154 such SIC codes that were reported by SBS but not listed by SSC (I can email you this list of 154 if you wish).

2. Some symbols are reported without a company name. I found 4 cases of this problem: AIHLF (SIC code 2834), ELIAF (4911), UTBPP (6798) and FWDE (1311).

I have not tested to check whether similar problems occur with the corresponding NAICS queries (SBN and SNC), but it would not surprise me to discover this.

Please advise...

Yair Altman
IQML - IQFeed-MATLAB connector
https://UndocumentedMatlab.com/IQML

I am not a DTN employee; my post reflects my personal opinion


IQFeed Developer Support » Average Volume field in fundamental data Sep 27, 2019 07:55 AM (Total replies: 1)

What is the units of the Average Volume field in the Fundamental data message (http://www.iqfeed.net/dev/api/docs/Level1FundamentalMessage.cfm)? is it shares or USD? is it the nominal value or specified in thousands/millions?

This question chimes with a similar recent query on this forum (http://forums.iqfeed.net/index.cfm?page=topic&topicID=5615), where it was not clear whether the Common Shares Outstanding field is the nominal value or specified in thousands (the latter, in this case).

I therefore suggest adding a <Units> column to the table in the documentation webpage, to make things clearer to users, for these data fields as well as all the others.

Yair Altman
IQML - IQFeed-MATLAB connector
https://UndocumentedMatlab.com/IQML

I am not a DTN employee; my post reflects my personal opinion


IQFeed Developer Support » protocol 6.1 problem Sep 8, 2019 01:58 AM (Total replies: 5)

Most likely you are still using the 6.0 client - download and install the 6.1 client from http://www.iqfeed.net/index.cfm?displayaction=support§ion=download

Yair Altman
IQML - IQFeed-MATLAB connector
https://UndocumentedMatlab.com/IQML

I am not a DTN employee; my post reflects my personal opinion


IQFeed Developer Support » S,SERVER DISCONNECTED Aug 12, 2019 03:07 PM (Total replies: 1)

Regarding your 2nd question (Is there a way to get what symbols are currently watched?), you can try a S,REQUEST WATCHES request in the Level1 port - this returns a comma-separated list of all currently-watched symbols.

Yair Altman
IQML - IQFeed-MATLAB connector
https://UndocumentedMatlab.com/IQML

I am not a DTN employee; my post reflects my personal opinion



You can use the Exchange_Root field together with the Expiration_Date field (to get the year and month), convert the month into the corresponding letter based on the standard symbology, and concatenate everything together.

For example, @ES# currently reports Exchange_Root='ES' and Expiration_Date='09/20/2019', so the current underlying contract is @ESU19 (U=September). If you compare the data fields of the fundamental report (after placing a simple watch) for @ES# and @ESU19, you'll see that they are identical except for 4 fields that naturally contain different values: Symbol, Historical_Volatility, 52_Week_High, and 52_Week_High_Date.

Yair Altman
IQML - IQFeed-MATLAB connector
https://UndocumentedMatlab.com/IQML

I am not a DTN employee; my post reflects my personal opinion


IQFeed Developer Support » Silent login (no popup window) Jul 10, 2019 04:50 AM (Total replies: 1)

Is there any way to login to IQFeed without the login window appearing? Today, even if we run IQConnect with -login, -password and/or -autoconnect, the login window still appears for a few seconds until the authentication process completes.

If having a silent login option is not currently possible, then please add it to your next release.



Yair Altman
IQML - IQFeed-MATLAB connector
https://UndocumentedMatlab.com/IQML

I am not a DTN employee; my post reflects my personal opinion

Edited by altmany on Jul 10, 2019 at 04:52 AM

Data and Content Support » Timestamp Resolution for Tick Data Jun 20, 2019 03:31 PM (Total replies: 2)

My hunch is that you are not setting the protocol when you first connect to IQFeed, which then defaults to IQFeed 4.9 behavior. When I run your query using protocol 5.0 I see millisecond timestamp resolution, and with protocol 6.0 or 6.1 I see microsecs resolution.
http://www.iqfeed.net/dev/api/docs/IQFeedProtocols.cfm


Yair Altman
IQML - IQFeed-MATLAB connector
https://UndocumentedMatlab.com/IQML

I am not a DTN employee; my post reflects my personal opinion

Edited by altmany on Jun 20, 2019 at 03:33 PM
Edited by altmany on Jun 20, 2019 at 03:33 PM

Data and Content Support » XGU19 data Jun 13, 2019 06:48 AM (Total replies: 3)

These may be trades done outside regular trading hours (RTH), not via the regular electronic market. The low volume (quantity/size) highlights the difference between such trades (which are infrequent) and trades during normal trading hours.

If you run a streaming query and check the reported MessageContents and TradeCondition fields, you'll probably see that they contain codes that correspond to "Extended/Form-T Trade" (https://www.investopedia.com/terms/f/formt.asp) i.e., traded outside RTH.

Some IQFeed queries have the ability to set a filter (BeginFilterTime, EndFilterTime) that limit the reported results to a specific daily time range (for example, 9:30am to 4pm) - you can set it up so that extended trades are not reported.

Yair Altman
IQML - IQFeed-MATLAB connector
https://UndocumentedMatlab.com/IQML

I am not a DTN employee; my post reflects my personal opinion



The MaxDatapoints parameter has precedence over BeginDate/Time, regardless of DataDirection. For example, if MaxDatapoints=3 (as in your example), we’ll only get the 3 latest ticks (before EndDate/Time), regardless of BeginDate/Time. If you don't want this behavior, leave MaxDatapoints empty.

Perhaps DTN should update the documentation with this important clarification, but it seems to me to be a documentation aspect, not a coding bug.

Yair Altman
IQML - IQFeed-MATLAB connector
https://UndocumentedMatlab.com/IQML

I am not a DTN employee; my post reflects my personal opinion


IQFeed Developer Support » Bug in Level2 BidTime/AskTime? May 15, 2019 06:08 AM (Total replies: 3)

Thanks Steve - here is another example that I have just seen, this time for the FB symbol:

<= 20190515 07:01:01.237 (Level2) Z,FB,CHXE,0.,180.71,0,100,07:00:17.012566,2019-05-15,52,99:99:99.000000,F,T,T

In this new example, the Bid is invalid and the Ask is valid, yet the timestamps appear switched.

As far as I could tell, this problem is evident whenever one Bid/Ask is valid and the other is not. But it is quite possible that the problem of switched BidTime<->AskTime is consistent even when both Bid and Ask are valid, and nobody has reported it so far because it would be nearly impossible to detect except in the specific case of just one of them being invalid.


Yair Altman
IQML - IQFeed-MATLAB connector
https://UndocumentedMatlab.com/IQML

I am not a DTN employee; my post reflects my personal opinion

Edited by altmany on May 15, 2019 at 06:08 AM

IQFeed Developer Support » Bug in Level2 BidTime/AskTime? May 14, 2019 10:28 AM (Total replies: 3)

Hi guys - kindly comment on this...

Yair Altman
IQML - IQFeed-MATLAB connector
https://UndocumentedMatlab.com/IQML

I am not a DTN employee; my post reflects my personal opinion


IQFeed Developer Support » Bug in Level2 BidTime/AskTime? May 2, 2019 04:15 AM (Total replies: 3)

when I ran a level 2 request for MSFT outside regular trading hours, I got the following data row among others:

<= 20190502 04:18:38.700 (Level2) Z,MSFT,BATS,0.,129.39,0,600,18:29:49.000347,2019-05-01,52,99:99:99.000000,F,T,T

According to the documentation (http://www.iqfeed.net/dev/api/docs/Level2UpdateSummaryMessage.cfm), this row translates as follows:

      Symbol: MSFT
MMID: BATS
Bid: 0
Ask: 129.39
BidSize: 0
AskSize: 600
BidTime: 18:29:49.000347
Date: 2019-05-01
Condition: 52 (regular)
AskTime: 99:99:99.000000
BidInfoValid: False
AskInfoValid: True
EndOfMessage: True

The reported BidTime and AskTime make no sense - it is the Bid which is invalid (and should have the invalid time of 99:99:99), and the Ask which is valid (and should have the valid time of 18:29:49). Is this a bug in IQFeed's code?

If I'm correct, perhaps it would be simpler to fix the documentation than to fix the code - switching between BidTime/AskTime in the documentation will seem a bit awkward (because Bid is often reported before Ask), but at least it would be consistent with your current code and would not require you to do any code fixes.

Please advise.

Yair Altman
IQML - IQFeed-MATLAB connector
https://UndocumentedMatlab.com/IQML

I am not a DTN employee; my post reflects my personal opinion



The available forums are listed here: http://forums.iqfeed.net

Yair Altman
IQML - IQFeed-MATLAB connector
https://UndocumentedMatlab.com/IQML

I am not a DTN employee; my post reflects my personal opinion



Today I spent a few frustrating hours trying to debug a problem when connecting to the Lookup port (for historic data) on a specific machine. For the benefit of others who may encounter a similar problem and search this forum, here's a breakdown of the problem, causes, analysis and solution:

TL/DR: When any other application on the computer uses one of IQFeed's ports, it cannot be used in IQFeed. Solution: either remove the other application, or change IQFeed's default port assignment to some unused port.

Symptoms:
  • Historic data failed to download, displaying errors about invalid data arriving on the Lookup port.
  • The IQConnect.txt file did not display any connection message to the Lookup port (only to other ports).
  • The Diagnostic utility was unable to listen to the Lookup port in the <Port Tester> tab, displaying an error message that "The specified address is already in use."


Diagnosis:
Open DOS Command Window (run as administrator) and run the following command:
netstat -abon

This will display all the active ports and the processes that hold them. For example, in my particular case the relevant line was this:
[lghub_agent.exe]
TCP 127.0.0.1:9100 0.0.0.0:0 LISTENING 2312

This tells us that the culprit is the lghub_agent.exe process (part of Logitec's G-Hub application), process ID=2312

Solutions:
  • Uninstall or disable the problematic other application
  • Configure the other application to use a different port (this is often not possible, but sometimes is)
  • Modify IQFeed's default port to use a different port number that is unused. For example, in the case of the Lookup port, the port number is stored in the registry key
    \\HKEY_CURRENT_USER\Software\DTN\IQFeed\Startup\LookupPort
    which you can modify using the Windows builtin regedit utility.


I hope this helps someone...



Yair Altman
IQML - IQFeed-MATLAB connector
https://UndocumentedMatlab.com/IQML

I am not a DTN employee; my post reflects my personal opinion

Edited by altmany on Apr 10, 2019 at 05:12 PM

IQFeed Developer Support » Developer wanted to build API Apr 4, 2019 09:51 AM (Total replies: 5)

I can do all this in Matlab, using the IQML (IQFeed-Matlab) connector.
I have experience with everything you listed.
If you have Matlab then you'd be able to use/adapt/maintain the code by yourself.
If you don't have Matlab, the program could be compiled as a standalone executable.

Contact me to discuss further, if you're interested.

Yair Altman
IQML - IQFeed-MATLAB connector
https://UndocumentedMatlab.com/IQML

I am not a DTN employee; my post reflects my personal opinion


Data and Content Support » How can I get/use splits info Mar 27, 2019 02:33 PM (Total replies: 2)

Here is an actual example for MSFT (1:2 split on 03/29/1999 and 02/18/2003) - this is reported as part of the fundamental message for a symbol ("F" message):

Split Factor 1: "0.50 02/18/2003"
Split Factor 2: "0.50 03/29/1999"


This correlates with the latest 2 splits for Microsoft, as reported on https://www.stocksplithistory.com/microsoft/

If there is only a single split in recorded history, Split Factor 2 will be empty.
If there is no split history, both strings will be empty.

Note that for some reason IQFeed reports the split rounded only to 2 digits after the decimal. For example, the GOOGL split on 4/3/2014 (https://www.stocksplithistory.com/google/) was 1:1.998 but this is reported as "0.50" (instead of the more accurate 0.5005) by IQFeed:

Split Factor 1: "0.50 04/03/2014"
Split Factor 2: ""


In other words, the split factor is not a full-accuracy float but a float rounded to 2 decimal places. Hopefully IQFeed will improve this in a future release.

In some cases, splits may be missing or different between different data providers. For example, IQFeed reports only a single split for GOOG (1.00 on 04/27/2015) whereas https://www.stocksplithistory.com/?symbol=GOOG reports a 1:1.0027455 split on that date as well as a 1:2.002 split on 03/27/2014. This appears to be due to faulty data somewhere.



Yair Altman
IQML - IQFeed-MATLAB connector
https://UndocumentedMatlab.com/IQML

I am not a DTN employee; my post reflects my personal opinion

Edited by altmany on Mar 27, 2019 at 02:45 PM


Stephen - I believe that you've recently changed your Twitter handle from @DTN_IQFeed to @DTNMarkets, the direct link now being https://twitter.com/DTNMarkets

(the @DTN_IQFeed handle/link no longer works)

Yair Altman
IQML - IQFeed-MATLAB connector
https://UndocumentedMatlab.com/IQML

I am not a DTN employee; my post reflects my personal opinion


DTN.IQ Client Software Support » "Invalid interval reference time" Mar 17, 2019 02:41 PM (Total replies: 5)

I am also seeing these errors on-and-off. It seems that if I enter a valid trading start date then it resumes working and gets out of the loop that constantly throws the "Invalid interval reference time" error. For example:

Original request - error:
=> 20190317 21:34:49.028 (Lookup) HIT,@KCK19,60,20190315 000001,20190317 235959,1,,,1,H-@KCK19,,s
<= 20190317 21:34:49.427 (Lookup) H-@KCK19,E,Invalid interval reference time.

Modified request - good data:
=> 20190317 21:34:57.536 (Lookup) HIT,@KCK19,60,20190312 000001,20190317 235959,1,,,1,H-@KCK19,,s
<= 20190317 21:34:57.942 (Lookup) H-@KCK19,2019-03-15 13:30:00,97.65,97.50,97.65,97.60,13763,56,0

Original request again - good data:
=> 20190317 21:35:02.040 (Lookup) HIT,@KCK19,60,20190315 000001,20190317 235959,1,,,1,H-@KCK19,,s
<= 20190317 21:35:02.443 (Lookup) H-@KCK19,2019-03-15 13:30:00,97.65,97.50,97.65,97.60,13763,56,0


Yair Altman
IQML - IQFeed-Matlab connector
https://UndocumentedMatlab.com/IQML
I am not a DTN employee; my post reflects my personal opinion

Edited by altmany on Mar 18, 2019 at 04:55 AM


Time: Wed November 13, 2019 1:40 PM CFBB v1.2.0 0 ms.
© AderSoftware 2002-2003