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
"Thank you so much - awesome feed, awesome service!" - Comment from Greg via Email
"There is no doubt that IQFeed is the best data provider. I am very satisfied with your services. And IQFeed is the only one that I would recommend to my friends. Now, most of them are using your product in China." - Comment from Zhezhe
"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
"And by the way, have to say this. I love the IQFeed software. It's rock solid and it has a really nice API." - Comment from Thomas via RT Chat
"Previously I was using *******. IQFeed is WAY more economical, and for my charting needs is just as good, if not better." - 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
"Interactive Brokers tick data was inconsistent, so I have switched to using DTN exclusively. It is great to no longer have to worry about my datafeed all day long." - Comment from Philippe
"I have to tell you though that using the IQFeed API is about the easiest and cleanest I have seen for some time." - Comment from Jim
"I cannot believe what a difference it makes trading with ProphetX!" - Comment from Bruce in Los Angeles
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: stargrazer
About Contact
Joined: Jun 13, 2005 12:02 PM
Last Post: Mar 28, 2022 03:03 PM
Last Visit: Apr 2, 2022 08:06 PM
Website: https://github.com/rburkholder/trade-frame
Location: Alberta, Canada
Occupation: Consultant
Interests: Will build customized trading algorithms based upon Interactive Brokers and DTN IQ
Avatar:
Right Here & Now
Email: ray@oneunified.net
AIM:
ICQ:
MSN IM:
Yahoo IM:
Post Statistics
stargrazer has contributed to 292 posts out of 20596 total posts (1.42%) in 6,187 days (0.05 posts per day).

20 Most recent posts:
IQFeed Developer Support » @ESM22 seems to be missing options Mar 28, 2022 03:03 PM (Total replies: 11)

For what it is worth, I can probably understand the 'first trade' concept, but a few counter-facts which may help troubleshoot:

* IB has pretty good open interest on all chains in the usual trading range, so I think the 'first trade' has been triggered for many of the primary missing symbols

* in the other referenced thread, Steve was able to confirm that a 'watch' will indicate that the symbol is active and available

* all this would indicate there is some 'missing part' in the code which does generate the CEO responses. I've been able to generate a few 'flaky' responses from that that CEO request depending upon the combination of parameters provided (which yields a window into backend tooling, which, if I recall the message, seems to be Perl).

* in that other thread, someone did something in the background, and magically, all the symbols that I thought should be there, did show up.

* so.... I'd say there is an ugly bug or two waiting to be unearthed there somewhere :-) to provide the complete chains based upon what you see as actively traded options

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

Any updates?

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

This is my request:
CFO,@ESM22,cp,,234,1,CFO-@ESM22

These are the summary results:
underlying: @ESM22
chain: 2022-Mar-21 has 324 entries
#strikes=324, #calls=317, #puts=324
chain: 2022-Mar-23 has 303 entries
#strikes=303, #calls=297, #puts=303
chain: 2022-Mar-25 has 309 entries
#strikes=309, #calls=307, #puts=170
chain: 2022-Mar-28 has 304 entries
#strikes=304, #calls=297, #puts=304
chain: 2022-Mar-30 has 85 entries
#strikes=85, #calls=44, #puts=41
chain: 2022-Mar-31 has 344 entries
#strikes=344, #calls=344, #puts=0
chain: 2022-Apr-01 has 45 entries
#strikes=45, #calls=24, #puts=30
chain: 2022-Apr-04 has 6 entries
#strikes=6, #calls=6, #puts=0
chain: 2022-Apr-08 has 9 entries
#strikes=9, #calls=7, #puts=2
chain: 2022-Apr-14 has 247 entries
#strikes=247, #calls=247, #puts=247
chain: 2022-Apr-29 has 243 entries
#strikes=243, #calls=243, #puts=0
chain: 2022-May-20 has 249 entries
#strikes=249, #calls=249, #puts=249
chain: 2022-May-31 has 244 entries
#strikes=244, #calls=244, #puts=0
chain: 2022-Jun-17 has 257 entries
#strikes=257, #calls=257, #puts=257
EmitChainSummary total sum(call + put)=4810


