question

Upvotes
Accepted
16 1 5 6

RDP Inactive corporate Bonds

Hi,

Happy New Year!

I am trying to capture, using RDP query in Python, the inactive bonds for a given ParentOAPermID. Can you please confirm that the following (upper) snippet does what I am looking for.

A couple of more questions:

a. I see that there are quite few bonds without ISIN. Why is that?

b. I see that my query reached the 10000 limit, so I guess I will have to introduce additional filters to get all the bonds, right?

c. is it correct to say that bonds which are not any more active, do not have a RIC? If so, would a better approach be the 2nd one shown below, which is based on the RIC?

Many thanks

Kind regards

Grigorios

sBankID = '5043337560'
GroupSize = 10000
filterStrINACTIVE = "  ParentOAPermID  eq '{0}'   " \
                " and ( ( AssetStatus eq 'CLD') or ( AssetStatus eq 'MAT') )  ".format(sBankID)

srchfields = "RIC,ISIN, FullName, AssetStatus, ParentOAPermID, IssuerName, IssuerLegalName,IssuerOAPermID, Currency,IssueDate, MaturityDate, CouponRate"

dataINACT = rdp.search(view=rdp.SearchViews.GovCorpInstruments, filter=filterStrINACTIVE, top=GroupSize, select=srchfields)
dataINACTvalidISIN = dataINACT[ dataINACT["ISIN"].isnull()==False]
dataINACT.shape
# --> (10000, 10)
dataINACTvalidISIN.shape
# --> (9683, 10)


Approach based on RIC:

filterStrINACTIVEviaRIC = "  ParentOAPermID  eq '{0}'   " \
                " and RIC eq null  ".format(sBankID)

srchfields = "RIC,ISIN, FullName, AssetStatus, ParentOAPermID, IssuerName, IssuerLegalName,IssuerOAPermID, Currency,IssueDate, MaturityDate, CouponRate"

dataINACTviaRIC = rdp.search(view=rdp.SearchViews.GovCorpInstruments, filter=filterStrINACTIVEviaRIC, top=GroupSize, select=srchfields)
refinitiv-data-platformbondsrdp search
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.

small addition to the filter I used above:


filterStrINACTIVE = "  ParentOAPermID  eq '{0}' and ((DerivedCategory eq 'BOND') or (DerivedCategory eq 'Note'))   " \
                " and ( ( AssetStatus eq 'CLD') or ( AssetStatus eq 'MAT') )  ".format(sBankID)

One more question:

I see that:

set(dataINACTvalidISIN["MaturityDate"])

{'2022-12-15T00:00:00.000Z', '2003-02-27T00:00:00.000Z', ...}

How can I change the filter to only get Bonds with MaturityDate greater than a given date, or between two MaturityDate values?

Many thanks in advance

Upvotes
Accepted
12.1k 59 39 61

Hi @grigorios.mamalis

The first thing I would suggest you do is to confirm exactly what you consider as "Inactive". For example, based on the bond you specified and looking at the status of the asset, I see this distribution:

ahs.png

From here, you can see some potential candidates that you may consider as 'inactive'. There is a specific status indicator 'Not Active' you can use with a total of 17 hits. However, if you also want to lump in those bonds that have matured (or any others), you can clearly see the total hits you would have to consider, i.e Matured has over 120,000. If you only want to look at the 'Not Active', you can clearly retrieve this. However, if you want to include others, such as those that have matured, you will need to figure out if you want to filter out some of them. Or, if you need to retrieve every 'matured' bond as well, then you would have to apply some techniques I outlined within Search - limits.

As for missing 'ISIN's, there may be a category of matured bonds or some condition that may explain why certain matured bonds don't have an ISIN - I would suggest you raise content questions within the Refinitiv Helpdesk.

As for the alternative approach to retrieve the bonds based on a RIC filter, this may be applicable if you understand why some bonds don't have RICs and if the reasons make sense for your use case - again, a content specialist would be your best source for this.


ahs.png (89.4 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.

Upvotes
16 1 5 6

Hi @nick.zincone ·

Many thanks for the detailed feedback.

Kind regards

Grigorios

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.

Hi @grigorios.mamalis

Can you provide a link to the related question?