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)




"The people at Nirvana have very nice things to say about your company and I can see why! Price and service is a potent combination." - Comment from Ed
"Boy, probably spent a thousand hours trying to get ******* API to work right. And now two hours to have something running with IQFeed. Hmmm, guess I was pretty stupid to fight rather than switch all this time. And have gotten more customer service from you guys already than total from them… in five years." - Comment from Jim
"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
"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 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 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
"This beats the pants off CQG, I am definitely switching to the ProphetX 3.0!" - Comment from Stephen
"Version 4.0.0.2 has been working well for me and I appreciate that it is now a much tighter client to work with. I feel I can go to press with my own application and rely on a stable platform" - Comment from David in IA.
"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
"Everything is working great with the API. I love it." - Comment from Calvin
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: May 12, 2022 01:08 PM
Last Visit: May 13, 2022 02:58 PM
Website:  
Location:
Occupation:
Interests:
Avatar:
Email: gary.stephen@dtn.com
AIM:
ICQ:
MSN IM:
Yahoo IM:
Post Statistics
DTN_Gary_Stephen has contributed to 249 posts out of 20590 total posts (1.21%) in 1,049 days (0.24 posts per day).

20 Most recent posts:
IQFeed Developer Support » How to find Future Contract May 12, 2022 01:08 PM (Total replies: 6)

NFX effectively eased operations as a futures exchange on June 2, 2020: seehttps://www.nasdaq.com/solutions/nasdaq-futures-nfx

So there are no more active symbols for that exchange. It should not have been a choice in the account management portal; we are working to remove it as a choice now.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist



Thank you, I'm glad to help! And if I may make one last suggestion: don't assume rules are the same for all underlying symbols. We've noticed a little inconsistency in how legacy symbols are handled and so forth.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


IQFeed Developer Support » How to find Future Contract May 11, 2022 04:05 PM (Total replies: 6)

That message can also mean "you don't have the necessary data subscription." QNPZ22 is a NYMEX symbol, and you'd need that data subscription to watch any symbols from it.

By the way: that you're getting a Q,QNPZ22,,Not Found,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, suggest you're not using the latest protocol 6.2. This would give you a message n,QNPZ22 instead. If you're not sending a SET PROTOCOL command when you connect, this could cause other unexpected results.

The IQFeed API has a versioned protocol, that operates separately from the version number of the IQFeed client software. By sending the command S, SET PROTOCOL, (protocol number) each time you connect to the API, you are telling the API which iteration of the protocol you wish to use. This allows you to integrate new IQFeed features into your custom app, at your own pace, or remain on a past protocol for as long as you wish.

The most recent protocol is 6.2. Protocol 6.1, 5.2, 5.1, 5.1 and 4.9 are still supported, and each has its own set of documentation found here. It is advisable to use the most recent protocol, unless you have backwards compatibility-related or other reasons for using an older one.

If you're not specifying a protocol, it will default to the oldest, 4.9.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


IQFeed Developer Support » How to find Future Contract May 11, 2022 09:16 AM (Total replies: 6)

You added the @ symbol to your watch command. This was not in the SBF command's response. Omit it and you will get correct results:

w@QNPZ22
n,@QNPZ22
wQNPZ22
F,QNPZ22,24,,,,,,,,,,,,,,,,HENRY HUB NATURAL GAS PENULTIMATE DECEMBER 2022,,,,,,,,,,,,14,4,,60.03,8,112,,,,,,,,11/25/2022,,,NPG,,,18:00:00,17:00:00,USD,2500,FGHJKMNQUVXZ,0.0010,,,,
P,QNPZ22,,,,,0,,,,,,,,7.2630,scv,01

The n,SYMBOL response to a watch command means "symbol not recognized", which is a correct response in this case.

Note that the SBF command will always return DTN's own symbology for a symbol, which sometimes differs from the exchange's own symbology.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist



Quote: Hi DTN Gary Stephen,

Thanks for explaining that your DTN code mirrors the option names as
determined by the CME.

I apologize for assuming that the DTN code had logic that duplicated the CME
naming rules.

Like you, I was unable to find the CME futures options naming rules for
the “week of month” number on any web page or document, CME or otherwise.

As you mention:
Perhaps the CME handles week counting differently for "day-of-the-week" future
options than it does for "end of week" future options.


I believe this is the case. Please see my example from my first post in this topic above,
dated May 6 and repeated here…. (The option names are valid IQfeed names.)

Data from April 2022:


Wednesday expiration, April 2022, Put, strike 4,200.00:

@E1CJ22P420000 (week=1, data through 4/06/2022)
@E2CJ22P420000 (week=2, data through 4/13/2022)
@E3CJ22P420000 (week=3, data through 4/20/2022)
@E4CJ22P420000 (week=4, data through 4/27/2022)

