Which is the recommended approach to get daily prices for bonds

Huong
Huong Newcomer

We have tried two approaches to get daily prices for bonds .We need daily prices for around 5k bonds and use ISIN to fetch the price related fields. We break down the 5k ISNIs into batches of 200 and send sequential requests one after the other. We start running the request from 12 am of each day . Below are the two approaches we tried

lseg_daily_price_code_both_approaches.JPG

It seems approach 1 (without date filter) for 200 ISINs takes around 40 seconds on an average and it also fails occasionally (sometimes requests take an hour to respond back, which might be an exception in most cases).

At the same time approach 2 (with date filter) for 200 ISINs takes around 20 seconds on an average and chances of failure are less.

Does approach 1 involve more processing at the server side to make it slower and less reliable than the approach 1?

Is approach 2 a better way than approach 1 ? Is there a better more reliable approach to get daily prices for bonds using ISIN?

API logs from both approach

Answers

  • Jirapongse
    Jirapongse ✭✭✭✭✭

    @Huong

    Thank you for reaching out to us.

    When requesting a lot of items or data, the request can fail the application because the platform is overwhelmed and the application will get the message "Backend error. 400 Bad Request" in the exception.

    Splitting requests in batches is the best practice but it is not guarantee that the appliction will not get the "Backend error. 400 Bad Request" exception. The application can add the retry logic by using try/except, as mentioned on this discussion.

    Moreover, you can try the Fundamental and Reference endpoint in the content layer which support the asynchronous method (get_data_async) so you can cancel the client's tasks. The example is on this discussion.