RDError: Error code -1

Brent
Brent Newcomer
<refinitiv.data.session.Definition object at 0x7f4339b689d0 {name='codebook'}>

Here we are using the LSEG Data Library version 1.6.1

'SCREEN(U(IN(Equity(primary,public,active))),TR.F.PriceToBookValuePerShr(Period=FY0)<1,IN(TR.ExchangeCountryCode,JP, US, FR, CA, GB, DE, IT, TW, CH),CURN=USD)'
RDError: Error code -1

I've been using this code for months now with no issues, but the last week or so I'm getting an error when I run the code. Is this a permissions issue or something wrong with my code? If someone could let me know what that error code is I'd greatly appreciate it . Thanks!

Code:

import refinitiv.data as rd
from refinitiv.data.discovery import Screener

rd.open_session()

<refinitiv.data.session.Definition object at 0x7f4339b689d0 {name='codebook'}>

print(f"Here we are using the LSEG Data Library version {rd.version}")

Here we are using the LSEG Data Library version 1.6.1

SCREEN.universe = Equity(active=True, public=True, primary=True)
SCREEN.conditions = FORMULA('TR.F.PriceToBookValuePerShr(Period=FY0)', '<1'), IN(
'TR.ExchangeCountryCode', 'JP, US, FR, CA, GB, DE, IT, TW, CH') #HK, KR, ES,PL, MX,SG, AU

SCREEN.currency = 'USD'
query = SCREEN.query
query

'SCREEN(U(IN(Equity(primary,public,active))),TR.F.PriceToBookValuePerShr(Period=FY0)<1,IN(TR.ExchangeCountryCode,JP, US, FR, CA, GB, DE, IT, TW, CH),CURN=USD)'

df3 = rd.get_data(query, ['TR.F.TotCurrAssets(Period=LTM)',
'TR.F.TotLiab(Period=LTM)',
'TR.F.PrefStockRedeemTot(Period=LTM)',
'TR.SharesOutstanding',
'TR.PriceClose',
]
)

df3['hasvalue'] = np.where(df3['Preferred Stock - Redeemable - Total'].isna(), (df3['Outstanding Shares'] * df3['Price Close']) / (df3['Total Current Assets'] - df3['Total Liabilities']), (df3['Outstanding Shares'] * df3['Price Close']) / (df3['Total Current Assets'] - df3['Total Liabilities'] - df3['Preferred Stock - Redeemable - Total']))
ncav = df3[(df3['hasvalue'] < 1) & (df3['hasvalue'] > 0)]
s = ncav['Instrument'].to_string(index=False).split()

RDError                                   Traceback (most recent call last)/tmp/ipykernel_329/3100206021.py in <module>      1 #'TR.CommonName','TR.CompanyMarketCap','TR.F.PriceToBookValuePerShr(Period=FY0)',TR.F.CashDivPaidComStockBuybackNet(Period=LTM)'      2 ----> 3 df3 = rd.get_data(query, ['TR.F.TotCurrAssets(Period=LTM)',      4                           'TR.F.TotLiab(Period=LTM)',      5                           'TR.F.PrefStockRedeemTot(Period=LTM)',/opt/conda/lib/python3.8/site-packages/refinitiv/data/_access_layer/get_data_func.py in get_data(universe, fields, parameters, use_field_names_in_headers)    124     if exceptions and all(exceptions):    125         except_msg = "\n\n".join(exceptions)--> 126         raise RDError(-1, except_msg)    127     128     hp_and_cust_inst_data = HPAndCustInstDataContainer(stream_columns, stream_data, stream_df)RDError: Error code -1 | SCREEN(TR.F.PriceToBookValuePerShr(Period=FY0)<1,IN(TR.ExchangeCountryCode,JP, US, FR, CA, GB, DE, IT, TW, CH),CURN=USD) processing failed. Requested universes: ['SCREEN(U(IN(Equity(primary,public,active))),TR.F.PriceToBookValuePerShr(Period=FY0)<1,IN(TR.ExchangeCountryCode,JP, US, FR, CA, GB, DE, IT, TW, CH),CURN=USD)']. Requested fields: ['TR.F.TOTCURRASSETS(PERIOD=LTM)', 'TR.F.TOTLIAB(PERIOD=LTM)', 'TR.F.PREFSTOCKREDEEMTOT(PERIOD=LTM)', 'TR.SHARESOUTSTANDING', 'TR.PRICECLOSE']

Best Answer

  • Jirapongse
    Jirapongse ✭✭✭✭✭
    Answer ✓

    @Brent

    Thank you for reaching out to us.

    I assume that you are using the dataquery module mentioned on this Dataquery – a syntax builder for screening with LSEG Data Library for Python article.

    I could run the following code properly on CodeBook.

    import lseg.data as ld
    import pandas as pd
    from dataquery import *

    ld.open_session()

    SCREEN.universe = Equity(active=True, public=True, primary=True)
    SCREEN.conditions = FORMULA('TR.F.PriceToBookValuePerShr(Period=FY0)', '<1'), IN(
    'TR.ExchangeCountryCode', 'JP, US, FR, CA, GB, DE, IT, TW, CH') #HK, KR, ES,PL, MX,SG, AU

    SCREEN.currency = 'USD'
    query = SCREEN.query

    df3 = ld.get_data(query, ['TR.F.TotCurrAssets(Period=LTM)',
    'TR.F.TotLiab(Period=LTM)',
    'TR.F.PrefStockRedeemTot(Period=LTM)',
    'TR.SharesOutstanding',
    'TR.PriceClose',
    ]
    )
    df3
    image.png

    If the problem occurs intermittently, the service endpoint may be experiencing an outage at that time.