Hi, I'm trying fetch historical price data for a pool of corporate bonds (around 7,000, so it's a large pool) using get_history() function in lseg.data API. I'm running into several problems here.
First, consider the following case shown in the screenshots. Suppose I try to get data for 'XS1746107975' (i.e., an ISIN identifier; all my bonds are identified by their ISIN). The results show that only three obs are available (and they are not at month ends). However, when I manually put the ISIN in the 'Search' bar and click on 'Price History', I get the result which is way more complete. I tried get_data(), I tried interval='daily', same. I'm pretty confused about this, and I do need a full history of the price.
Second, when I actually tried to download price data for my bonds, I use small batches in a loop, so my code would be like ld.get_history(subset, …), where subset is a list of strings and each string represents an ISIN. The batch size is set to 50. I often got two kinds of errors: (1) "Unable to collect data for the field 'TR.CLEANPRICE' and some specific identifier(s)" and (2) "Unable to resolve all requested identifiers". The latter is more confusing to me because I know these bonds do exist as can be shown by searching for them manually.
So, my task is basically very simple: to fetch monthly (or daily) price data for a large pool of bonds. The code worked, but like partially, because the results weren't that satisfactory. Could you please help me see what might be wrong here? Also, any suggestions about my function specification (e.g., the batch size, or other settings or parameters) to make it more efficient would very much appreciated!