step999 has contributed to 9 posts out of 21120 total posts
(0.04%) in 581 days (0.02 posts per day).
20 Most recent posts:
Hi DTN Stephen,
Thanks for your prompt reply. It is helpful to know the option history ticks do not have Bid Size or Ask Size.
Yes I am aware that the real time data would have these Sizes, but I do not yet have the code to store this info, so I was looking for a historical source.
Thank you very much for your information and your PNG file.
Best regards
I am not seeing Bid Size or Ask Size on tick data for options (on AAPL for example). I am getting Bid and Ask Prices, and the Most Recent Trade Price and Size, but no Sizes for Bid or Ask.
I am using an HTT request for tick data.
Also I am using this:
"S,SELECT UPDATE FIELDS,Symbol,Most Recent Trade,Most Recent Trade Size,Most Recent Trade TimeMS,Most Recent Trade Market Center,Total Volume,Bid,Bid Size,Ask,Ask Size,Open,High,Low,Close,Message Contents,Most Recent Trade Conditions"
Are the Bid Size and Ask Size stored and broadcast by IQfeed for US option tick data?
And if so, how can I access these?
Thanks
The CME complete futures options prefix codes are listed here:
https://www.cmegroup.com/education/brochuresandhandbooks/cmeequityindexoptionsonfuturesbloombergcheatsheet.html
(not just Bloomberg) Edited by step999 on May 16, 2022 at 02:35 AM
Hi DTN Gary Stephen,
OK – good to know, so I will check the NQ naming separately for example.
One interesting observation: it seems different brokers can use different rules or conventions, since it seems TOS (ThinkOrSwim) uses what are basically the calendar “week of month” for ES futures options, and IB (Interactive Brokers) uses naming similar to IQFeed/CME for “week of month” numbers.
Also, from first glance using FDS, it seems that the IQfeed/CME convention is to count the ”week of month” for each week day separately (ignoring all the other days of the week).
Therefore, the 1A (week 1 Monday futures options) may start at a different calendar week than the 1C (Wednesday futures options). An example of this is March 2022, where the first 1C occurs in the first calendar week, but the first 1A occurs in the following calendar week.
I will check more thoroughly, but if this is true, the algorithm would be simpler to code.
Thanks very much.
Edited by step999 on May 12, 2022 at 11:04 PM
Hi DTN Gary Stephen,
Thanks for all of your help on this.
Also thanks for the pointer to the FDS (Fundamental Summary) market summary command, and the sample syntax.
For reverseengineering the naming, yes it is quite helpful to see every option available. (Quite a large number of options, as you are aware.)
The FDS data is revealing some additional patterns/rules.
Anyway, let me work through this and see what naming rules fit all these cases. They are bit tricky, but the complete rules are becoming more comprehensible.
Thanks very much for the FDS tip, and of course thanks for your other information and comments as well.
Edited by step999 on May 12, 2022 at 03:44 AM
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 "dayoftheweek" 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 EW1EW4 because the 5th Friday always coincides with the trading endofmonth (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
Hi DTN Gary Stephen,
We agree on the “day of week” nomenclature for A=Monday, B=Tuesday, C=Wednesday, D=Thursday expirations.
I have not yet seen a “day of week” E=Friday designation, but I understand that would be logical. As you say, it seems customary instead to use the grandfatheredin W* (W1,W2,etc.) designations for Fridays.
So I think we agree on the above “day of week” nomenclatures.
However, my basic question is about the “week of month” numbers (I will use as shorthand wN). These wN are more difficult to understand. One way to look at this is to understand the differences between: 1) Calendar “week of month” numbers 2) Futures options A,B,C,D “week of month” numbers, or wN 3) Futures options W* (Friday) “week of month” numbers
Assuming an expiration can only occur on a weekday (Monday through Friday) . . . .
The rules that determine a calendar “week of month” number (wN) (not necessarily used in trading):
1) The week number is calculated only from days within the calendar month 2) The first calendar “week of month” number (wN) begins on the earliest day of that month, that day also being a weekday 3) The wN numbers for the month are incremented at each new Monday
However, for the rules for futures options A,B,C,D, the “week of month” numbers (wN) become more complicated:
1) The week number is calculated only from days within the calendar month 2) The first calendar “week of month” number (wN) begins on the earliest day of that month, that day also being a weekday, AND there is at least one valid A,B,C,D expiration day in that calendar week (else the week is not counted for A,B,C,D wN’s) 3) The wN numbers for the month are incremented at each new Monday (for both A,B,C,D numbers, and W* numbers)
Example: there is an A,B,C,D expiration in the first calendar week . . . .
S M T W T F S S M (Sun, Mon, etc.) 1A 1B 1C 1D W1 DayOfMonth= 1 2 3 4 5 6 7 8 9 ^start of nW=1 ^start of nW=2
Note: in the above case, the “week of month” number for Friday is the same as the “week of month” number for A,B,C,D
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).
For holidays, I believe the holidays would be treated as if they were NOT a weekday (would not count as a weekday day for counting wN). Please correct if I am mistaken.
Again, I wish to find the exact rules or algorithm for the:   Futures options A,B,C,D “week of month” numbers   Futures options W* (Friday) “week of month” numbers
I believe your DTN programmers would know all the rules, since they coded them
Thanks.
Hi DTN Gary Stephen,
My concern is with the new @ES option expiries (an expiry every day), I can’t go back in time to check out a hypothesis of what algorithm DTN is using.
In any event, knowing your exact “week of month” algorithm would be much more reliable than trying to guess the DTN rules (from years of back month data), especially with the effects of holidays.
For example, if we assume we have in the “first” week @E1A, @E1B, @E1C, @E1D (for Mon, Tue, Wed, Thu expirations) . . . . Must that “first” week always be contained inside one calendar week?
What if the first calendar week only has Wednesday & Thursday expiries? Then is the next Monday expiry named @E2A?
Or is some other algorithm used? In addition, how do holidays affect the naming in your DTN naming algorithm for @ES futures options?
DTN must have some algorithm that codifies this naming.
Thanks for your reply. Edited by step999 on May 6, 2022 at 04:17 PM
Using the IQfeed history Viewer, the following options show:
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)
What is the algorithm that defines the starting day and ending day of the “week of month” numbers, for the cases of: Case 1: @E1*, @E2*, @E3*, @E4*, @E5* and Case 2: @EW1*, @EW2*, @EW3*, @EW4*, @EW5*?
It seems that the week number continues into the following calendar week in Case 1 (@E1*, Etc.)?
Thanks. Any pointers to documentation on the “week of month” algorithms are appreciated. Edited by step999 on May 6, 2022 at 06:22 AM
