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)




"IQFeed version 4 is a real screamer compared to anything else I have seen." - Comment from Tom
"You have an excellent feed. Very few spikes for Spot Forex." - Comment from Public Forum Post
"IQ feed is brilliant. The support is mind-bending. What service!" - Comment from Public Forum Post
"I am keeping IQFeed, much better reliabilty than *******. I may refer a few other people in the office to switch as well." - Comment from Don
"I am enjoying the feed very much - so superior to the broker provided feed I was previously using." - Comment from George
"I was on the phone with a friend who uses CQG and right after the Fed announcement, CQG was as much as 30 seconds behind DTN.IQ. Some quotes were off by as much as 15-18 cents. Your feed never missed a beat." - Comment from Roger
"If you are serious about your trading I would not rely on IB data for serious daytrading. Took me a while to justify the cost of IQ Feed and in the end, it's just a 2 point stop on ES. Better safe than sorry" - Comment from Public Forum
"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
"I use IQ Feed, Great stuff as far as data analysis information, storage and retrieval is concerned." - Comment from Public Forum
"I will tell others who want to go into trading that DTN ProphetX is an invaluable tool, I don't think anyone can trade without it..." - Comment from Luther
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: mathpaquette
About Contact
Joined: May 18, 2018 06:34 AM
Last Post: Dec 30, 2020 09:31 PM
Last Visit: Dec 31, 2020 09:59 AM
Website: https://github.com/mathpaquette
Location: Canada
Occupation: Developer
Interests: Stock Market
Email: mathieu@inovitex.com
AIM:
ICQ:
MSN IM:
Yahoo IM:
Post Statistics
mathpaquette has contributed to 22 posts out of 21185 total posts (0.10%) in 2,165 days (0.01 posts per day).

20 Most recent posts:

Hello everyone,

Just to inform you that I released IQFeed.CSharpApiClient 2.6.0 with the required change in order to limit 50 requests per second to avoid potential exception.

https://www.nuget.org/packages/IQFeed.CSharpApiClient/2.6.0

Code:
https://github.com/mathpaquette/IQFeed.CSharpApiClient/commit/cc28fa80b009e048065cb9f6cccf1a97a9482132


Please review or comment.
Mathieu


Quote: Hi, Gary. I'm confused about the purpose and implementation of the new limit.

Each day after the main trading session (at 7PM Eastern) I fetch tick history for all the symbols I'm screening. Currently there are 4090 of them.

My first reaction on hearing about the new rate limit was "That's fine; I'm OK with a lower limit, though I doubt I'm hitting 50 requests per second as it is." I run 8 threads, each of which performs history requests sequentially, so there are at most 8 requests in flight at any given time, and it takes a while for each one to complete and a new one to be issued. (The data has to be received, reformatted, compressed, and written to disk before a new request is issued.)

Yesterday, for example, the history fetch took 339 seconds, for an average of about 12 completed requests per second.

Today the history fetch took 2031 seconds, for an average of 2 completed requests per second. Wow; that's quite a change. It's slower than the days when I had a 6Mbps DSL line.

My best guess is that the majority of history requests finish quickly, so they're hitting the rate limit and are being delayed by as much as a factor of 6. However, a fair number of requests take a long time to finish, which drags down the average way below the nominal rate limit. High peak rate, low average rate.

So I'm curious as to whether your intent is to limit the rate at which requests are initiated, or the bandwidth demand on the servers. If the latter, the current approach may be too drastic; my connection is idle more than 80% of the time.
--- Original message by taa_dtn on Dec 23, 2020 07:15 PM
Hi @taa, can I see your implementation? I mean, 50 requests per second means 3000 requests per minute. How do you get 2 requests per second?

Mathieu

IQFeed API Questions » IQFeed API documentation source? Jun 13, 2020 11:10 AM (Total replies: 15)

Hello Andrew,

Added 2 additional examples for Python and one is related to what you were asking for.
Please have a look to Streaming level 1 example.

https://github.com/mathpaquette/IQFeed.CSharpApiClient/blob/master/docs/USING-WITH-PYTHON.md#additional-examples

Regards,
Mathieu Paquette
Software consultant

IQFeed API Questions » IQFeed API documentation source? Jun 12, 2020 05:11 AM (Total replies: 15)

Hello Andrew,

Feel free to create an issue https://github.com/mathpaquette/IQFeed.CSharpApiClient/issues if you need more support.

Thanks,
Math

