Upgrade from Eikon -> Workspace. Learn about programming differences.

For a deeper look into our Eikon Data API, look into:

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

question

Upvotes
Accepted
1 1 1 0

Is there a way to get AI for bonds with no RIC assigned by using Python API?

By using df = ek.get_data(list1, ['TR.FIAccruedInterest']), I am able to get AI for most of the bonds. however, it looks like it doesnt work for those that do not have a RIC code assigned to them as it throws a NaN error. See the below example.

list1=['000416T80','004284D85','004284ZN8', '005158UN8', '19648EAF4', '791698AF0']

df = ek.get_data(list1, ['TR.FIAccruedInterest'])

print(df)


Output

( Instrument Accrued Interest

0 000416T80 1.889

1 004284D85 1.889

2 004284ZN8 1.511

3 005158UN8 1.017

4 19648EAF4 NaN

5 791698AF0 NaN, None)


Additionally, 'TR.AccruedAmountAnalytics' provide the below erroneous results

df2=ek.get_data(list1,'TR.AccruedAmountAnalytics',{'SettlementDate':'20200610'})

print(df2)


Output

0 000416T80 0.0

1 004284D85 0.0

2 004284ZN8 0.0

3 005158UN8 NaN

4 19648EAF4 NaN

5 791698AF0 NaN,


Regards

Sergio

eikoneikon-data-apipythonrefinitiv-dataplatform-eikonworkspaceworkspace-data-apiapibonds
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
39.4k 77 11 27

@sergio.iracheta

Your colleague reported similar issue on this thread. This issue was referred to Refinitiv Helpdesk, which upon their investigation concluded that accrued interest is only available in Eikon for bonds that have RICs assigned to them, which excludes most US munis.

The only alternative is to calculate accrued using Adfin Analytics. It is possible to use Adfin Analytics COM library in Python, albeit this is not very straightforward and is only possible in 32-bit Python. For details see this article.

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
1 1 1 0

by using the below excel formula we are able to get this data even if those bonds dont have any RIC assigned. is there any way to be able to run this Eikon excel formula on python??

=IF(B$2="","",IF(ISTEXT(Accrued(G$1,$D2,$E2,$F2)),0,Accrued(G$1,$D2,$E2,$F2)))

B2 = ISIN

G1= Date

D2= bonds maturity date (TR.FIMaturityDate)

E2 = Coupon rate (TR.ADF_COUPON)

F2= Bond Structure (TR.ADF_BondStructure)

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
39.4k 77 11 27

@sergio.iracheta

If you use 32-bit Python, you can use AdfinX Analytics COM library as described in the article referenced in my previous response on this thread.

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.