I previously used Datastream to retrieve contract-level stock index option historical daily data. Since there are a lot of options (both active and expired ones), I used the python package PyDatastream to retrieve the data.
However, recently, our institution has switched to Eikon, so I cannot directly use PyDatastream any more (no username or passwords). I tried to use Eikon API, but it seems that the identifier in Eikon is RIC, which is different from the identifier in Datastream (Symbol).
Thanks to @Joris.Hoendervangers's answer here, it is feasible to retrieve the corresponding RICs for Datastream items using Datastream Excel Add-ins (integrated in Eikon). However, it seems that not all Datastream items have an RIC. For example, the continuous option series "S&P/ASX 200 INDEX 100% Moneyness" in Datastream does not have an RIC. More IMPORTANTLY, some data series, e.g. expired options, are in Datastream, but not in Eikon. In this case, even if we have the RICs for these options, Eikon API cannot get their data.
My question is: is there a way to retrieve data using VBA, Python, or any other languages, with Datastream identifiers (Symbol or Mnemonic), instead of RIC, if we only subscribe to Eikon? I understand that Eikon API cannot be used to get data from Datastream (See the answer here). And COM API (e.g. RHistory API) seems to recognize only RIC, not Datastream identifiers (Symbol or Mnemonic). Also I cannot use DSWS without a Datastream username and password.
Is there anything I can do? VBA may be a solution since at least the Datastream Excel Add-in, integrated in Eikon, is able to retrieve Datastream data using Symbol (e.g. the DSGrid function), but can I use VBA to call the DSGrid function?
Thank you very much.
Higher tier Eikon variants include access to Datastream data. If you can use Datastream Excel Add-in with your Eikon account, you should be able to use DSWS. You just need to obtain DSWS user name (aka Datastream Child ID) and password associated with your Eikon account. You can get this information from your Refinitiv account manager or by contacting Refinitiv Helpdesk. Refinitiv Helpdesk can be reached by either calling the Helpdesk number in your country or by using Contact Us capability in your Eikon application.
I figure out that the best I can do is to use the "New Request Table" tag in the Datastream Excel Add-in to download many series at one time and save in a opened Excel sheet, but it is still laborious. In my case, I will download tens of thousands of option contracts.
I'm not sure if VBA is able to do that. I tried to looked at the VBA code in the "New Request Table" template to see how it downloads data from Datastream (I'm not an expert in VBA). Specifically, the "Process Table" button calls the Sub "btnProcessTable_Click()", which further calls the Sub "ProcessRequestTable", which finally calls the Sub "gRTCOMInterface.ProcessRequestTable", whose code is invisible. It may be feasible to use VBA and the Request Table to automate the downloading process, according to the question here.