IQFeed API Questions » IQFeed.CSharpApiClient has now support for Python May 31, 2020 04:19 PM (Total replies: 3)

For the benefit of everyone and for those who want to fully enjoy the true speed of IQFeed without too much compromise, IQFeed.CSharpApiClient is now offering support for Python in most cases. I received a lot of comments how the client is superior in term of performance compared to existing Python implementation.

Have a look and feel free to reply for any concerns.

IQFeed.CSharpApiClient with Python
----------------------------------------
https://github.com/mathpaquette/IQFeed.CSharpApiClient/blob/master/docs/USING-WITH-PYTHON.md

Regards,
Mathieu

IQFeed Developer Support » Allow me to introduce myself. Jan 30, 2020 07:20 PM (Total replies: 1)

Welcome Gary!

IQFeed Developer Support » API on Linux Jan 30, 2020 07:19 PM (Total replies: 10)

Hyperbaboon,

what do you mean by cross platform client?

Thanks,
Mathieu

IQFeed Developer Wish List » Binary Protocol Jan 30, 2020 07:16 PM (Total replies: 12)

Hello guys,

I'm curious, which programming languages are you using ?

Thanks,
Mathieu

IQFeed 3rd Party Software Support » Software to use alongside Iqfeed? Oct 6, 2019 03:45 PM (Total replies: 1)

Hello ChainsawDR

Check https://github.com/mathpaquette/IQFeed.CSharpApiClient
and
https://github.com/QuantConnect/Lean (compatible with IQfeed)

Regards,
Mathieu

IQFeed Developer Support » Incorrect Data for Level 1 Tick by Tick Oct 6, 2019 03:43 PM (Total replies: 1)

Did you check https://github.com/mathpaquette/IQFeed.CSharpApiClient
I already provided a lot of examples to do what you try to achieve.

Thanks,
Mathieu


I added more examples including one with Expired Options:
https://github.com/mathpaquette/IQFeed.CSharpApiClient/tree/master/src/IQFeed.CSharpApiClient.Examples

Thank you,
Mathieu


Thank you so much Tim.
BTW guys, in the newest version 1.4.2 of IQFeed.CSharpApiClient, I've added a very simple way to retrieve those expired options and market symbols.

Code sample:
var lookupClient = LookupClientFactory.CreateNew();
var expiredOptions = lookupClient.Symbol.GetAllExpiredOptions()
.Where(x => x.EquityOption.Expiration >= DateTime.Now.AddMonths(-6)).ToList();

var marketSymbols = lookupClient.Symbol.GetAllMarketSymbols().ToList();

This will take some time the first time but the code will reuse the cached file and check for new update every time.

Hope this helps.
Mathieu


Excellent news Tim, I'm in the process of adding support for this file in the IQFeed.CSharpiApiClient wrapper. Will be very easy to use. Ill post back on this thread once available.

Mathieu


Thank you Tim,
I think we should keep the file option.. For me this is a more convenient way to retrieve expired options. Can you expose to us the long term goal get them at the end?

Thank you.
Mathieu


Guys, dont hesitate to open an issue on GitHub rather than posting on this site.... I think its more related to the project itself.

Will always happy to help you out with that.
Mathieu


Hi T,

Well, if you wish to see the result as a data table, I suggest you to use the Raw facade, i.e. lookupClient.Historical.Raw.ReqHistoryTickDatapointsAsync method and then open up the return filename in Excel as a CSV file.

The reason you it in that format its because I didnt override the ToString in the TickMessage class.

Please dont forget to star the project on github and you can also ask question over there!

Thank you,
Mathieu

Trading Tips, Tricks and Ideas » S#.Data (Hydra) - market-data downloader Jul 10, 2018 06:17 AM (Total replies: 2)

Very nice, thank you!

IQFeed Developer Support » C# sample program for Leve1Socket May 22, 2018 08:06 PM (Total replies: 5)

Split.string is the way to go:

https://codereview.stackexchange.com/questions/194716/c-substring-vs-split-performance-test/194974#194974

IQFeed Developer Support » C# sample program for Leve1Socket May 18, 2018 07:14 AM (Total replies: 5)

Well, I'm still skeptical about the real performance benefit of not using .Split. I'll do some performance tests to conclude on this.


Hello Tim,

Any updates regarding this request?

Thank you,
Mathieu


Time: Sat April 20, 2024 9:19 AM CFBB v1.2.0 7 ms.
© AderSoftware 2002-2003