April 2022, end of week options:

@EW1J22P420000 (week=1, data through 3/31/2022)
@EW2J22P420000 (week=2, data through 4/08/2022)
@EW3J22P420000 (week=3, data through 4/14/2022)
@EW4J22P420000 (week=4, data through 4/22/2022)
@EW5J22P420000 (week=5, no data)
@EWJ22P420000 (EOM, data through 4/29/2022)
(EOM coincides with end of last week for April 2022)


Notice that the 1C,2C,3C,4C (Wednesday expiry) options for the same
“week of month” number expire in the calendar week following the
W1,W2,W3,W4 (Friday) options.

So it must be the case that the "week of month" for A,B,C,D (Mon,Tue,Wed,Thu) options
is not always the same as the "week of month" for the W1,W2,W3,W4 (Friday)
options - and therefore they use different naming rules.

I gave an illustration of this in my last post:


Example: no A,B,C,D expiration in the first calendar week . . . .

F S S M T W T F S S M (Fri, Sat, etc.)
W1 1A 1B 1C 1D W2
DayOfMonth= 1 2 3 4 5 6 7 8 9 10 11
^--NOT nW=1
^--start of nW=1
^--start of nW=2
Note: in the above case, the “week of month” number for the second
Friday (W2) is different than “week of month” number
for A,B,C,D (1A,1B,1C,1D) in that same calendar week.
This is why some months only have four (4) A,B,C,D “week of month”
numbers, but have five (5) calendar weeks, and possibly five (5) W*
numbers (Fridays).


Thanks for the CME Product Codes link. As far as the CME naming, I believe
they limit the “week of month” for Friday to EW1-EW4 because
the 5th Friday always coincides with the trading end-of-month (EOM) day,
which supersedes (replaces) the EW naming for that Friday. (Either that,
or it could be a holiday.)

Some example months showing a 5th Friday that is the trading EOM are:
2021: April, July, October, December (for January, the 1st Friday is a holiday)
2022: April, July, September, December
(note: The months not listed have 4 Fridays.)

Thanks for your thoughtful replies and information.

I will attempt to reverse engineer and code the rules, and see how they match
to the A,C or A,B,C,D options for the past several months.

Thanks again.

Edited by step999 on May 11, 2022 at 05:03 AM
--- Original message by step999 on May 11, 2022 03:53 AM
If I discover anything that will help you I'll post it here. But so far we don't have a clear-cut set of rules for how these new weekday future option symbols are made. There is also room for inconsistency in different underlying commodities, and different ways they handle the legacy symbols.

If you're going to try and reverse-engineer the rules, I suggest using the FDS Market Summary report. This report contains fields for the symbol, full name, and expiration date, like this:

LM,Symbol,Description,PeRatio,AvgVolume,DivYield,DivAmount,DivRate,PayDate,ExDivDate,CurrentEps,EstEps,SIC,Precision,Display,GrowthPercent,FiscalYearEnd,Volatility,ListedMarket,MaturityDate,OptionRoots,CouponRate,InstitutionalPercent,YearEndClose,Beta,LEAPs,WRAPs,Assets,Liabilities,BalanceSheetDate,LongTermDebt,CommonSharesOutstanding,MarketCap,52WeekHigh,52WeekHighDate,52WeekLow,52WeekLowDate,CalHigh,CalHighDate,CalLow,CalLowDate,Expiration,LastSplit,LastSplitDate,PrevSplit,PrevSplitDate,NAICS,ShortInterest
LM,@E1AK22C210000,"E-MINI S&P 500 MONDAY WEEK 1 MAY 2022 CALL 210000",,,,,,,,,,,2,12,,,4.07,43,,,,,,,,,,,,,,,,,,,,,,,20220502,,,,,,

This makes to easy to collect all symbols at once. The command would be FDS,9,34,date in YYYYMMDD format.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist



DTN doesn't make the symbols - the exchange does. DTN endeavors to use the same symbol as the exchange whenever possible. When conflicts with another exchange's symbols occur, there aren't any strict rules, or algorithm for how to change it, except that we try to match the exchange's symbol as much as possible. Typically, we just precede it with @ or Q.

I wasn't able to find any official rules for how CME numbers the weeks for weekly options. I inferred that Week 1 starts on the 1st day of the month, with no regard to what day of the week it is. But I only looked at one particular month to determine that. This page https://www.cmegroup.com/trading/options/weekly-options-on-futures.html is the CME's list of Product Codes for future options. Interestingly, there's no code for "5th week end of the month" for E-mini S&P 500 - only through Thursday.