Here is an excerpt of part of the summary. even ATM options are missing. Many calls have no paired puts, and many puts have no paired calls. I would say this is an incomplete data set. In my previous request, someone did something behind the scenes to restore the dataset. Perhaps there is a ticket for that fix you could look at?
chain: 2022-Apr-01 has 45 entries
2100: , @EW1J22P210000
2550: , @EW1J22P255000
3160: , @EW1J22P316000
3170: , @EW1J22P317000
3180: , @EW1J22P318000
3190: , @EW1J22P319000
3210: , @EW1J22P321000
3220: , @EW1J22P322000
3230: , @EW1J22P323000
3240: , @EW1J22P324000
3260: , @EW1J22P326000
3510: @EW1J22C351000,
3520: @EW1J22C352000,
3530: @EW1J22C353000,
3540: @EW1J22C354000,
3550: @EW1J22C355000,
3560: @EW1J22C356000,
3565: @EW1J22C356500, @EW1J22P356500
3570: @EW1J22C357000,
3575: @EW1J22C357500, @EW1J22P357500
3580: @EW1J22C358000,
3585: @EW1J22C358500, @EW1J22P358500
3595: @EW1J22C359500, @EW1J22P359500
3605: @EW1J22C360500, @EW1J22P360500
3615: @EW1J22C361500, @EW1J22P361500
3625: @EW1J22C362500, @EW1J22P362500
3635: @EW1J22C363500, @EW1J22P363500
3645: @EW1J22C364500, @EW1J22P364500
3690: @EW1J22C369000,
3695: @EW1J22C369500,
3700: @EW1J22C370000,
3705: @EW1J22C370500,
3710: @EW1J22C371000,
3715: @EW1J22C371500,
3720: @EW1J22C372000,
4515: , @EW1J22P451500
4520: , @EW1J22P452000
4525: , @EW1J22P452500
4530: , @EW1J22P453000
4535: , @EW1J22P453500
4580: , @EW1J22P458000
4585: , @EW1J22P458500
4590: , @EW1J22P459000
4630: , @EW1J22P463000
4660: , @EW1J22P466000
chain: 2022-Apr-04 has 6 entries
3675: @E1AJ22C367500,
3680: @E1AJ22C368000,
3685: @E1AJ22C368500,
3690: @E1AJ22C369000,
3695: @E1AJ22C369500,
3700: @E1AJ22C370000,
chain: 2022-Apr-08 has 9 entries
3605: @EW2J22C360500,
3610: @EW2J22C361000,
3615: @EW2J22C361500,
3620: @EW2J22C362000,
3625: @EW2J22C362500,
3630: @EW2J22C363000,
3635: @EW2J22C363500,
4550: , @EW2J22P455000
4560: , @EW2J22P456000


IQFeed Developer Support » @ESM22 seems to be missing options Mar 15, 2022 10:33 AM (Total replies: 11)

Any thoughts on a resolution to keeping the chains fully loaded with their symbols?

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

This contains the previous experience: http://forums.dtn.com/index.cfm?page=topic&topicID=5949 ... the commands used, and the various results, suggestions, and then the remediation by DTN.

@ES# rolled over to a new month yesterday, so I'm now working with the new chains.

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

Similar to before. Is this a data problem or an algorithm problem

underlying: @ESM22
chain: 2022-Mar-21 has 324 entries
#strikes=324, #calls=317, #puts=324
chain: 2022-Mar-23 has 303 entries
#strikes=303, #calls=297, #puts=303
chain: 2022-Mar-25 has 309 entries
#strikes=309, #calls=307, #puts=309
chain: 2022-Mar-28 has 304 entries
#strikes=304, #calls=297, #puts=304
chain: 2022-Mar-30 has 85 entries
#strikes=85, #calls=44, #puts=41
chain: 2022-Mar-31 has 346 entries
#strikes=346, #calls=344, #puts=346
chain: 2022-Apr-01 has 45 entries
#strikes=45, #calls=24, #puts=30
chain: 2022-Apr-04 has 6 entries
#strikes=6, #calls=6, #puts=0
chain: 2022-Apr-08 has 9 entries
#strikes=9, #calls=7, #puts=2
chain: 2022-Apr-14 has 247 entries
#strikes=247, #calls=247, #puts=247
chain: 2022-Apr-29 has 243 entries
#strikes=243, #calls=243, #puts=243
chain: 2022-May-20 has 249 entries
#strikes=249, #calls=249, #puts=249
chain: 2022-May-31 has 244 entries
#strikes=244, #calls=244, #puts=244
chain: 2022-Jun-17 has 257 entries
#strikes=257, #calls=257, #puts=257
EmitChainSummary total sum(call + put)=5782,


