download partial data and error handling

Options
start_date = '2021-12-31'
end_date = '2025-07-31' isin = ['INNPCIL2826=', 'INMOFSA1618=', 'INAXBKF0621=', 'INKRNFV1125=', 'INPOTMK3034=', 'INNEEVM3034='] bond_flds = ["TR.ASKPRICE.date","TR.ASKPRICE", "TR.BIDPRICE", "TR.ASKYIELD",
"TR.BIDYIELD", "TR.YIELDTOMATURITY", "TR.MODIFIEDDURATION",
"TR.AVERAGELIFE", "TR.ASSETSWAPSPREAD", "TR.BENCHMARKSPREAD",
"TR.ZSPREAD", "TR.OPTIONADJUSTEDSPREADBID",
] df = ld.get_history(
universe = isin,
fields = bond_flds,
parameters = {
'SDate': start_date,
'EDate': end_date,
'Frq': 'M'
}
)

I'm trying to use the above structure to download pricing and analytics data using the LSEG data library. I face a problem that if any security is missing data, the code fails and and ends in error. I would like the partial data that was retrieved to be returned. If no security has any data available, an empty dataframe is also something I can work with. But the error message breaks the program without any data retrieved. Can you please help?

Currently I get a message like this

LDError: Unable to collect data for the field 'TR.ASKPRICE.DATE' and some specific identifier(s). Requested universes: ['INPOTMK3034=RRPS']. Requested fields: ['TR.ASKPRICE.DATE', 'TR.ASKPRICE', 'TR.BIDPRICE', 'TR.ASKYIELD', 'TR.BIDYIELD', 'TR.YIELDTOMATURITY', 'TR.MODIFIEDDURATION', 'TR.AVERAGELIFE', 'TR.ASSETSWAPSPREAD', 'TR.BENCHMARKSPREAD', 'TR.ZSPREAD', 'TR.OPTIONADJUSTEDSPREADBID']

Answers

  • Hi @viquar.shaikh ,

    Could you please let me know which version of the data library you're using?

    I'm using v2.1.1 and I cannot replicate the issue mentioned, the field TR.ASKPRICE.DATE returns <NA> when there's no data

    import lseg.data as ld
    
    ld.open_session()
    
    start_date = '2021-12-31'
    
    end_date = '2025-07-31'
    isin = ['INNPCIL2826=', 'INMOFSA1618=', 'INAXBKF0621=', 'INKRNFV1125=', 'INPOTMK3034=', 'INNEEVM3034=']
    bond_flds = ["TR.ASKPRICE.date","TR.ASKPRICE", "TR.BIDPRICE", "TR.ASKYIELD",
                 "TR.BIDYIELD", "TR.YIELDTOMATURITY", "TR.MODIFIEDDURATION",
                 "TR.AVERAGELIFE", "TR.ASSETSWAPSPREAD", "TR.BENCHMARKSPREAD",
                 "TR.ZSPREAD", "TR.OPTIONADJUSTEDSPREADBID", 
                 ]
    df = ld.get_history(
        universe = isin,
        fields = bond_flds,
        parameters = {
            'SDate': start_date,
            'EDate': end_date,
            'Frq': 'M'
            }
        )
    
    image.png

    when getting the data of INPOTMK3034=RRPS in an error message you provided, I got no error message, just getting an empty dataframe

    image.png
  • Thank you for looking into this @raksina.samasiri

    my LSEG data version is 2.0.1

    Would you know if there is any error handling or alternative ways to source this information?

  • Hi @viquar.shaikh ,

    Could you please try to upgrade to the latest version with this command


    pip install --upgrade lseg-data