kytmanov
-Interested User-
Posts: 13
Joined: Jun 16, 2015
|
Posted: Jun 16, 2015 10:03 AM
Msg. 1 of 6
I'd like to work with options and it is very hard to manage all these beasts correctly. The Fundamental Message has information about Strike Price (field 54), but there is no info about Option Type (put or call). The only way to get this info is to do some language heuristics to extract it from Name and Market Center.
Also it is almost impossible to understand from this message what is underlying for a given option.
So could you please add a few more columns to Fundamental Message: - Option Type (put or call) - Underlying Asset (just ticker) - Underlying Asset Market ID (similar to field 45 'Listed Market') - Min Price Step (minimal price difference)
It is not clear from documentation do you fill Strike Price (field 54) with correct strike information for options on futures (like @ESU15C200000) or not? I think you should ;-) .
Thank you in advance, Anton.
PS Also it would be a great help if you provide info Has Options for every security. It will save me a lot of chain requests for tickers that do not have options (in your feed) at all. Edited by kytmanov on Jun 16, 2015 at 10:14 AM
|
DTN_Tim Walter
-DTN Guru-
Posts: 1238
Joined: Apr 25, 2006
|
Posted: Jun 17, 2015 06:26 AM
Msg. 2 of 6
Good morning,
Thanks for the request, we can certainly look into what options exist for us to expand our functionality, but let me go over each real quick, just to be sure that we understand what you are looking for. Then I can expand on what we may have currently that could help get you by while we decide if we can add what you are requesting.
Option Type - The put or call can be found currently by comparing the month code in the symbol for equities, futures have p or c in the symbol, but a field would simplify that. Underlying Asset - Once again, it could be parsed from the symbol, but a field would simplify that. Underlying Market - You could do L1 watch on the underlying asset to get this currently. Not ideal, but if you are watching the underlying already, it could work. Min Price Step - This is one that has been requested before, and I do not believe we have this data in any of our feeds currently, but we can certainly check into it going forward.
Field 54 - Indeed, at least in all cases that I checked, I will update the documentation accordingly.
Noted on the HasOptions flag.
In addition; for current symbols, the options chain lookup may be able to help with your problems as well. It just requires you to know the underlying symbol first. But, then if options are available on that root, you will get a full list of all valid puts, followed by all calls at this point, you would have the option type. Also, if no options are available and you just get an ENDMSG returned, then your HasOptions question would be answered.
Just some ideas, but we will look into what we can simplify or add as well.
Tim Edited by DTN_Tim Walter on Jun 17, 2015 at 06:27 AM
|
kytmanov
-Interested User-
Posts: 13
Joined: Jun 16, 2015
|
Posted: Jun 17, 2015 09:47 AM
Msg. 3 of 6
1. OptionType - Checking some magic char in ticker is just my heuristics. I will make mistakes. Future options works this way and index options work that way. Potentially, I could extract Strike Price from ticker too. But it is much much easier just to get it once from Fundamental Message.
Compare ticker SPY1518U200 with @ESU15C200000. In first case last digits are strike. In second -- it is strike multiplied by 100. Last letter in ticker is Month together with option type VS just option type.
Completely different ticker formats!
It is always easier just to have a clear answer.
2. Currently I feel it is almost impossible to get underlying from options ticker correcltly. I.e. ticker SPYJ1519X170. I guess it is option for underlying SPYJ, but this is wrong. Its underlying is SPY.
Ticker @ESN15C207000. I guess it is option for underlying @ESN15, but it's not the case. There is no future @ESN15. In fact, this is July 2015 option series for @ESU15, isn't it?
3. Min Step -- this info should exist somewhere. For stocks and ETF it is almost always 0.01. But futures and future options have their own price steps very often.
4. HasOptions -- I will try this algo right now. But I don't think it is a good idea to issue CFO and CEO requests each time I have feeling there should exist some options for the ticker...
With the best wishes, Anton.
|
DTN_Tim Walter
-DTN Guru-
Posts: 1238
Joined: Apr 25, 2006
|
Posted: Jun 17, 2015 01:15 PM
Msg. 4 of 6
1:To get futures and equity strike prices, really all I can come up with is to start at the back of the symbol string and work your way back to the first non-digit. I do not have a way to tell what the multiplier is that I can think of. So this is an incomplete solution, but the best I have for now.
2: In the case of futures. @ESU15C200000 - The root symbol will always be followed by a month, and then a 2 digit number for the year. Knowing this, you can determine the underlying root, month, and year predictably. FYI, the U marks this as a September option.
Since equities do not have a month, the root symbol is enough, so just find the first digit, decrement that index by 1, and the remaining substring will reliably have the equity roots required. Note: this logic would not work with mini options.
Once again, I am not saying that it is ideal, but it should largely work currently and since I do not have any other immediate changes that I can offer, I am just tossing them out as potential stop gaps.
On your @ESN15 example, the July contract expired yesterday hence why that does not exist in our system, but it was valid up till then. Which does pose a problem with my idea of using level one data, but since a future's underlying market should be the same as the option, I think you will still be ok to consider using the Level one data as a source for the underlying's market.
3: This certainly exists, we just don't have it in the feed anywhere currently, so we will need to evaluate that on our end.
4. Understood on the HasOptions request.
Tim Edited by DTN_Tim Walter on Jun 17, 2015 at 01:16 PM
|
kytmanov
-Interested User-
Posts: 13
Joined: Jun 16, 2015
|
Posted: Jun 18, 2015 01:34 AM
Msg. 5 of 6
Quote: On your @ESN15 example, the July contract expired yesterday hence why that does not exist in our system Sorry, I don't agree. There is no @ESN15 future. E-mini SP500 future contracts have only 4 main series for March, June, September and December. http://www.cmegroup.com/trading/equity-index/us-index/e-mini-sandp500.html and following your logic July 15 options should disappear also. Anton.
|
DTN_Tim Walter
-DTN Guru-
Posts: 1238
Joined: Apr 25, 2006
|
Posted: Jun 18, 2015 08:43 AM
Msg. 6 of 6
Sorry. I don't know why I didn't catch the M versus the N, I know better. You will just have to parse the symbol for the month, that is the only consistent answer I think I can offer in that case.
Tim
|
|
|
|