Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wondering if there's interest to have a similar repo/API for other fund providers? #280

Open
MichaelDeBoey opened this issue Jun 14, 2024 · 2 comments

Comments

@MichaelDeBoey
Copy link

Since I can't reach you on Twitter/Discord, I thought I'd just open an issue in this repo to ask you what you think about my proposal.

I was thinking about having a similar repo/API (could be multiple repos, can be just 1 🤷‍♂️) that provides at least holdings for the following fund providers (we could add others as well if wanted):

  • Blackrock
  • iShares
  • Vanguard
  • Robeco
  • VanEck
  • Amundi
  • SPDR
  • HSBC
  • Fidelity
  • L&G (Legal & General)
  • Invesco
  • Schroder
  • WisdomTree
  • DWS
  • UBS
  • Xtrackers

Would you be interested in working on this (together)?

CC/ @frefrik @NexVeridian

@NexVeridian
Copy link

Since the etfs don't update that much and are passive, I don't have a need for the data

You could grab the data from the SEC, or get it from csv like ark is

SEC

this one would be the closest
https://github.com/dgunning/edgartools

from edgar import *
from edgar.financials import Financials

set_identity("Name Email")

file = Company(1579982).get_filings(form="NPORT-P").latest(1).obj()

print(file)

but to_dataframe is not implemented

Get the financial data as a pandas dataframe

Each of the financial statements - BalanceSheet, IncomeStatement and CashFlowStatement - have a to_dataframe() method that will return the data as a pandas dataframe.

balance_sheet_df = financials.balance_sheet.to_dataframe()

CSV

I should be pretty easy to add it to here https://github.com/NexVeridian/ark-invest-api-rust-data
Just add the ticker and url here
https://github.com/NexVeridian/ark-invest-api-rust-data/blob/main/src/util/ticker.rs

then normalize the cols with polars
https://github.com/NexVeridian/ark-invest-api-rust-data/blob/558f8439ed57bd0b68b955b5272961f9ea781b0d/src/util/df_format.rs#L138C1-L159C2

then add to the match
https://github.com/NexVeridian/ark-invest-api-rust-data/blob/558f8439ed57bd0b68b955b5272961f9ea781b0d/src/util/df_format.rs#L7-L8

@MichaelDeBoey
Copy link
Author

etfs don't update that much and are passive

@NexVeridian That's not true as the more people buy/sell a share of the ETF, the underlying shares need to be bought/sold extra as well to keep the same ratio as the tracked index has

Example: If you look at the holdings of IWDA and look at the nominal amount of shares of AAPL, you'll see:

  • 29/12/2023: 16.998.642
  • 28/03/2024: 16.899.926
  • 31/05/2024: 17.246.749
  • 13/06/2024: 17.328.343

I agree this is all done passively to stay in line with the tracked index, but the amount of underlying shares are still changing constantly over time
Hence why I still think this can be interesting data

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants