Python Eikon API to Reuters Stock Screen

Hi, As part of my portfolio optimization, I test out various stocks and optimize their weights to have max returns for min risk. I can have these list of stocks as individual buttons, which when clicked I would like to provide key metrics of them. Rather than trying to download the details and provide them, which is no value add from my side, I would like to access Eikon's stocks screen, where I pass the stock instrument symbol and have the same screen (like in Eikon) pop up through the API. Makes my life easy and would be able to access all the wealth of information from Eikon at the portfolio's fingertips, rather than going back into Eikon and typing the stock symbol. Is there anyway I can access this through Eikon API.

Thanks in advance.

Regards

Leben

Best Answer

  • chavalit-jintamalit
    Answer ✓

    Hi @lebenjohnson.mannariat

    You can use Side by Side Integration API to send command to Eikon to open a stock screen.

    You can find the information here.

    This is my sample command to launch a page for IBM.N symbol.

    {
    "command": "launch",
    "appId": "GxHOME",
    "context": "{\n \"entities\": [ { \"RIC\": \"IBM.N\" } ]\n}",
    "sessionToken": "<your Side by Side Integration API session token"
    }

    And I got this page pop up in my Eikon Desktop.

    image

Answers

  • Hi,

    Thanks that worked. However I would need to send the commands through Postman. Is there a way I could send the commands from a Python program through the Eikon API, while having the hand shake established through Postman running in the background.

    Appreciate your help.

    Thanks & Regards

    Leben

  • Hi @lebenjohnson.mannariat

    You can use Postman to generate sample Python code to send the same request which you tried it on Postman.

    You can include this generated code in your Python application.
    This is not part of Eikon Desktop Data APIs.

  • This is generated code from Postman to send handshake command to Eikon Desktop from your Python program.

    import requests

    url = "http://127.0.0.1:9000/sxs/v1/"

    payload = "{\r\n\t\"command\": \"handshake\",\r\n\t\"productId\": \"YOUR APP ID\",\r\n\t\"apiKey\": \"YOUR APP KEY\"\r\n}"
    headers = {
    'Content-Type': "application/json",
    'cache-control': "no-cache"
    }

    response = requests.request("POST", url, data=payload, headers=headers)

    print(response.text)
  • Thanks,

    I am able to get the code from Postman, that works perfectly.

    Much appreciated.

    Regards

    Leben