getting data from my stored portfolios - veeeery slow - what am i missing?

Hi there

I am calling up the content of the portfolios i created/maintain in PAL (WORKSPACE).

api call : rd.content.fundamental_and_reference.Definition(universe[thisPortfolioCall],fields = refinitivFieldsToGetLoc).get_data()

where:

thisPortfolioCall is a single portfolio like 'Portfolio(SMIconstituents)'

refinitivFieldsToGetLoc is data i need like

['TR.CompanyReportCurrency', 'TR.PriceClose.Currency', 'TR.PortfolioShares', 'TR.PriceClose(SDate=2023-09-18)', 'TR.PriceClose(SDate=2023-09-18, CURN=USD)', 'TR.PortfolioWeight', 'TR.CompanyMarketCap']

It works but it is veeeery slow, like 2 min for 28 portfolios with a total of about 350 assets in them all.

Normal?

Better way?

Cheers for pointers

Alfred

Best Answer

  • Jirapongse
    Jirapongse admin
    Answer ✓

    @the.swiss

    Thank you for reaching out to us.

    Does it mean that the application called the get_data method 28 times (one for each portfolio)?

    If yes, it takes around 5 seconds for each request.

Answers

  • Hi Jirapongse

    Yes it does. All else ended up in 400 type errors before as I remember. This one still is temperamental and gets stuck at times for longer.

    No comparison to how speedy time_series download.

    Is there a better way to obtain portfolio content?

    Btw. Is there a way to query all stored portfolios and watchlist under my user?

    i.e. when I add one of them need to add the codes manually to my query.

    Cheers

    Alfred


  • @the.swiss

    Spilting the query is a proper way to avoid the 400 type error (Error code 400 | Backend error. 400 Bad Request).

    As I know, I don't think we can use the RD libary to create or update portfolios.