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 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
"I've been using IQFeed 4 in a multi-threaded situation for the last week or two on 2600 symbols or so with 100 simultaneous daily charts, and I have had 100% responsiveness." - Comment from Scott
"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
"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've never had DTN go out on me since switching. ******* would go down a couple times every month when I was using them." - Comment from Bryce in AL.
"Excellent datafeed !!!" - Comment from Arely
"This beats the pants off CQG, I am definitely switching to the ProphetX 3.0!" - Comment from Stephen
"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 am enjoying the feed very much - so superior to the broker provided feed I was previously using." - Comment from George
"My broker in Davenport suggested I give you a try as he uses your service and says its the best." - Comment from Bill via RT Chat
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
»Forums Index »IQFeed Developer »IQFeed Developer Support »Questions about api
Author Topic: Questions about api (4 messages, Page 1 of 1)

dd
-Interested User-
Posts: 3
Joined: Jun 16, 2020


Posted: Jun 16, 2020 07:00 PM          Msg. 1 of 4
Hello,

I am new to the IQFeed ,my goal is to download historical tick data in order to construct 1-30 second hi-lo bid-ask bars for all avalible low spread stocks.

I would be interested in 3 elements per tick, {timing(in ms since epoch) , bid , ask} , and if possible also downloading only those without additional data.

From what i have understood from the customer support is that tick data goes back 180 days and is avalible for all instruments.

Would reconstructing hi-lo bars from this data be accurate for example to timeframe of 5 seconds?

Where can the api documentation be found for setting up historical tick data connections?

Are there some sort of limitations to limit historical data download speed?
Concurrent socket connections limitations per api key?
Limits on requests per some timeframe?
Edited by dd on Jun 16, 2020 at 07:17 PM

DTN_Gary_Stephen
-DTN Evangelist-
Posts: 141
Joined: Jul 3, 2019


Posted: Jun 17, 2020 08:57 AM          Msg. 2 of 4
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

dd
-Interested User-
Posts: 3
Joined: Jun 16, 2020


Posted: Jun 17, 2020 09:40 AM          Msg. 3 of 4
Hi,

If keeping 10-15 connections(or what appears most optimal for throughput) and requesting new histrorical data right after previous response is received.
Would it be fine or still need to space out like you mention?
If too many data requests are sent what will happen?

The HIT command you mentioned,
Is it possible for both bid and ask?

What download speeds have been achieved by clients that are after historical data if utilizing multithreaded client and no client sided bottlenecks?

If downloading for example 5-10% of IQFeeds database,tick data of low spread stocks (probably most active and dense with data).
Approximately how much data would it generate for storage or in networking packets?
I understand space is heavily dependant on data format but estimate is good enough.

To avoid reinventing the wheel, Are there historical data downloading client programs already avalible that are optimized for speed and generate readable format files to download IQFeeds tick data for list of instruments?
Edited by dd on Jun 17, 2020 at 09:44 AM

DTN_Gary_Stephen
-DTN Evangelist-
Posts: 141
Joined: Jul 3, 2019


Posted: Jun 17, 2020 12:20 PM          Msg. 4 of 4
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
 

 

Time: Tue September 29, 2020 8:57 AM CFBB v1.2.0 15 ms.
© AderSoftware 2002-2003