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'm satisfied with IQFeed. It's the most reliable and fastest quote feed I have ever used. Although I'm a resident in China, it's still very fast!" - Comment from Xiaofei
"Its working FABULOUSLY for me!! Holy cow...there has been so much I've been missing lately, and with this feed and Linnsoft software...I'm in the game now." - Comment from Chris R.
"For anyone considering using DTN.IQ for a data feed, my experience with the quality of data and the tech support has been very positive." - Comment from Public Forum
"I ran your IQFeed DDE vs. my broker vs. a level II window for some slow-moving options. I would see the level II quote change, then your feed update instantaneously. My broker's DDE, however, would take as much as 30 seconds to update. I am not chasing milliseconds, but half a minute is unacceptable." - Comment from Rob
"Everything is working amazing now. I'm already impressed with the true-tick feed of IQFeed and it's ability to support my 480 symbol layout." - Comment from Tyler via Email
"Everything is working great with the API. I love it." - Comment from Calvin
"IQ feed works very well, does not have all of the normal interruptions I have grown used to on *******" - Comment from Mark
"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
"As a past ******* customer(and not a happy one), IQ Feed by DTN is a much better and cheaper product with great customer support. I have had no problems at all since switching over." - Comment from Public Forum
"I have been using IQFeed now for a few years in MultiCharts and I have zero complaints. Very, very rare to have any data hiccups or anything at all go wrong." - Comment from Public Forum
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 20658 total posts (0.11%) in 1,550 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 Developer Support » IQFeed API documentation source? Jun 13, 2020 11:10 AM (Total replies: 3)

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 Developer Support » IQFeed API documentation source? Jun 12, 2020 05:11 AM (Total replies: 3)

Hello Andrew,

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

Thanks,
Math


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: Sun August 14, 2022 7:23 AM CFBB v1.2.0 47 ms.
© AderSoftware 2002-2003