FUND and INVESTORS data

Since it is time-consuming if I get those funds and investors’ info one by one. I wanna use API to get a large amount of data and do my own analysis. Is it possible?

Best Answer

  • bob.lee
    Answer ✓

    @tfleming , For funds holdings data, yes, both Eikon API and RDP Funds API can provide the holdings data. Below are some samples. One special thing you need to remember is that, some funds got embargo date for its latest full-holdings data, so you can only see the top 10 items. In that case, you can try to get its previous reported holdings data that should have the full data set.

    Eikon API sample:

    RIC_list0 = ['LP60000012', 'LP60000008']
    results = pd.DataFrame([])
    for RIC in RIC_list0:
      df0, err = ek.get_data(RIC, ['TR.FundHoldingRIC','TR.FundHoldingName','TR.FundLatestFilingDate','TR.FundNumberOfShares','TR.FundNumberOfSharesChanged','TR.FundPercentageOfFundAssets'],{'Endnum':'5000'})
      results = results.append(df0)

    you should get the data-frame similar to below (I only show some columns due to space)

        Instrument  Holding RIC                                     Holding Name  \
    0 LP60000012 2330.TW TAIWAN SEMICONDUCTOR MANUFACTURING CO LTD ORD
    1 LP60000012 005935.KS SAMSUNG ELECTRONICS CO LTD
    2 LP60000012 0700.HK TENCENT HOLDINGS LTD ORD
    3 LP60000012 1299.HK AIA GROUP LTD ORD
    4 LP60000012 HDFC.NS^G23 HOUSING DEVELOPMENT FINANCE CORPORATION LTD ORD
    .. ... ... ...
    65 LP60000012 CNH CASH
    66 LP60000012 THB CASH
    67 LP60000012 KRW CASH
    68 LP60000012 INR CASH
    0 <NA> <NA> <NA>

    Latest Filing Date Number of Shares Number of Shares Changed \
    0 2023-06-30 11260297.0 440000.0
    1 2023-06-30 3024580.0 416495.0
    2 2023-06-30 3213400.0 184200.0
    3 2023-06-30 12848200.0 360000.0
    4 2023-06-30 2342400.0 172687.0
    .. ... ... ...
    65 2023-06-30 1.0 397491.0
    66 2023-06-30 1.0 75775504.0
    67 2023-06-30 2.0 1.0
    68 2023-06-30 3.0 2.0
    0 <NA> <NA> <NA>


    Funds RDP Funds API. As it is a REST API, you can just use the query below as a sample, and get its response in JSON: Again, I removed most of the result due to the size of data.

    https://api.refinitiv.com/data/funds/v1/assets?symbols=60000012&amp;properties=holdings 
    {
      "assets": [
        {
          "id": "60000012",
          "holdings": [
            {
              "date": "2023-06-30",
              "securitiesHeldCount": 69,
              "constituents": [
                {
                  "name": "TAIWAN SEMICONDUCTOR MANUFACTURING CO LTD ORD",
                  "country": "TAIWAN",
                  "weight": 9.4404,
                  "weightPrevious": 9.3926,
                  "weightChange": 0.0478,
                  "type": {
                    "id": "3617",
                    "code": "A1",
                    "name": "Common Shares"
                  },
                  "sharesHeld": 11260297.0,
                  "sharesPrevious": 10820297.0,
                  "sharesChange": 440000.0,
                  "crossReferenceCodes": [
                    {
                      "code": "RIC",
                      "type": {
                        "id": "26",
                        "code": "RIC",
                        "name": "RIC"
                      },
                      "values": [
                        {
                          "value": "2330.TW"
                        }
                      ]
                    },
                    {
                      "code": "ISIN",
                      "type": {
                        "id": "1424",
                        "code": "ISIN",
                        "name": "ISIN Code"
                      },
                      "values": [
                        {
                          "value": "TW0002330008"
                        }
                      ]
                    },
                    {
                      "code": "CUSIP",
                      "type": {
                        "id": "4862",
                        "code": "CUSIP",
                        "name": "CUSIP"
                      },
                      "values": [
                        {
                          "value": "Y84629107"
                        }
                      ]
                    },
                    {
                      "code": "SEDOL",
                      "type": {
                        "id": "1420",
                        "code": "SEDOL",
                        "name": "Sedol Code"
                      },
                      "values": [
                        {
                          "value": "6889106"
                        }
                      ]
                    }
                  ],
                  "rank": 1,
                  "marketValue": 208250274.9,
                  "marketValueCurrency": "USD",
                  "parCurrency": "USD",
                  "debtType": {},
                  "holdingId": 20241468
                },
                {
                  "name": "SAMSUNG ELECTRONICS CO LTD",
                  "country": "KOREA",
                  "weight": 6.1914,
                  "weightPrevious": 5.5044,
                  "weightChange": 0.687,
                  "type": {
                    "id": "3627",
                    "code": "A2",
                    "name": "Preferred Stock"
                  },
                  "sharesHeld": 3024580.0,
                  "sharesPrevious": 2608085.0,
                  "sharesChange": 416495.0,
                  "crossReferenceCodes": [
                    {
                      "code": "RIC",
                      "type": {
                        "id": "26",
                        "code": "RIC",
                        "name": "RIC"
                      },
                      "values": [
                        {
                          "value": "005935.KS"
                        }
                      ]
                    },
                    {
                      "code": "ISIN",
                      "type": {
                        "id": "1424",
                        "code": "ISIN",
                        "name": "ISIN Code"
                      },
                      "values": [
                        {
                          "value": "KR7005931001"
                        }
                      ]
                    },
                    {
                      "code": "CUSIP",
                      "type": {
                        "id": "4862",
                        "code": "CUSIP",
                        "name": "CUSIP"
                      },
                      "values": [
                        {
                          "value": "Y74718118"
                        }
                      ]
                    },
                    {
                      "code": "SEDOL",
                      "type": {
                        "id": "1420",
                        "code": "SEDOL",
                        "name": "Sedol Code"
                      },
                      "values": [
                        {
                          "value": "6773812"
                        }
                      ]
                    }
                  ],
                  "rank": 2,
                  "marketValue": 136578947.7,
                  "marketValueCurrency": "USD",
                  "parCurrency": "USD",
                  "debtType": {},
                  "holdingId": 20363140
                },
     ..............................
                {
                  "name": "INR CASH",
                  "country": "INDIA",
                  "weight": -0.2096,
                  "type": {
                    "id": "29721",
                    "code": "CA",
                    "name": "Cash"
                  },
                  "sharesHeld": 3.0,
                  "rank": 69,
                  "marketValue": -4624767.31,
                  "marketValueCurrency": "USD",
                  "parAmount": 3.0,
                  "parCurrency": "USD",
                  "debtType": {},
                  "holdingId": 56141416
                }
              ]
            }
          ]
        }
      ],
      "totalRecords": 1,
      "fromIndex": 0,
      "toIndex": 0,
      "pageNumber": 0
    }




Answers

  • @tfleming , Can you provide the list of data points (or detailed description) of "fund and investors data" you want to obtain? A sample will be great. Also what is the scope? e.g. fund and investors to a common stock (i.e. ownership data?). If you are manually getting it "one by one", what is the product/service you are using?
  • Like the attached ownership report, if i want to look at the whole picture like i want to know the trend of all investors that holding CHINA ADR, I need to check on all CHINA ADR stocks one by one.

    1691034888636.png

  • Thanks @tfleming , I see, so it is just ownership data. I am pretty sure Eikon API can do that. If your search this forum with keywords like "ownership", you should see some samples. One of them is:

    https://community.developers.refinitiv.com/questions/44105/instituitional-ownership-over-time.html

    If you have issue to try that, hope some experts here can provide better help.

  • Got it, thanks. The link mainly talking on the institutional investors, how about the info of funds? For example, what stocks are the fund holding.

  • You mean top10 holdings? How about the historical data? Can I get the full list of holdings?

  • You mean top10 holdings? How about the historical data? Can I get the full list of holdings?