COMPANY SEARCH RDP Python
Actually I wanted to look for getting all kind of companies with ISINs, Revenue etc .
Can I do that with Python rdp? I know that Excel box has this corporate search engine but I can export only 10000 at a time .. I know that I should be using some universe with rdp.search
but do not know which one to use and what to put in Filter. Also how can I get the totality (I know there is GroupSize, but can it be arbitrarily "big" ?) . Many thanks in advance. Grigorios
Best Answer
-
Based on your category filter of "Company/Issuers" and organizations that are listed vs unlisted, and you have no other filtering requirements, you will need to apply some advanced filtering and navigation techniques to work with limits of the server. For example, these are the number of hits you are working with:
For example, you may want to consider narrowing down based on the organization type, i.e.
There are many other factors and categories to consider. You're biggest challenge is the amount of data you want to extract - assuming you want to see listed and unlisted "company/issuers".
I would suggest you refer to dealing with Limits and some techniques you can apply.0
Answers
-
Thank you for reaching out to us.
I checked and found that the search endpoint on RDP also limits 10000 entries in the response.
However, you can use the navigators property to verify how to use additional fields in the filter to reduce the number entries in the response. For example, if I set the ExchangeName field in the navigators property, the output looks like this:
"Navigators": {
"ExchangeName": {
"Buckets": [
{
"Label": "CME:Index and Options Market",
"Count": 18103
},
{
"Label": "Chicago Mercantile Exchange",
"Count": 3118
},
{
"Label": "INTL FCStone Inc",
"Count": 2550
},You will see the estimated number of entries in each exchange. For more information, you can refer to the Build queries easily using Refinitiv's Search API with Python and Jupyter article.
Morever, you can use the Advanaced Search App to create an initial query for you, as mentioned in the Find content and functionality using Refinitiv Data Library with Eikon Advanced Search article.
0 -
Hi @Jirapongse,
many thanks for the fedback. I tried "Corporates/Issuers" rather and got more than 10K rows in Advanced Search. However, the Python code from this gave very few rows in CODEBK. See below. Any thoughts? Grigorios
import refinitiv.data as rd
from refinitiv.data.content import fundamental_and_reference
import datetime
df = rd.discovery.search(
filter = "( SearchAllCategoryv2 eq 'Companies/Issuers')",
select = "CommonName,Gics,RCSOriginalAccountsCurrencyLeaf,PrimaryRIC,Orgid,BondsCount,CdsCount,EquitiesCount,FundsCount,FuturesCount,LoanCount,MortgagesCount,OptionsCount,WarrantsCount,OAPermID,OwnershipExists,OrganisationStatus,MktCapCompanyUsd,RCSFilingCountryLeaf,RCSTRBC2012Leaf,UltimateParentOrganisationOrgid,UltimateParentCompanyOAPermID,RatingX1XRatingRank,BusinessEntity,PI,SearchAllCategoryv3,SearchAllCategoryv2,SearchAllCategory,DTSubjectName,UltimateParentOrganisationName,DTSimpleType,RCSOrganisationSubTypeLeaf,LEI,RCSCountryHeadquartersLeaf"
)
df.shape
==========================
(10,29)
0 -
Use the top parameter. The default value of the top parameter is 10.
top: int, optional
the maximum number of documents to retrieve. Must be non-negative.
default: 100 -
@Jirapongse Thanks for the hint. Now to the more difficult:
a. how do I get the full monty of the listed/unlisted companies? Is that by adding filters? Which ones and how (example)?
b. how do I get revenues/EVIC when appropriate ?.
Thanks
import refinitiv.data as rd
rd.open_session()
df = rd.discovery.search(
filter = "( SearchAllCategoryv2 eq 'Companies/Issuers')",
select = "CommonName, ISIN, RIC, Gics,RCSOriginalAccountsCurrencyLeaf,PrimaryRIC,Orgid,OrganisationStatus,MktCapCompanyUsd,UltimateParentOrganisationOrgid,UltimateParentCompanyOAPermID,RatingX1XRatingRank,BusinessEntity,PI,SearchAllCategoryv3,SearchAllCategoryv2,SearchAllCategory,DTSubjectName,UltimateParentOrganisationName,DTSimpleType,RCSOrganisationSubTypeLeaf,LEI,RCSCountryHeadquartersLeaf",
top = 10000
)
df.head()
0 -
Hi @Zincone, many thanks for the help. I am going through that. Quick question: how can I generalize the below query for a list of corporates. Thank you. Grigorios
lst = ["IBM", "Goldman Sachs", "Deutsche Bank"]
import refinitiv.data as rd
from refinitiv.data.content import fundamental_and_reference, search as srch
rd.discovery.search(
view = rd.discovery.Views.ORGANISATIONS,
query = "Name(IBM)",
top = 10,
filter = "( SearchAllCategoryv2 eq 'Companies/Issuers' and ((RCSCountryHeadquarters xeq 'G:6J')))",
select = "CommonName,Gics,RCSOriginalAccountsCurrencyLeaf,PrimaryRIC,Orgid,BondsCount,CdsCount,EquitiesCount,FundsCount,FuturesCount,LoanCount,MortgagesCount,OptionsCount,WarrantsCount,OAPermID,OwnershipExists,OrganisationStatus,MktCapCompanyUsd,RCSFilingCountryLeaf,RCSTRBC2012Leaf,UltimateParentOrganisationOrgid,UltimateParentCompanyOAPermID,RatingX1XRatingRank,BusinessEntity,PI,SearchAllCategoryv3,SearchAllCategoryv2,SearchAllCategory,DTSubjectName,UltimateParentOrganisationName,DTSimpleType,RCSOrganisationSubTypeLeaf,RCSCountryHeadquartersLeaf,RCSCountryHeadquarters"
)
0 -
Hi @nick.zincone ,
I think I found an answer to my question:
lst = ["IBM", "UBS", "Credit Suisse" ]
query = " or ".join(lst)
discovery.search(
view = rd.discovery.Views.ORGANISATIONS,
query = mystr,
etc
0 -
Yes, you will be able to pull down data related to your above query. However, if you are not expecting close to 6000 hits, you will need to apply some additional filtering. For example, when I query for only "Credit Suisse", I get back around 1840 hits. What I would do at this point is determine if all hits are relevant. You will begin to realize there is quite a bit of data associated with your query and that there may be data you are not interested in. For example, looking at some of the boolean conditions you can filter on:
It may be the case you are only interested in publicly traded hits (IsPublic) or whether the data is active (IsActive), etc. There are so many categories and conditions that you can discover that will help you narrow down your result set. For example, you may only be interested in the status of the organisations that are listed. Here is a current breakdown for my query:
This goes back to my reference to "Limits" and that once you begin to realize the granularity of data you will receive, you will undoubtedly need to filter our unwanted hits. The article referenced above: Build queries easily using Refinitiv's Search API with Python and Jupyter will provide tools for you to discover properties and conditions to help you filter your search.
0 -
Hi @zincone, many thanks for all the help!
0
Categories
- All Categories
- 6 AHS
- 37 Alpha
- 161 App Studio
- 4 Block Chain
- 4 Bot Platform
- 16 Connected Risk APIs
- 47 Data Fusion
- 30 Data Model Discovery
- 608 Datastream
- 1.3K DSS
- 577 Eikon COM
- 4.9K Eikon Data APIs
- 7 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- Trading API
- 2.7K Elektron
- 1.3K EMA
- 236 ETA
- 519 WebSocket API
- 33 FX Venues
- 10 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 20 Messenger Bot
- 2 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 59 Open Calais
- 264 Open PermID
- 39 Entity Search
- 2 Org ID
- PAM
- PAM - Logging
- 8.4K Private Comments
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 20 RDMS
- 1.4K Refinitiv Data Platform
- 367 Refinitiv Data Platform Libraries
- 3 Refinitiv Due Diligence
- LSEG Due Diligence Portal API
- 3 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.1K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 10 World-Check Customer Risk Screener
- 990 World-Check One
- 44 World-Check One Zero Footprint
- 45 Side by Side Integration API
- Test Space
- 3 Thomson One Smart
- 1.2K TR Internal
- Global Hackathon 2015
- 2 Specialists Who Code
- 10 TR Knowledge Graph
- 150 Transactions
- 142 REDI API
- 1.7K TREP APIs
- 4 CAT
- 21 DACS Station
- 117 Open DACS
- 1.1K RFA
- 103 UPA
- 172 TREP Infrastructure
- 224 TRKD
- 886 TRTH
- 5 Velocity Analytics
- 5 Wealth Management Web Services
- 59 Workspace SDK
- 9 Element Framework
- 5 Grid
- 13 World-Check Data File
- Yield Book Analytics
- 46 中文论坛