question

Upvotes
Accepted
33 1 1 6

Empty response when searching for derivative by underlying

Hi,


I'm building a tool that requires me to search for information on derivatives. Here i'm trying to find some futures contracts. To find these contracts I have information on the underlying of the contract. I tried using the content search like so :

df1 = rd.content.search.Definition(
        view=rd.discovery.Views.SEARCH_ALL,
        select="DocumentTitle,RIC,UnderlyingQuoteRIC,DerivedCategory,AssetState", 
        filter=f"UnderlyingCUSIP  eq '02079K305' and DerivedCategory eq 'FUTURE'",
).get_data()
df1.data.df

(cusip : 02079K305 is just the cusip for an equity i'm testing on)

and :

response = rd.content.search.Definition(
    view=rd.content.search.Views.SEARCH_ALL,
    filter = "SearchAllCategoryv2 eq 'Futures' and ((UnderlyingQuoteRIC eq 'APPL.O'))",
select = "AssetState,RIC,BusinessEntity,PI,SearchAllCategoryv3,SearchAllCategoryv2,SearchAllCategory,DTSubjectName,ExchangeName,ExpiryDate,UnderlyingIssuerName,UnderlyingQuoteRIC,RCSCurrencyLeaf,RCSExchangeCountryLeaf,UnderlyingRCSAssetCategoryLeaf",
    top = 1000).get_data()
response.data.df

For both of these queries, I don't get any results.

Any idea of what I might be missing ?




Thank you.

#technologypython apidataricssymbology
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
Accepted
85.2k 290 53 77

@adam.leroux

Thank you for reaching out to us.

You may use the EQUITY_QUOTES view.

df1 = rd.content.search.Definition(
        view=rd.discovery.Views.EQUITY_QUOTES,
        select="BusinessEntity,DocumentTitle,RIC,UnderlyingQuoteRIC,DerivedCategory,AssetState,CUSIP,SearchAllCategoryv2", 
        filter=f"DerivedCategory eq 'FUTURE' and UnderlyingQuoteRIC eq 'AAPL.O'",
        top=10
).get_data()
df1.data.df

I ran this query to check the values in UnderlyingCUSIP.

df1 = rd.content.search.Definition(
        view=rd.discovery.Views.SEARCH_ALL,
        select="BusinessEntity,DocumentTitle,RIC,UnderlyingQuoteRIC,DerivedCategory,AssetState,CUSIP,SearchAllCategoryv2", 
        filter=f"UnderlyingCUSIP ne null",
        top=10
).get_data()
df1.data.df

The output is empty which indicates that the values of UnderlyingCUSIP in SEARCH_ALL are all null. To verify the query or content, please contact the helpdesk team direclty via MyAccount.

You use the metadata endpoint to list all fields in the EQUITY_QUOTES.

response = search.metadata.Definition(
    view = search.Views.EQUITY_QUOTES # Required parameter
).get_data()

response.data.df



icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Thanks for the answer.

So I understand that the SEARCH_ALL field doesn't allow me to search in every field. In other words, it is mandatory to specify the correct field instead of just looking at all fields with SEARCH ALL ?

Upvotes
85.2k 290 53 77

@adam.leroux

You can also use the metadata endpoint with the SEARCH_ALL view to list all available fields.

response = search.metadata.Definition(
    view = search.Views.SEARCH_ALL # Required parameter
).get_data()


response.data.df

I found that the "UnderlyingCUSIP" field is available in the SEARCH_ALL veiw and it is searchable.

1721188698740.png

However, from my checking, the values of this field may be not populated in this view. You can contact the helpdesk team direclty via MyAccount to confirm the content.


1721188698740.png (4.8 KiB)
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.