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)




"Thank God for your Data Feed as the only Zippers I see are on my pants (LOL), and no more 200 pip spikes to mess up charts." - Comment from Spiro via Email
"I just wanted to let you know how fast and easy I found it to integrate IQFeed into our existing Java code using your JNI client. In my experience, such things almost never go so smoothly - great job!" - Comment from Nate
"I used to have *******, but they are way more money for the same thing. I have had no probs with data from DTN since switching over." - Comment from Public Forum Post
"If you want customer service that answers the phone, your best bet is IQFeed. I cannot stop praising them or their technical support. They are always there for you, and they are quick. I have used ****** too but the best value is IQFeed." - Comment from Public Forum
"You are either overstaffed or people just don't have problems with your feed because customer support always answers the phone quickly." - Comment from Jay via Email
"Very impressed with the quality of your feed - ******* is a real donkey in comparison." - Comment from A.C. via Email
"You are much better than lawyers or the phone company because you answer the phone when I call! I just love your customer service." - Comment from Isreal
"I would just like to say that IQFeed version 4 is running very well and I am very happy with its performance. I would also like to extend a big thanks for the fast and efficient help that I always receive. My questions and concerns are always addressed promptly. Way to go!" - Comment from Josh in CO.
"I had always used ******* but for the past 2 weeks have been trying DTN IQFeed. Customer support has been extraordinary. They call just to make sure your problem hasn't recurred." - Comment from Public Forum
"I like you guys better than *******...much more stable and a whole lot fewer issues." - Comment from Philip
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: DTN_Gary_Stephen
About Contact
Joined: Jul 3, 2019 11:09 AM
Last Post: Aug 4, 2020 08:53 AM
Last Visit: Aug 4, 2020 08:53 AM
Website:  
Location:
Occupation:
Interests:
Avatar:
Email: gary.stephen@dtn.com
AIM:
ICQ:
MSN IM:
Yahoo IM:
Post Statistics
DTN_Gary_Stephen has contributed to 104 posts out of 19686 total posts (0.53%) in 410 days (0.25 posts per day).

20 Most recent posts:
IQFeed 3rd Party Software Support » Form T Intraday Filter Aug 4, 2020 08:53 AM (Total replies: 3)

Roberts,

In the IQFeed API, there is no way to filter an HID request by trade type. However, there are some other possible approaches:

HTD, HTT, and HTX (tick-level) history requests include the Trade Condition. You can't submit a request that filters for this, but you can retrieve all ticks, and use your own code to identify the ones that include the FORMT trade condition. The code "17" as all or part of the Trade Condition code indicates a FORMT Trade Condition. You can see a list of all the Trade Condition codes by sending the command STC to Port 9100. (The codes are in hexadecimal, while the STC list is in decimal. so FORMT is code 17 in the ticks and 23 in that list.)

Another approach is to use the Level 1 feed to follow symbol(s) live. The Most Recent Trade Conditions field contains the Trade Condition code as described above. Also, there is a field Message Contents that more generally tells you what drives this tick:

C - Last Qualified Trade. E - Extended Trade = Form T trade. O - Other Trade = Any trade not accounted for by C or E. b - A bid update occurred. a - An ask update occurred. o - An Open occurred. h - A High occurred. l - A Low occurred. c - A Close occurred. s - A Settlement occurred. v - A volume update occurred.

Please note that you must use Protocol 6.1 to get the Trade Condition. This data point does not exist in earlier protocols. I hope this information is helpful!

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist



I'm not sure what you mean by "empty". But those two ticks are settlements, not trades. The symbols are options that expired at the end of the day. When that happens, the exchanges send a "settlement" transaction, which shows up as a tick. The Most Recent Trade Conditions field tells you if a tick represents a trade, or something else.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist



DTN had a brief internal issue receiving CME data today, at this time. I will add your report to our internal investigation.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist



Do you mean the symbol @ESU20? In looking at the historical data for the time you give, I don't see any cases where the Bid exceeds the Ask. Can you give an example?

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


IQFeed Developer Support » Downloading Historical Intraday Future Ticks Jul 20, 2020 07:58 AM (Total replies: 3)