Quote:
Monday E1A-E5A IWWA Index
Tuesday E1B-E5B IMBA Index
Wednesday E1C-E5C IEWA Index
Thursday E1D-E5D IMDA Index
Friday EW1-EW4 1EA Index - 4EA Index


A 5th Friday of the month can exist, so I'm not sure what this implies. Perhaps the CME handles week counting differently for "day-of-the-week" future options than it does for "end of week" future options. (Bearing in mind what I said earlier about Friday not getting its own code because "end of week" covered it.) I'll see if I can learn anything from the CME; I didn't find their naming rules online, like it's easy to find the OSI standard for equity options online.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


IQFeed Developer Support » Connection Refused error May 10, 2022 08:22 AM (Total replies: 6)

I'm glad you were able to work around the problem! Thanks for letting me know.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


Data and Content Support » Missing symbol guides? May 10, 2022 07:16 AM (Total replies: 3)

The "symbol guide" and "symbol lookup" links at http://iqfeed.net/ will now direct you to updated versions of these tools: https://ws1.dtn.com/IQ/Guide/ and https://ws1.dtn.com/IQ/Search/.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist



Generally, the new weekly futures options for futures will follow this pattern:

A = Monday expiration
B = Tuesday expiration
C = Wednesday expiration
D = Thursday expiration

Friday may or may not be E. Before expirations on different days of the week were introduced, the default was that equity options expired on Friday, so it didn't need anything to indicate the weekday. Some of these symbols have been grandfathered in.

Furthermore, the ABCD letter indicating the weekday of the expiring option might not appear in the same place for different future options.

It is coincidental that EW options expire at the end of the week. They were the first weekly options introduced on the E-mini S&P 500. The symbol logic at the time was most likely E = E-mini, W = weekly.

I infer from the names of past future options that the week number is limited to the month it actually belongs to:

LM,@Q5CH22P995000,"E-MINI NASDAQ 100 WEDNESDAY WEEK 5 MARCH 2022 PUT 995000",,,,,,,,,,,2,12,,,2.24,43,,"@NQM22",,,,,,,,,,,,,,,,,,,,,20220330,,,,,,

LM,@QN1J22C1000000,"E-MINI NASDAQ 100 WEEK 1 APRIL 2022 CALL 1000000",,,,,,,,,,,2,12,,,2.33,43,,"@NQM22",,,,,,,,,,,,,,,,,,,,,20220401,,,,,,

Future Options expiring on Wednesday March 30 were "WEDNESDAY WEEK 5 MARCH" but ending on Thursday, April 1 were "WEEK 1 APRIL".

This may be applied inconsistently, though.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist



I'll confirm this new nomenclature, but I'm pretty sure you've got it right.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


IQFeed Developer Support » Connection Refused error May 4, 2022 11:30 AM (Total replies: 6)

Can you provide a iqconnect.txt log file, with all logging turned on? You can send it to me at the developer support address. A "Test" on the IQConnect tab of the Diagnostics app would be helpful also.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


IQFeed Developer Support » Connection Refused error Apr 29, 2022 10:46 AM (Total replies: 6)

Nothing has changed on our end. IQFeed wouldn't block you from connecting to the Admin socket. I suspect something external is using port 9300, or otherwise interfering with traffic to it. You can find this in Command Prompt. Send this command:

netstat -ano | findStr “9300”


This will turn up one or more lines like this:


C:\Users\Gary.Stephen>netstat -ano | findStr "9300"
TCP 127.0.0.1:9300 0.0.0.0:0 LISTENING 17736
TCP 127.0.0.1:9300 127.0.0.1:59229 ESTABLISHED 17736
TCP 127.0.0.1:59229 127.0.0.1:9300 ESTABLISHED 21048


The number on the far right is the process ID. To find what each one represents, enter this on the command line. (The actual numbers will vary. Change the number, and repeat the command once for each number, as appropriate.)

tasklist /fi "pid eq 17736"


And this will tell you exactly what’s using the port:

Image Name PID Session Name Session# Mem Usage

========================= ======== ================ =========== ============
iqconnect.exe 17736 Console 1 17,112 K


iqconnect.exe is what you want to be using to be port 9300, but see if this discovers that some rogue app is using it. You can then decide what to do: reconfigure it or IQFeed to use something else (see below), or just disable the conflicting app.

Other comments:

  • A Logitech app called lghubupdater commonly interferes with port 9100 in this way. Most people just disable that app to resolve the conflict.

  • It is possible to customize what port numbers IQFeed uses, by making registry changes in Computer\HKEY_CURRENT_USER\Software\DTN\IQFeed\Startup. I recommend caution when doing this, though, because third-party software (and third-party code bases) don't always implement this.

  • Make sure you have whitelisted the entire IP range IQFeed uses, which is: 12.36.218.128 – 12.36.218.254 (CIDR: 12.36.218.128/25), Ports: 60000-60060. I don't think that's the issue here, but it's always good to make sure of this.