IQFeed Developer Support » Futures Options Chain is 'corrupt'. Mar 2, 2022 01:44 PM (Total replies: 8)

Looks like some fixes have been put in!

underlying: @ESH22
chain: 2022-Mar-02 has 341 entries
#strikes=341, #calls=341, #puts=341
chain: 2022-Mar-04 has 342 entries
#strikes=342, #calls=342, #puts=342
chain: 2022-Mar-07 has 341 entries
#strikes=341, #calls=341, #puts=341
chain: 2022-Mar-09 has 341 entries
#strikes=341, #calls=341, #puts=341
chain: 2022-Mar-11 has 341 entries
#strikes=341, #calls=341, #puts=341
chain: 2022-Mar-14 has 341 entries
#strikes=341, #calls=341, #puts=341
chain: 2022-Mar-16 has 316 entries
#strikes=316, #calls=316, #puts=316
chain: 2022-Mar-18 has 369 entries
#strikes=369, #calls=369, #puts=369
EmitChainSummary total sum(call + put)=5464

Thank you.

IQFeed Developer Support » Futures Options Chain is 'corrupt'. Feb 28, 2022 03:40 PM (Total replies: 8)

The other interesting aspect here is that, as I write this, ATM is 4370. The two symbols would be:
@E2CH22C437000
@E2CH22P437000