Greg,

Excellent! I'm glad I could help.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


IQFeed Developer Support » Downloading Historical Intraday Future Ticks Jul 17, 2020 10:58 AM (Total replies: 3)

Hello, this is Gary with IQFeed API Support.

Your request is fine. You can request as much data as you want. It sounds like the data is queueing, which happens when IQFeed cannot send data that has been requested. In other words, IQFeed is sending data faster than your code is processing it, and the receive buffer is filling up. To monitor this, open Diagnostics/Client Stats tab, and observe the "KB Queued" column for the Lookup port during a request. You'll probably find that it starts low and slowly increases as data comes in.

How do you avoid this? Generally, DTN recommends using three different threads in your app: one to retrieve the data from the API, one to convert the information into the form you want, and a third thread to act on it (draw a chart, put it in a database, whatever your app does). Also: having multiple connections to the IQFeed, and having each connection retrieve part of the desired data, can improve performance.

I hope this helps! Let me know if you have any other questions or issues getting data from the API.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


IQFeed Developer Support » Pulling historical OPRA chains Jul 17, 2020 09:09 AM (Total replies: 1)

The CEO command will only retrieve option symbols that are not yet expired.

History command can retrieve historical data for expired options if you know the symbol, e.g. GOOG2017A1070.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


IQFeed Developer Support » HIT: Missing data or data compression? Jul 17, 2020 08:08 AM (Total replies: 3)

Yes, this is standard behavior of the API. If no data exists for a specified time period, the API will omit it from the response. There were no transactions for this symbol in the minute of 2010-01-03 17:47:00, so no record is created.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


IQFeed Developer Support » Historical Data Questions Jul 9, 2020 04:21 PM (Total replies: 2)

In the IQFeed API, daily history is adjusted for stock splits. Minute and tick history is not adjusted for stock splits. For other corporate actions, such as special one-time stock awards, it depends on how they are entered into the data. If they are treated as stock splits, the above applies.

The amount of historical data available varies greatly by symbol and exchange. As you note, tick data is only available for the past 180 days. In general, minute data is available back to about 2007-2008. In some cases, hourly, daily, or monthly data may be available for many years further back. There's no hard-and-fast rule on it; you can try to request any historical data, and the IQFeed API will return whatever is available.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist



Antoine,

The IQFeed API allows connections, including to multiple ports at once, at the same time. Are both your connections coming from the same computer? If your two connections are from two different machines, and using the same LoginID, the second connection will disconnect the first one. This is a limitation of the loginID.

If you're trying to make both connections from the same computer, can you tell me more about what happens when you are disconnected? You should be able to connect to both news and data ports as you describe.


Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist

Edited by DTN_Gary_Stephen on Jul 8, 2020 at 04:31 PM

IQFeed Developer Support » Level 2 returning "U" messages. Jul 8, 2020 04:10 PM (Total replies: 3)

Most likely you are not sending an S,SET PROTOCOL. Summary messages used to be specified as "U" instead of "Z" in the default protocol of 4.9, which is the default protocol.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


IQFeed Developer Wish List » Open Streams by FIGI Code Jun 24, 2020 08:12 AM (Total replies: 5)

I apologize for the misreading. Apparently my caffeine REALLY hasn't kicked in. I'm not aware of any future plans to implement FIGI in this fashion.

Also, it occurs to me that such functionality could be built, using what's currently available. If you built a database of all the symbols and FIGIs, you could accept the FIGI as user input, cross-reference it to the symbol, and send the command to the IQFeed API using the symbol. The FIGIs can be collected using watches on the Level 1 port (watch symbol, collect FIGI from fundamental message, unwatch symbol). Alternatively, I am aware of a third-party API called OpenFIGI which you can use to retrieve FIGI for a given ticker symbol and exchange. There may be other similar options out there.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


IQFeed Developer Wish List » Open Streams by FIGI Code Jun 24, 2020 07:03 AM (Total replies: 5)

Disregard my prior response; apparently my caffeine hasn't kicked in yet. FIGI is already implemented in IQFeed; it is part of the Fundamental Message in Protocol 6.1:

