I am wondering whether there is an easy way to get all options data with underlying like CME CL/NG. currently the way i do it is to download the options chain by using the the RIC: 0#CL+, and there would be more than 10000 ric identifier I get, which makes it really difficult to download useful data, as most of them would not have any data as they are not traded during that date. and I have to seperate it into small basket to request data as 10000 is too much to put in the request and the api complain about it.
So I am wondering whether there is a way to download only validated options data, do not get those ric for options not active at the current date, or limit the options strike around the ATM options price.
so the ric chain would be shorter.
Or is there a way to directly download data using the ric 0#CL+ rather than find the options chain firstly.
The API i use is ElektronTimeseriesExtractionRequest.
Effectively, using /Search/HistoricalChainResolution to convert the chain to RICs, I see there are currently slightly more than 100k RICs in that chain.
All extraction requests have a limit on the number of instruments; for an Elektron Timeseries Extraction Request it is 30'000 instruments. This is for obvious technical reasons, to avoid overburdening the servers with huge queries.
The servers can only determine if an instrument is active or not at a specific date or date range when the extraction is actually performed, it is not possible to know that in advance. In other words, it is not possible to get only those RICs that were active at a specific date.
And there is no possibility to limit the results to options where the strike price is around the ATM price, for the same reason.
So the only solution I see is to convert the chain to RICs, and then make several data extraction requests that each respect the instrument limit .