I hope this helps! Beyond that, I'd need to get more information from you. You can send me a support email or chat, and I will investigate further.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist



DTN will be doing network and security maintenance this Saturday morning. This will require us to do server reboots. Users should be rerouted to live servers. The maintenance window is from 7:00 a.m. to Noon CT. We recommend any users who normally use the system at that time to postpone any critical process until after the maintenance window.

There are no open markets at this time, so the impact to our users should be minimal. If you do have issues, we recommend that you log out and back in again to reconnect.

https://iqhelp.dtn.com/general-maintenance-this-saturday-april-30-2022/

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist



DTN will be doing network and security maintenance this Saturday morning. This will require us to do server reboots. Users should be rerouted to live servers. The maintenance window is from 7:00 a.m. to Noon CT. We recommend any users who normally use the system at that time to postpone any critical process until after the maintenance window.

There are no open markets at this time, so the impact to our users should be minimal. If you do have issues, we recommend that you log out and back in again to reconnect.

https://iqhelp.dtn.com/general-maintenance-this-saturday-april-30-2022/



Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist

Edited by DTN_Gary_Stephen on Apr 28, 2022 at 02:53 PM


Can you give an example?

It makes sense that Number_of_trades_Today shouldn't decrease during the day, but there might be rare circumstances where this appears to happen.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


Data and Content Support » Missing CFTC Products Apr 13, 2022 03:55 PM (Total replies: 2)

Can you be more specific? There are a lot of COT reports: https://www.cftc.gov/MarketReports/CommitmentsofTraders/HistoricalViewable/cot032922

Is it just the energy symbols or ICE symbols you want?

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


IQFeed Developer Support » FDS request error Apr 11, 2022 10:37 AM (Total replies: 2)

Are you sending S,SET PROTOCOL first? The Market Summary commands were only added in Protocol 6.1, so if you're not specifying 6.1 or 6.2 the API will not recognize this command.

Also (as altmany just said) make sure you are connecting to Port 9100. Other ports (like 9400) will not understand this command.



Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist

Edited by DTN_Gary_Stephen on Apr 11, 2022 at 10:40 AM

IQFeed Developer Support » Future previous contracts Apr 7, 2022 08:53 AM (Total replies: 2)

The Option Chains command will return only current options, not past ones. There is no API method that will return past option symbols, but we publish a text lists of past/expired option symbols in:

www.iqfeed.net/downloads/beta/IEOPTION.zip

This list includes only past option symbols that traded at least once. Standard API commands will work on past option symbols. There is also a file www.iqfeed.net/downloads/beta/EQUITY.zip which contains past equity symbols.

Also, the Level 1 Fundamental Message contains a field called Contract Months, fifth from the end (in protocol 6.2):

F,@NQ#,22,,,16700.00,12750.00,,,,,,,,,,,,E-MINI NASDAQ 100 JUNE 2022,,,,,,,,,,,,12,2,,29.52,8,43,11/22/2021,03/26/2021,,,,,,06/17/2022,,,NQ,,,18:00:00,17:00:00,USD,20,--H--M--U--Z,0.25,,,,

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


IQFeed Developer Support » New to API, Basically C# question Apr 4, 2022 08:58 AM (Total replies: 3)

1. You may use whatever version of the .NET framework you need, that is 2.0 or later. .You can also use .NET Core, but we do not currently provide code examples for that. The API feed is TCP socket based, so it is language agnostic.

2. We recommend your app always launches the feed manually every time it runs. This makes sure your app is properly registered with the feed, and ensures that your app "plays nice" with other apps on the system that are using the feed.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


IQFeed Developer Support » @ESM22 seems to be missing options Mar 31, 2022 02:02 PM (Total replies: 11)

OK, I have some new information to add here. To clarify something I said earlier:

Quote: IQFeed doesn't add options contracts until they trade at least once.


I meant "to the Option Chains command", not in general. Option symbols can exist in the IQFeed system, even if they have never been traded. So these symbols will exist in the system; a watch or historical request will work fine. The problem is they are sometimes not added to Option Chains when they should be, which leads to the omissions you discovered in CEO and similar commands. We have identified the problem and are testing a fix for it now. There is no ETA as yet, but I'll post when I have an update.

Also, it doesn't have to be traded; just having a bid/ask quote is enough. So I misspoke when I said "traded at least once."

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist



Time: Mon May 16, 2022 6:38 AM CFBB v1.2.0 16 ms.
© AderSoftware 2002-2003