both exist in the system (but aren't listed in the chain as shown in my previous message):
w@E2CH22C437000
F,@E2CH22C437000,22,,,114.75,18.75,,,,,,,,,,,,E-MINI S&P 500 WEDNESDAY WEEK 2 MARCH 2022 CALL 437000,,,,,,,,,,,,12,2,,0.28,9,43,02/17/2022,02/24/2022,,,,,,03/09/2022,4370.00,,E2C,,,18:00:00,17:00:00,USD,,------------,0.25,,,,
P,@E2CH22C437000,55.75,0,14:56:09.178157,43,34,71.00,19,72.50,24,74.00,74.50,50.00,76.00,Cbasohlcv,01,
Q,@E2CH22C437000,55.75,0,14:56:09.178157,43,34,71.25,2,72.50,24,74.00,74.50,50.00,76.00,b,01,

w@E2CH22P437000
F,@E2CH22P437000,22,,,,,,,,,,,,,,,,E-MINI S&P 500 WEDNESDAY WEEK 2 MARCH 2022 PUT 437000,,,,,,,,,,,,12,2,,0.28,9,43,,,,,,,,03/09/2022,4370.00,,E2C,,,18:00:00,17:00:00,USD,,------------,0.25,,,,
P,@E2CH22P437000,,,,,0,70.50,17,71.50,2,,,,66.00,bascv,01,

Q,@E2CH22P437000,,,,,0,70.75,1,71.50,2,,,,66.00,b,01,


IQFeed Developer Support » Futures Options Chain is 'corrupt'. Feb 28, 2022 11:13 AM (Total replies: 8)

With the revised query, there are 1385 options. And I think the puts and calls are now properly segmented.
Now that I know how to perform the query, there is still something else. The put / call list doesn't seem complete. When looking at chains in Interactive Brokers, they seem to be complete, but your list doesn't seem to be. Only two chains seem to have about the correct number of puts/call. The others seem to be missing entries:

chain: 2022-Feb-28 has 268 entries
#strikes=268, #calls=249, #puts=247
chain: 2022-Mar-02 has 64 entries
#strikes=64, #calls=35, #puts=29
chain: 2022-Mar-04 has 71 entries
#strikes=71, #calls=50, #puts=21
chain: 2022-Mar-07 has 78 entries
#strikes=78, #calls=58, #puts=20
chain: 2022-Mar-09 has 36 entries
#strikes=36, #calls=24, #puts=12
chain: 2022-Mar-11 has 54 entries
#strikes=54, #calls=39, #puts=15
chain: 2022-Mar-14 has 45 entries
#strikes=45, #calls=29, #puts=16
chain: 2022-Mar-16 has 10 entries
#strikes=10, #calls=7, #puts=3
chain: 2022-Mar-18 has 261 entries
#strikes=261, #calls=256, #puts=255
EmitChainSummary total sum(call + put)=1365


As an example of one of the ones with missing entries, here is an example (whole strikes are missing, and no strike has a complete put/call entry):
chain: 2022-Mar-09 has 40 entries
3690: @E2CH22C369000,
3700: @E2CH22C370000,
3710: @E2CH22C371000,
3720: @E2CH22C372000,
3730: @E2CH22C373000,
3740: @E2CH22C374000,
3750: @E2CH22C375000,
3755: @E2CH22C375500,
3760: @E2CH22C376000,
3765: @E2CH22C376500,
3770: @E2CH22C377000,
3775: @E2CH22C377500,
3780: @E2CH22C378000,
3785: @E2CH22C378500,
3800: @E2CH22C380000,
3805: @E2CH22C380500,
3810: @E2CH22C381000,
3815: @E2CH22C381500,
3820: @E2CH22C382000,
3825: @E2CH22C382500,
3830: @E2CH22C383000,
3910: @E2CH22C391000,
3915: @E2CH22C391500,
3920: @E2CH22C392000,
4485: , @E2CH22P448500
4490: , @E2CH22P449000
4495: , @E2CH22P449500
4500: , @E2CH22P450000
4580: , @E2CH22P458000
4585: , @E2CH22P458500
4625: , @E2CH22P462500
4630: , @E2CH22P463000
4635: , @E2CH22P463500
4640: , @E2CH22P464000
4645: , @E2CH22P464500
4650: , @E2CH22P465000
4655: , @E2CH22P465500
4660: , @E2CH22P466000
4665: , @E2CH22P466500
4670: , @E2CH22P467000

Edited by stargrazer on Feb 28, 2022 at 11:14 AM
Edited by stargrazer on Feb 28, 2022 at 11:26 AM

IQFeed Developer Support » Futures Options Chain is 'corrupt'. Feb 28, 2022 10:52 AM (Total replies: 8)

Quote: If so, does it also happen with our chains app that is included with IQFeed (the app sorts symbols by position in the return message in relation to the : field)?

In my program, it says that query has around 2724 options. In your chains app, is says about 633 calls, 751 puts. Which when totalled, is about half of 2724 from a few days a go.

Also, your app is showing that there is a different number of puts than calls. Should that number be so out of balance?
Edited by stargrazer on Feb 28, 2022 at 10:53 AM

IQFeed Developer Support » Futures Options Chain is 'corrupt'. Feb 28, 2022 10:30 AM (Total replies: 8)

Try running this one:
CFO,@ESH22,cp,,,1,LU1 

You should get something like:
CFO,@ESH22,cp,,,1,LU1
LU1,@E1AH22C372000,@E1AH22C372500,@E1AH22C373000,@E1AH22C373500,@E1AH22C374000,@E1AH22C3745

Then look for the separating : and you'll see the same thing repeated:
:,@E1AH22C372000,@E1AH22C372500,@E1AH22C373000,@E1AH  ..... 

So you will see two issues:

* only calls should be before the : and puts after (which does not hold in this example)
* the stuff before the : is repeated after the :

Are you able to replicate that?

My example is directly from the telnet session.


What is the command which works for you?
Edited by stargrazer on Feb 28, 2022 at 10:30 AM
Edited by stargrazer on Feb 28, 2022 at 10:53 AM

IQFeed Developer Support » Futures Options Chain is 'corrupt'. Feb 27, 2022 01:44 PM (Total replies: 8)

If I perform a chain request for @ESH22 for one month, the call side of the ':' and the put side seem to be very similar. Meaning there are puts on the call side and calls on the put side:

chain response: CFO-@ESH22,LC,@E1AH22C372000,@E1AH22C372500,@E1AH22C373000,@E1AH22C373500,@E1AH22C374000 ...

,:,


@E1AH22C372000,@E1AH22C372500,@E1AH22C373000,@E1AH22C373500,@E1AH22C374000,@E1AH22C374500,@E1AH22C375000, .....

Which means the put side is somewhat of a duplication of the call side. I havn't looked at all entries, but in this one month query, there are 2724 entries with many/most of the them duplicates (> 1300)

I have not checked yet if this is occurring for the equity requests as well.

IQFeed Developer Support » Full options chain command? Jan 1, 2022 03:26 PM (Total replies: 4)

Quote: Currently with IQ Feed I think you have to query the whole chain, then iterate over it, subscribing and unsubscribing to each symbol. Right?

That is what I do.
Edited by stargrazer on Jan 1, 2022 at 03:27 PM


Ok, to wrap this up: I'm hoping that DTN will make a note and maybe look into a mechanism where the developer can determine the actual version being connected such that the application can then make appropriate services available for the functionality actually supplied.


The SET PROTOCOL is a bit of a red herring.

Upon connection, I get:


$ telnet 127.0.0.1 5009
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
S,KEY,99999
S,SERVER CONNECTED
S,IP,0.0.0.0 59000,0.0.0.0 59000,66.112.148.210 60009,
66.112.148.213 60001,66.112.148.210 60005,66.112.156.212 60012,
66.112.156.200 60003,66.112.148.211 60015,66.112.148.210 60050,
66.112.148.213 60014,66.112.148.210 60016,66.112.148.210 60018
S,CUST,real_time,66.112.148.226,60002,WkznRa,6.1.0.20,0, ........
T,20211016 12:44:31
T,20211016 12:44:32
T,20211016 12:44:33


Which all arrives prior to being able to do the SET PROTOCOL
Edited by stargrazer on Oct 16, 2021 at 01:53 PM


Hello,

I extract the version string from the S,CUST message to determine functionality and availability of services.

I have 6.2.0.23 installed. Yet I see 6.1.0.20 in the statement.

S,CURRENT PROTOCOL,6.2, does work to enable certain operations but it would be useful to see that the right version is in place to start with.

There are Level 2 functions which have only recently been released and I would like to check the version prior to enabling/using those functions.


Sure, but ...... the whole point is that this is automated trading.

However, I think what you are saying, is if I do a watch on the symbol, there is a field with the expiry in the response? I'll have to look at the API docs.

However, the problem I have is that I am building up the option chains for futures (run the CFO [Request a Future Option Chain]) command, and I do calculations for date ranges. It gets a bit hairy when trying to work with the @ES weekly options. There are a lot of symbols involved across days, weeks and months. With the weeklies being more difficult to decode..... lots of symbols to lookup.

If changing the symbol is a challenge, maybe adding the day to the description?

Since the equity options have days embedded, is there a standard where the day is embedded in the futures option name as well?

Here is a weekly @ES. An example of another lookup to get at the day.
@E2AU21P377500 E-MINI S&P 500 MONDAY WEEK 2 SEPTEMBER 2021 PUT 377500 CME CMEMINI FOPTION

Edited by stargrazer on Sep 2, 2021 at 12:24 AM
Edited by stargrazer on Sep 2, 2021 at 01:33 AM


Well here are some sample details.

Here is a regular equity option:

GLD2127H185 GLD AUG 2021 C 185.00 OPRA OPRA IEOPTION

The symbol name has the year/month/day encoded in the name. I remember this change occurred some number of years ago. The day, by being encoded in the name, makes it easy to come up with GLD, 2021/08/27, which makes it easy to submit GLD with the date to IB to obtain the contract number for trade executions.

Here is an FOPTION:

QGCZ21P1850 GOLD DECEMBER 2021 PUT 1850 COMEX COMEX_GBX FOPTION

Futures options have a definite expiry day. However, neither the symbol name nor the description includes the expiry day, which is in contrast to the IEOPTION. How does one find the expiry day? Is there a lookup somewhere?

In a similar manner, for a FUTURE:

QGCZ21 GOLD DECEMBER 2021 COMEX COMEX_GBX FUTURE Y

Futures have a definite expiry day. But that day is not provided in the description nor the symbol name. Where does one go to find the day? I can not lookup the contract number in IB without the day.

Forum Suggestions » https:// ???? Aug 29, 2021 09:30 PM (Total replies: 2)

Is it possible to have an https:// version of http://forums.iqfeed.net?

With the current version, usernames and passwords and content are sent in the clear.


Is it possible to make a format change to mktsymbols_v2.txt or maybe to create a v3 such that expiring symbols have full expiry year, month, and day embedded in the name? or maybe a consistent parsable format in the description field?

It isn't possible create a full IB futures contract request without a manually supplied day of the month into the contract request.

It would be very useful to be able to create a full automatically created contract request given the symbol name of something from the description field for futures, options, and futures options.

I've also noticed that futures options have a different naming convention that do regular equity options.

Proper expiry dates are even harder to calculate for the weeklies for ES/@ES, and similar CME symbols.


Time: Sat May 21, 2022 5:06 AM CFBB v1.2.0 16 ms.
© AderSoftware 2002-2003