Próbuję znaleźć wszystkie historyczne daty zysków (tylko daty są wystarczające) dla niektórych akcji, począwszy od ich debiutu. I „m planuję użyć go w moim projekcie uczenia maszynowego.
Wydaje się, że Yahoo i Nasdaq wymieniają tylko daty zarobków z ostatnich czterech kwartałów.
Jakieś sugestie?
Dziękuję.
Komentarze
- Baza danych Compustat zawiera te informacje en.wikipedia.org/wiki/Compustat. Jest to produkt komercyjny, a nie darmowy.
Odpowiedź
W programie Excel można użyć formuły BDH terminala Bloomberg. Jeśli przejdziesz przez kreatora, będziesz musiał kliknąć:
Importuj dane -> Historyczne koniec dnia -> Wybierz papiery wartościowe z arkusza kalkulacyjnego -> wybierz „LATEST_ANNOUNCEMENT_DT” -> wybierz daty -> zakończ.
Jeśli nie masz dostępu do terminala Bloomberg, spróbuj zapytać znajomych, czy mają. Wiele bibliotek uniwersyteckich ma taką, podobnie jak większość większych firm finansowych.
Uwaga: nie wiem o innych źródłach, ale dane Bloomberga nie są dokładnie poprawne – nie rozróżniają, czy firma zgłasza przed, w trakcie lub po godzinach targowych. Aby to obejść, zmierzyłbym zmianę ceny w ciągu 2-3 dni wokół zarobków zamiast jednego dnia.
Komentarze
- Dzięki, będę sprawdź, czy uzyskam dostęp do terminala Bloomberg.
Odpowiedz
Jeśli naprawdę nie potrzebujesz czasu raportu o zarobkach, możesz użyć Tradier. https://developer.tradier.com/documentation/markets/fundamentals/get-calendars
Odpowiedź
Yahoo zapewnia świetną alternatywę https://finance.yahoo.com/calendar/earnings?symbol=TD.TO
Komentarze
- Yahoo zostało wyraźnie wymienione jako niezbyt dobra alternatywa. Czy coś się zmieniło?
- Wygląda na to, że przynajmniej teraz w podanym przykładzie TD Yahoo podaje wiele lat, a teraz tylko ostatnie 4 kwartały. Zawiera również sygnaturę czasową.
Odpowiedź
AlphaVantage podaje kwartalne daty publikacji zysków, w tym EPS (rzeczywisty / przewidywany / niespodzianka), patrz https://www.alphavantage.co/documentation/#earnings
Zaletą jest to, że w przeciwieństwie do kalendarza zarobków Yahoo Finance jest czytelny maszynowo ( JSON) i to nic nie kosztuje (trzeba zarejestrować się w celu uzyskania bezpłatnego klucza API).
Odpowiedź
Dodawanie do rozwiązania @Martin, podając kod R (jeśli nie ma się dostępu do terminala Bloomberg), możesz otrzymywać kwartalne dochody z alphavantage API. Jeden ze sposobów zrobienia tego (jako przykład użyto Apple):
library(alphavantager) library(httr) av_api_key(YOUR API KEY HERE) temp <- GET("https://www.alphavantage.co/query? function=EARNINGS&symbol=AAPL&apikey=YOUR API KEY HERE") AAPL_earnings <- content(temp) AAPL_earnings <- t(as.data.frame(AAPL_earnings$quarterlyEarnings))
Który utworzy ramkę danych w postaci:
" Pakiet httr " służy do pobierania strony internetowej w funkcji GET, gdzie " content " usuwa treść strony internetowej, która jest plikiem danych JSON. Bardziej intuicyjnie, możesz również przejść do witryny za pomocą funkcji GET $ \ rightarrow $ kliknij prawym przyciskiem myszy $ \ rightarrow $ " zapisz jako ", a następnie zapisz jako plik JSON, który można załadować do preferowanego języka programowania.
Mimo że jest to stary wątek, opublikuję go tutaj dla osób, które mogą mieć te same problemy.
Komentarze
- Dzięki, szukałem również danych w R. Twój kod działa dobrze, ale myślę, że wyjście mogłoby mieć lepszą strukturę. Oto ' funkcja, którą wymyśliłem: gist.github.com/mgei/f5cd22848d656d47180db7e68b04048e
- Tak, formatowanie danych powinno być inne, jeśli chcesz z tym pracować. Cel odpowiedzi polegało po prostu na podaniu " kodu ", aby zrozumieć, jak aby uzyskać dostęp do API. Brawa dla twojej funkcji, działa ładnie.