F,MSFT,5,33.3,35013000,203.9500,130.7800,203.9500,132.5200,1.0100,0.5100,2.0400,09/10/2020,08/19/2020,6.06,,0.14,06,MICROSOFT,MSFT,54.100,0.84,,175552.0,69420.0,03/31/2020,66662.0,7583440,0.50 02/18/2003,0.50 03/29/1999,14,4,7372,26.97,1,21,06/23/2020,08/05/2019,06/23/2020,03/23/2020,157.7000,,,,,511210,,,,,,USD,,,,,BBG000BPH459,,

You can retrieve it from that message whenever you follow a symbol. It is not in protocols earlier than 6.1, so you'd have to update if you're not already using it.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist



Thanks for the update! IQFeed is a native Windows program, and I can't offer a lot of advice on how to run it under Linux or any non-Windows OS. You might also look for any Wine errors or log messages at the times you're having these spikes; in some cases that can clue us in to what's causing it.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


IQFeed Developer Wish List » Open Streams by FIGI Code Jun 24, 2020 06:44 AM (Total replies: 5)

There are no ongoing plans to implement FIGI that I'm aware of, but I can ask about it.

Edited by DTN_Gary_Stephen on Jun 24, 2020 at 07:01 AM

IQFeed Developer Support » Questions about api Jun 17, 2020 12:20 PM (Total replies: 3)

The maximum number of simultaneous history requests is tied to the loginID, not the connection. So having 10-15 multiple threads under the same loginID will not increase that limit.

Only tick-level historical requests will return Bid and Ask.

I can't really comment on end user download speeds, because that depends largely on how much data you're downloading, time of day, internet connection, and other factors. In general, best practices are to have different threads for retrieving data from the API, converting it to your desired form, and then acting on it. Having multiple connections to the IQFeed API can help also.

The timestamps in the data are exchange timestamps, so you can use those to determine your total transit time.

DTN has general sample code in C, C#, Java, and Visual Basic at iqfeed.net, and we are aware of several Python repositories around GitHub. But I'm not aware of any such code for that specific purpose.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


IQFeed Developer Wish List » Binary Protocol Jun 17, 2020 10:37 AM (Total replies: 12)

Can you be more specific? The number of ASCII characters in an API response can vary a great deal, depending on the request.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist



If you decide you would like us to review it, you can get in touch with me via any of the support channels. Ask to speak to Gary (me), and I'll handle everything from there.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


IQFeed Developer Support » Questions about api Jun 17, 2020 08:57 AM (Total replies: 3)

Answers to your questions:

Online documentation of the IQFeed API can be read at http://www.iqfeed.net/dev/index.cfm?login=login. You will need to login with your website username and password, which you received when you subscribed to the API product. If you don't know it, that URL has a "send me my password" link. You just need to enter your email address. If you still can't retrieve it, contact IQFeed support.

The most basic way to build historical bars is a history command, as per https://www.iqfeed.net/dev/api/docs//HistoricalviaTCPIP.cfm. What you probably want is an HIT command. This allows you to specify a symbol, interval, start/end date/time, and get a list of all intervals in that range. This will return Timestamp,High,Low,Open,Close,Volume,Period Volume.

If you want to collect historical bars and gather new bars as they come in, the BW command works similarly.

Yes, tick data generally goes back 180 days. Minute and daily data goes back further.

There is no limit to concurrent connections, provided they all come from the same computer. To have concurrent connections from different machines would require multiple IQFeed login IDs.

There can be 15 history requests active at one time. "Active" means the request has been sent and the data has not been completely returned yet. If you are requesting large amounts of history for a large number of symbols, you might have to space your requests out a little. But most requests process so quickly this isn't an obstacle.

If you are doing any kind of live "watching" of a symbol, you may only watch up to 500 symbols at a time, unless you pay an additional fee to view more.

There are no per-time period maximums on the total number of historical requests you make.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist



If you are willing, we can test your app in-house. This will help eliminate network or machine as possible causes of the delay.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist



Time: Sat August 15, 2020 2:06 PM CFBB v1.2.0 16 ms.
© AderSoftware 2002-2003