Upgrade from Eikon -> Workspace. Learn about programming differences.

For a deeper look into our Eikon Data API, look into:

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

question

Upvotes
Accepted
1 0 0 1

How to get fund portfolio data

I use Eikon in Excel.


1. How can I get a list of all Korean mutual funds? Even though I used the code below, an error occurred and I was unable to obtain data.

=TR("FDS_ALLFUNDS", "RIC,Name", "COUNTRY=South Korea;FUNDTYPE=Mutual Fund")


2. How can I get 10 years of quarterly fund ownership portfolio reports for all the mutual funds I got in the 1st step at once?

The attached Excel file is sample data. Is there a code that can obtain this portfolio data for all Korean mutual funds for 10 years? (quarterly)

eikon-data-apipythonworkspace#technologyfunds
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

· Write an Answer
Upvotes
Accepted
1.7k 3 3 4

Hi @sunyw0502 , I do not think Eikon Excel API can screen for funds (e.g. Active mutual funds domiciled in Korea). My understanding is that, Eikon API/Eikon Excel API for funds only provides funds' data given a set of IDs such as Lipper ID. So, I think your step 1 need to find an alternative solution.

For step 2 (getting historical full holdings data), You can check the Data Item Brower for "TR.FundsHolding...." fields. I can get the holdings data using the RD data API (I guess the Eikon Excel API can also get it), but I only able to get the latest data, not historical data.

If you are not limited to Eikon Excel/Eikon API, you can have both screening and the historical holdings data via the Lipper Funds API. But this is a separate service, not part of the Eikon/Workspace desktop service. It is a REST API returns JSON formatted data that allows both fund screening and getting historical data, including full holdings.

Using your sample fund "Kyobo AXA Power Index Derivatives 1 Class A" (Lipper ID: 65024532), You can get the holdings details like below. Notes only the first 2 stocks data for the latest holdings date (2023-12-31) is shown here. The full details are too long to show here. Also, historical holdings data is available in Lipper Funds API.

      "id": "65024532",
      "holdings": [
        {
          "date": "2023-12-31",
          "securitiesHeldCount": 211,
          "constituents": [
            {
              "name": "SAMSUNG ELECTRONICS CO LTD ORD",
              "country": "KOREA",
              "weight": 29.3839,
              "weightPrevious": 26.598,
              "weightChange": 2.7859,
              "type": {
                "id": "3617",
                "code": "A1",
                "name": "Common Shares"
              },
              "sharesHeld": 3639903.0,
              "sharesPrevious": 3781739.0,
              "sharesChange": -141836.0,
              "crossReferenceCodes": [
                {
                  "code": "RIC",
                  "type": {
                    "id": "26",
                    "code": "RIC",
                    "name": "RIC"
                  },
                  "values": [
                    {
                      "value": "005930.KS"
                    }
                  ]
                },
                {
                  "code": "ISIN",
                  "type": {
                    "id": "1424",
                    "code": "ISIN",
                    "name": "ISIN Code"
                  },
                  "values": [
                    {
                      "value": "KR7005930003"
                    }
                  ]
                },
                {
                  "code": "CUSIP",
                  "type": {
                    "id": "4862",
                    "code": "CUSIP",
                    "name": "CUSIP"
                  },
                  "values": [
                    {
                      "value": "Y74718100"
                    }
                  ]
                },
                {
                  "code": "SEDOL",
                  "type": {
                    "id": "1420",
                    "code": "SEDOL",
                    "name": "Sedol Code"
                  },
                  "values": [
                    {
                      "value": "6771720"
                    }
                  ]
                }
              ],
              "rank": 1,
              "marketValue": 285732000000.0,
              "marketValueCurrency": "KRW",
              "parCurrency": "KRW",
              "debtType": {},
              "holdingId": 30473089
            },
            {
              "name": "SK HYNIX INC ORD",
              "country": "KOREA",
              "weight": 5.9406,
              "weightPrevious": 5.2389,
              "weightChange": 0.7017,
              "type": {
                "id": "3617",
                "code": "A1",
                "name": "Common Shares"
              },
              "sharesHeld": 408249.0,
              "sharesPrevious": 444199.0,
              "sharesChange": -35950.0,
              "crossReferenceCodes": [
                {
                  "code": "RIC",
                  "type": {
                    "id": "26",
                    "code": "RIC",
                    "name": "RIC"
                  },
                  "values": [
                    {
                      "value": "000660.KS"
                    }
                  ]
                },
                {
                  "code": "ISIN",
                  "type": {
                    "id": "1424",
                    "code": "ISIN",
                    "name": "ISIN Code"
                  },
                  "values": [
                    {
                      "value": "KR7000660001"
                    }
                  ]
                },
                {
                  "code": "CUSIP",
                  "type": {
                    "id": "4862",
                    "code": "CUSIP",
                    "name": "CUSIP"
                  },
                  "values": [
                    {
                      "value": "Y8085F100"
                    }
                  ]
                },
                {
                  "code": "SEDOL",
                  "type": {
                    "id": "1420",
                    "code": "SEDOL",
                    "name": "Sedol Code"
                  },
                  "values": [
                    {
                      "value": "6450267"
                    }
                  ]
                }
              ],
              "rank": 2,
              "marketValue": 57767233500.0,
              "marketValueCurrency": "KRW",
              "parCurrency": "KRW",
              "debtType": {},
              "holdingId": 20363946
            },
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Then, when there is a RIC list for public companies, is it possible to download all companies' data at once by setting location to south korea, type to mutual fund, and scaling to million in the fund ownership shareholder report option as shown in the attached photo? (about the last 40 quarters)

kakaotalk-20240709-084634148.jpg

I am curious whether it is possible to download the above ownership data for all companies on the RIC list (e.g. 500 companies) at once and what the code would be.


The attached PDF is an example of data from a specific company.

020150.KS Shareholders Report (3) (1).pdf

If it is not about API programming, but some download functions, it is better to ask the customer support or the account manager serving you. I personally doubt it is feasible via the Eikon/Workspace desktop application because the amount of data is huge.

Your initial request is from funds’ holdings perspective, so the scope is all funds domiciled in Korea. Then your 2-step approach initially described should be used. I think it is not hard for step 1 as you can get that list as a once-off effort manually, say using the FSCREEN app in Eikon/Workspace. But step 2 requires a separate API service as I described if you have to get the historical data rather than latest snapshot only. This “fund holdings data is sourced from fund companies’ quarterly holdings report, i.e., Lipper data). Notes, that approach will miss holdings of the company by foreign funds, such as funds dominated in US.

Your second approach is getting the company reported ownership data instead (from company annual/semi-annual reports) rather than fund companies’ reports. This is not a “Lipper data set”. So, I hope some experts on these company ownership data can help as I am not familiar with these data set.

The second approach may not have quarterly data as you described as my understanding is public companies only reports "ownership" annually in annual reports. I am not 100% sure.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.