frefrik / ark-invest-api

📈 API for tracking holdings and trades of ARK Invest funds
https://arkfunds.io/api
MIT License
58 stars 19 forks source link

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

Open MichaelDeBoey opened 5 months ago

MichaelDeBoey commented 5 months ago

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):

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

CC/ @frefrik @NexVeridian

NexVeridian commented 5 months ago

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 commented 5 months ago

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:

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

MichaelDeBoey commented 2 months ago

@frefrik If you would have some time, can you please tell us your view on this proposal?