Commodities Screener in DataScope Select

Hello, Can you please share a sample code on how we can pull Commodities in the API, replicating how a Commodities Screener will do in the GUI?

Best Answer

  • @darshpatel

    It is a criteria list. You can use the DSS REST API to create criteria lists.

    You can use the following request to create that Commodities screener.

    {
        "ListName": "CommodityCriteria1",
        "Type": "Commodities",
        "PreferredIdentifierType": "Ric",
        "Filters": [
                    {
                        "@odata.type": "#DataScope.Select.Api.Extractions.SubjectLists.MultiValueFilter",
                        "Name": "Underlying Asset",
                        "Op": "In",
                        "Values": [
                            "Natural Gas"
                        ]
                    },
                    {
                        "@odata.type": "#DataScope.Select.Api.Extractions.SubjectLists.BooleanFilter",
                        "Name": "Active Status",
                        "Value": "Yes"
                    },
                    {
                        "@odata.type": "#DataScope.Select.Api.Extractions.SubjectLists.BooleanFilter",
                        "Name": "Basis Gap Adjusted",
                        "Value": "All"
                    }
                ]
    }

    Send it to the Extractions/CriteriaListCreate endpoint with the HTTP POST method. This request will create a criteria list named CommodityCriteria1.

    The response will contain a ListId which can be used in on-demand extractions.

    {
        "@odata.context": "https://selectapi.datascope.refinitiv.com/RestApi/v1/$metadata#CriteriaLists/$entity",
        "ListId": "0x085e7b6245988fd7",
        "Name": "CommodityCriteria1",
        "Type": "Commodities",
        "PreferredIdentifierType": "Ric",
        "Created": "2023-02-22T02:02:27.000Z",
        "Modified": "2023-02-22T02:02:27.000Z",
        "Filters": [
    ...
    ]
    }

    For example, you can use the criteria list ID with the TermsAndConditionsExtractionRequest.

    {
        "ExtractionRequest": {
            "@odata.type": "#DataScope.Select.Api.Extractions.ExtractionRequests.TermsAndConditionsExtractionRequest",
            "ContentFieldNames": [
                "RIC",
                "Asset Type"
            ],
            "IdentifierList": {
                "@odata.type": "#DataScope.Select.Api.Extractions.ExtractionRequests.InstrumentCriteriaListIdentifierList",
                "CriteriaListId": "0x085e7b6245988fd7"
    }

        }
    }

    Otherwise, you can specify the criteria filters directly in on-demand extractions.

    {
        "ExtractionRequest": {
            "@odata.type": "#DataScope.Select.Api.Extractions.ExtractionRequests.TermsAndConditionsExtractionRequest",
            "ContentFieldNames": [
                "RIC",
                "Asset Type"
            ],
             "IdentifierList": {
                "@odata.type": "#DataScope.Select.Api.Extractions.ExtractionRequests.InstrumentCriteriaList",
                "Filters": [
                    {
                        "@odata.type": "#DataScope.Select.Api.Extractions.SubjectLists.MultiValueFilter",
                        "Name": "Underlying Asset",
                        "Op": "In",
                        "Values": [
                            "Natural Gas"
                        ]
                    },
                    {
                        "@odata.type": "#DataScope.Select.Api.Extractions.SubjectLists.BooleanFilter",
                        "Name": "Active Status",
                        "Value": "Yes"
                    },
                    {
                        "@odata.type": "#DataScope.Select.Api.Extractions.SubjectLists.BooleanFilter",
                        "Name": "Basis Gap Adjusted",
                        "Value": "All"
                    }
                ],
                "PreferredIdentifierType": "Ric"
    }

        }
    }

    However, this list contains more than 300,000 results which can exceed the extract limits defined on this page.

    For more information regarding the criteria list endpoints, please refer to the DSS REST API Reference Tree.

Answers