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

Best Answer

  • @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.

Answers

  • 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)

  • @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.