step999 has contributed to 16 posts out of 21251 total posts
(0.08%) in 947 days (0.02 posts per day).
20 Most recent posts:
Hi Gary,
Thanks very much for confirming the syntax and operation.
Glad you have fixed your notifications, and I appreciate your reply.
I don't quite understand how the price levels will be improved, but perhaps you can issue an explanation when the changes have been made.
Thank you.
Hi mkvalor,
Thanks very much for your reply. I will add the commands to my L2 code, and I think it should work based on your test. I was looking to see if I missed anything. It looks like Gary Stephen has replied also confirming the syntax and operation.
I appreciate your help, mkvalor.
Thanks
High Gary. Thanks for responding.
The options that IQfeed was not broadcasting from 8 PM until midnight (NY time), that were referred to in my original post were for the SPXW options for the 30 nearest strikes for both Puts and Calls that expired on January 30th (when I originally made my forum post on January 29th, 2024) -- so they would have been the next day's expiry options.
These are liquid options, and most of the prices are updated quite often between 8 PM until midnight (NY time) at the exchanges. However I observed zero updates on any of the options chain until the updates started flowing at 5 minutes past midnight (NY time).
Today, the equivalent would be these symbols (I have listed only the Puts for brevity) that expire tomorrow, Feb 13th:
SPXW2413N4945 SPXW2413N4950 SPXW2413N4955 SPXW2413N4960 SPXW2413N4965 SPXW2413N4970 SPXW2413N4975 SPXW2413N4980 SPXW2413N4985 SPXW2413N4990 SPXW2413N4995 SPXW2413N5000 SPXW2413N5005 SPXW2413N5010 SPXW2413N5015 SPXW2413N5020 SPXW2413N5025 SPXW2413N5030 SPXW2413N5035 SPXW2413N5040 SPXW2413N5045 SPXW2413N5050 SPXW2413N5055 SPXW2413N5060 SPXW2413N5065 SPXW2413N5070 SPXW2413N5075 SPXW2413N5080 SPXW2413N5085 SPXW2413N5090
-Thanks Edited by step999 on Feb 12, 2024 at 11:49 PM Edited by step999 on Feb 12, 2024 at 11:50 PM
Hi again. Thanks for your comment. I will wait as you suggest, and hopefully they will give a reply.
It seems the IQfeed SPX options feed starts at about 12:05 AM New York time, after midnight.
Best Regards
Thank you for your comment.
I don't know if these forums are being monitored by the DTN staff?
It has been 5 days since my question was posted, and no reply from DTN support yet.
Best wishes.
SPX options quotes did not start flowing until about 12:05 AM EST on January 29 (5 minutes after midnight early Monday) even though the options market was trading well before that time. Likewise, there are no SPX options quotes coming in at the present time, 8:30 PM EST (7:30 CT), even though the SPX options market is currently trading. There are no "Q" = update messages coming in.
Any information that could shed light on this would be helpful. Thanks Edited by step999 on Jan 30, 2024 at 11:14 PM
IQfeed API question: I only want the top two Level 2 levels for SPX options data in my application. Assuming I have real time level 2 data enabled, is there a way to limit the data broadcast from IQfeed to just the top 2 depth levels? I see in the documentation: WPL,[SYMBOL],[MaxPriceLevels]<CR><CR><LF> Begins watching a symbol for depth Price Level updates. [SYMBOL] - The symbol that you wish to receive updates on [MaxPriceLevels] - Optional - Limits the number of price levels you will receive to only those within the top [MaxPriceLevels] levels of depth.
Would it be possible to get an example command for "watching" only the two top depth levels for level 2 SPX option data? Is it as simple as this?: WPL,SPXoptionSymbol,2<CR><CR><LF>
Thanks
Update: It's been 14 days - is there anybody in here?
Edited by step999 on Jan 19, 2024 at 05:19 PM Edited by step999 on Jan 19, 2024 at 05:37 PM Edited by step999 on Jan 19, 2024 at 05:38 PM Edited by step999 on Jan 19, 2024 at 06:38 PM Edited by step999 on Jan 25, 2024 at 02:06 AM Edited by step999 on Jan 31, 2024 at 05:12 PM Edited by step999 on Feb 4, 2024 at 05:52 PM
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/brochures-and-handbooks/cme-equity-index-options-on-futures-bloomberg-cheat-sheet.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 reverse-engineering 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 "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
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 grandfathered-in 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
|