Hi @ Alex Putkov,
what do HierarchyOAPermIDs and IssuerOAPermID stand for? Is there a lexicon for all these attributes?
ThanksIssuerShortNameParentIssuerIDParentIssuerNameParentOAPermIDIssuerCommonNameIssuerOrgidHierarchyOAPermIDsParentIndustrySectorIssuerOAPermIDIssuerLegalNameIssuerOrganizationCredit Suisse US0x0000fa000448c87eCredit Suisse Gp4295890672Credit Suisse (USA) Inc60762['4295912110', '5000005697', '4295890672']BANKS4295912110CREDIT SUISSE (USA), INC.60762
I'm afraid there's no lexicon for the properties in RDP Search service beyond what's available through Metadata service, which I appreciate does not provide detailed description for the properties. This means the only way to infer the meaning of any property is from its name and from the samples of data it returns.
In this example I happen to know that "OA" refers to Organization Authority, which is a system where Refinitiv manages the hierarchy and the relationships for organizations. IssuerOAPermID returns PermID for the issuer organization. HierarchyOAPermIDs returns the list of organization PermIDs for the organization and its immediate and ultimate parents.
Hi @Alex Putkov. Many thanks for your reply and help.
I was actually reverse-engineering all this but then stumbled on matching, e.g. '5000005697' to anything (see snapshot). How can I find the match for that Id in rdp (python)? I tried a rdp.search with
filterStr = " IssuerOAPermID eq '5000005697'" data1 = rdp.search(view=rdp.SearchViews.GovCorpInstruments, filter=filterStr, top=GroupSize, select=srchfields)
Also tried with:
filterStr = " ParentImmedOrgID eq '5000005697'"
Also, how can I get the ParentOAPermID for a Bank given a fuzzy name for a Bank in a neat way with rdp api (python)?
You're not getting any hits with
filter = "IssuerOAPermID eq '5000005697'"
because this organization (Credit Suisse Holdings (USA) Inc") does not directly issue any bonds. It does issue bonds through its immediate subsidiary (Credit Suisse (USA) Inc).
Your second filter returned no hits because you used incorrect property. OrgID and OAPermID are different identifiers. Try
filter = "ParentImmedOAPermID eq '5000005697'"
With this filter I get 493 hits.
To answer your last question, RDP Search service doesn't do fuzzy name matching. However, simple string matching in RDP Search ignores case, word order, extra words and most punctuation. E.g. with
view=rdp.SearchViews.Organisations filter = "CommonName eq 'Credit Suisse' and RCSOrganisationType eq 'OT:1'"
I get 59 hits including "Credit Suisse Group AG", "Credit Suisse AG (New York Branch)" and so on. But it also includes "Credit Agricole next bank Suisse SA", which is not related to Credit Suisse. Once you have these results you could employ a library like Fuzzywuzzy, which provides fuzzy name search capability.