How to get expiry detail for future spreads using DSS REST API

I can get futures expiries for RIC chain "0#CL:" using

https://selectapi.datascope.refinitiv.com/RestApi/v1/Search/FuturesAndOptionsSearch

with payload like

payload = "{

"SearchRequest": {

"FileCodes": null,
"CurrencyCodes": null,
"ExchangeCodes": ["NYM"],
"AssetStatus": "Active",
"StrikePrice": null,
"ExpirationDate": null,
"IdentifierType": "RICRoot",
"Identifier": "CL",
"FuturesAndOptionsType": "Futures"
}
}"

How do I get expiries for future spreads like "0#CL-1M:"?

Best Answer

  • Hello @una.keller ,

    Test TermsAndConditions request:

    {{protocol}}{{host}}{{api}}Extractions/ExtractWithNotes
    {
    "ExtractionRequest": {
    "@odata.type": "#DataScope.Select.Api.Extractions.ExtractionRequests.TermsAndConditionsExtractionRequest",
    "ContentFieldNames": [
    "RIC", "CUSIP", "ISIN", "SEDOL", "Issuer OrgID", "Currency Code","Expiration Date"
    ],
    "IdentifierList": {
    "@odata.type": "#DataScope.Select.Api.Extractions.ExtractionRequests.InstrumentIdentifierList",
    "InstrumentIdentifiers": [

    { "Identifier": "0#CL-1M:", "IdentifierType": "ChainRIC" }

    ]
    }
    }
    }

    results on my side:

    {
    "@odata.context": "https://selectapi.datascope.refinitiv.com/RestApi/v1/$metadata#DataScope.Select.Api.Extractions.ExtractionRequests.ExtractionResult",
    "Contents": [
    {
    "IdentifierType": "ChainRIC",
    "Identifier": "0#CL-1M:",
    "RIC": "CLH2-J2",
    "CUSIP": null,
    "ISIN": null,
    "SEDOL": null,
    "Issuer OrgID": null,
    "Currency Code": "USD",
    "Expiration Date": "2022-02-22"
    },
    {
    "IdentifierType": "ChainRIC",
    "Identifier": "0#CL-1M:",
    "RIC": "CLJ2-K2",
    "CUSIP": null,
    "ISIN": null,
    "SEDOL": null,
    "Issuer OrgID": null,
    "Currency Code": "USD",
    "Expiration Date": "2022-03-22"
    },
    {
    "IdentifierType": "ChainRIC",
    "Identifier": "0#CL-1M:",
    "RIC": "CLK2-M2",
    "CUSIP": null,
    "ISIN": null,
    "SEDOL": null,
    "Issuer OrgID": null,
    "Currency Code": "USD",
    "Expiration Date": "2022-04-20"
    },
    ...

    If this is what you are looking for(?), you can find more information on T&C by reviewing REST API Tutorial 7: On Demand T&C extraction and tune request fully toward your requirements.


Answers

  • Hello @una.keller ,

    Try specifying ExpirationDate:

    {
    "SearchRequest": {
    "FileCodes": null,
    "CurrencyCodes": null,
    "ExchangeCodes": ["NYM"],
    "AssetStatus": "Active",
    "StrikePrice": null,
    "ExpirationDate": {
    "@odata.type": "#DataScope.Select.Api.Search.DateValueComparison",
    "ComparisonOperator": "GreaterThanEquals",
    "Value": "2016-12-31T00:00:00.000Z"
    },
    "IdentifierType": "RICRoot",
    "Identifier": "CL",
    "FuturesAndOptionsType": "Futures"

    }
    }

    is the result :

    {
    "@odata.context": "https://selectapi.datascope.refinitiv.com/RestApi/v1/$metadata#Collection(DataScope.Select.Api.Search.FuturesAndOptionsSearchResult)",
    "value": [
    {
    "Identifier": "CLM2",
    "IdentifierType": "Ric",
    "Source": "NYM",
    "Key": "VjF8MHgwMDEwMGIwMDI5MTZhMWFifDB4MDAxMDBiMDAwOWEzZGY0M3xOWU18RFZRVXxERVJWfEZVVHxEfHxDTE0yfDUwMzQ",
    "Description": "LIGHT CRUDE JUN2",
    "InstrumentType": "DerivativeQuote",
    "Status": "Valid",
    "ExchangeCode": "NYM",
    "CurrencyCode": "USD",
    "FuturesAndOptionsType": "Futures",
    "PutCallCode": "",
    "ExpirationDate": "2022-05-20T00:00:00.000Z",
    "AssetStatus": "Active"
    },
    ...

    what you are looking for?


  • @zoya faberov I'm looking for the output to include Futures Spread. Example chain RIC is "0#CL-1M:". The RICs will look like the following

    CLZ2-F3

    CLK2-V2

    CLX1-F2

    Your output is showing the standard Futures contracts. I am able to return the standard Future contracts with the payload I added in the original question.