EDGAR-Tools: Ein Python-Paket zum Abrufen von SEC-Filings
Heute stellen wir dir die beste Python EDGAR-Bibliothek vor, die wir je gesehen haben! Wir haben im letzten Jahr viele EDGAR-Bibliotheken getestet, und keine von ihnen hat unsere Anforderungen erfüllt.
Die Bibliotheken hatten oft einen geringen Funktionsumfang oder haben nicht richtig funktioniert. Darüber hinaus waren die Bibliotheken oft schlecht dokumentiert. In diesem Artikel zeigen wir dir eine Python Bibliothek, die uns wirklich überzeugt hat!
Vielleicht fragst du dich, was EDGAR überhaupt ist. EDGAR steht für Electronic Data Gathering, Analysis, and Retrieval (Elektronische Datenerfassung, -analyse und -abruf) und ist eine Datenbank für gesetzlich vorgeschriebene Berichte aller meldepflichtigen Unternehmen. Die United States Securities and Exchange Commission (SEC) verwaltet diese Datenbank. Außerdem werden die eingereichten Berichte als SEC-Filings bezeichnet.
In diesem Artikel schauen wir uns das Python-Paket edgartools genauer an. Es ist eine sehr gut strukturierte EDGAR-Bibliothek. Wir haben die Bibliothek getestet, und waren beeindruckt vom Funktionsumfang. Darüber hinaus ist sie sehr leistungsfähig und einfach zu benutzen.
Und das Beste: Du brauchst keinen API Key von der SEC. Mit diesem Paket kannst du jede Einreichung seit 1994 filtern, abfragen und auswählen. Außerdem kannst du dir die html-, xml- und Textdateien der Filings anzeigen lassen.
So kannst du zum Beispiel die aktuelle Bilanz von Tesla mit zwei Zeilen Code abrufen:
Sehr einfach und komfortabel, oder?
In diesem Tutorial zeigen wir dir Schritt für Schritt, wie du das Python Paket verwenden kannst. Von der initialen Einrichtung bis hin zu anschaulichen Praxis-Beispielen. Nach diesem Tutorial musst du dich nicht mehr stundenlang durch die SEC-Webseite klicken, um dir die einzelnen SEC-Filings herauszusuchen.
Initiales Setup
In diesem Abschnitt besprechen wir alles, was du zum Einsatz des Python-Pakets benötigst.
Du benötigst die folgenden Voraussetzungen:
Installiertes Python (Opens in a new window), conda und pip
Zugang zu einer Bash (macOS, Linux oder Windows)
Code-Editor deiner Wahl (Wir verwenden meistens VSCode (Opens in a new window).)
Gib folgendes in dein Terminal ein:
Erstelle eine conda-Umgebung (env):
conda create -n edgar python=3.9.12
-> Beantworte die Frage Proceed ([y]/n)? mit y.Aktiviere die conda-Umgebung mit folgendem Terminal Befehl:
conda activate edgar
Installiere das Python-Paket edgartools (Opens in a new window), indem du folgenden Befehl in dein Terminal eingibst:
pip install edgartools
Super, wir haben das Python-Paket erfolgreich installiert. Als nächstes müssen wir die Edgar User Identity festlegen. Das kannst du auf verschiedene Weise tun.
Zum Beispiel in deinem Terminal:
# Linux/ Mac
export EDGAR_IDENTITY="FirstName LastName youremail@domain.com"
# Windows
set EDGAR_IDENTITY="FirstName LastName youremail@domain.com"
Oder du machst es direkt in deinem Python-Skript:
from edgar import set_identity
set_identity("FirstName LastName youremail@domain.com")
Ersetze die Platzhalter durch deine Informationen. Großartig, wir haben alles eingerichtet.
Lass uns loslegen!
Arbeiten mit der Company-API
Zunächst brauchen wir ein Unternehmen, das wir analysieren wollen. In diesem Artikel nutzen wir die Tesla-Aktie mit dem Ticker “TSLA”. Das Paket unterstützt den Ticker und den Central Index Key (CIK), um ein company Objekt zu erstellen.
company = Company("TSLA")
# or
company = Company("0001318605")
Wenn du die CIK für ein bestimmtes Unternehmen nicht kennst, dann kannst du sie auf der CIK-Lookup-Webseite (Opens in a new window) der SEC nachschlagen.
Balance Sheet eines Unternehmens
Du kannst die aktuelle Bilanz von Tesla mit folgendem Python-Code abfragen:
company.financials.balance_sheet
Im Folgenden siehst du die Ausgabe des Codes:
Die Bilanz ist ein wichtiges Instrument zur Analyse eines Unternehmens. Sie enthält verschiedene finanzielle Fakten über ein Unternehmen. In der Bilanz werden die Aktiva, Passiva und das Eigenkapital eines Unternehmens zu einem bestimmten Zeitpunkt aufgeführt.
Eine Bilanz besteht in der Regel aus zwei Spalten. In der ersten Spalte sind die Aktiva des Unternehmens aufgeführt. Die zweite Spalte enthält die Verbindlichkeiten und das Eigenkapital des Eigentümers oder der Eigentümer.
Cashflow Statement eines Unternehmens
In diesem Abschnitt betrachten wir das Cashflow Statement von Tesla:
company.financials.cash_flow_statement
Im Folgenden kannst du die Ausgabe des Codes sehen:
Das Cashflow Statement gibt Auskunft über die Mittelzuflüsse und -abflüsse eines Unternehmens. Wir können beispielsweise den Jahresüberschuss und einige andere Punkte sehen.
Der Netto-Cashflow aus betrieblicher Tätigkeit (operatives Geschäft) stellt den Cashflow aus dem Kerngeschäft von Tesla dar und ist der Kern des Cashflow Statements. Es stellt die Zuflüsse und Abflüsse der laufenden Geschäftstätigkeit dar. Einen positiven Cashflow aus laufender Geschäftstätigkeit kann ein Unternehmen zur Rückzahlung von Krediten oder für neue Investitionen verwenden. Ein negativer Cashflow muss durch Kredite gedeckt werden. (vgl. [1])
Der Cashflow aus Investing Activities gibt Investitionen an, wie z. B. Mittelabflüsse für Gebäude, Maschinen oder Grundstücke. (vgl. [1])
Der Cashflow aus der Financing Activities betrachtet die Finanzierungstätigkeit eines Unternehmens. Er ist negativ, wenn Verbindlichkeiten getilgt, Dividenden ausgeschüttet oder Aktien zurückgekauft werden. (vgl. [1])
SEC Filings
In diesem Abschnitt erfährst du, wie du auf die SEC-Filings von Unternehmen zugreifen kannst.
10-Q Formular
Börsennotierte Unternehmen in den USA müssen jedes Quartal das Formular 10-Q der SEC veröffentlichen. Dabei handelt es sich um einen Zwischenbericht, der als Information für Investoren und Interessengruppen dienen soll.
In den ersten drei Quartalen veröffentlicht ein Unternehmen das 10-Q-Formular, und im vierten Quartal wird es durch das 10-K-Formular (Jahresbericht) ersetzt.
Der Quartalsbericht und das Formular 10-Q sind nicht unbedingt dasselbe Dokument. Das Formular 10-Q ist formell und eher für Fachleute geeignet. Der Quartalsbericht hingegen ist für die Öffentlichkeit bestimmt. (vgl. [2])
Du kannst das letzte 10-Q-Formular von Tesla mit der folgenden Code-Zeile anfordern:
company.get_filings(form="10-Q")[0].html()
Die Funktion gibt den HTML-Inhalt des 10-Q-Formulars zurück.
10-K Formular
Börsennotierte US-Unternehmen müssen das 10-K-Formular als Jahresabschluss für ein Geschäftsjahr bei der SEC einreichen. Das 10-K-Formular ist ein wichtiges Dokument für Anleger, da es umfassende Informationen über die aktuelle Lage des Unternehmens liefert.
Das Dokument enthält eine ausführliche Beschreibung des Unternehmens und seiner Geschäftsaktivitäten, der damit verbundenen Risiken und rechtlichen Fragen sowie eine detaillierte Auflistung der Betriebs- und Finanzergebnisse. Darüber hinaus kommentiert das Management die Ergebnisse und die Entwicklung der Geschäftsbereiche in einem Brief an die Investoren. (vgl. [3])
Du kannst das aktuelle 10-K-Formular von Tesla mit dem folgenden Code anfordern:
company.get_filings(form="10-K")[0].html()
Die Funktion gibt den HTML-Inhalt des 10-K-Formulars zurück. Du siehst, dass wir in der Funktion get_filings()
nur den Formulartyp geändert haben.
8-K Formular
Das Formular 8-K ist ein Bericht, den Unternehmen veröffentlichen müssen, wenn unvorhergesehene Ereignisse eintreten. Außerdem können die Informationen für die Anleger von Interesse sein, da sie den Aktienkurs beeinflussen könnten. Häufige Gründe für ein 8-K-Formular sind die Übernahmen anderer Unternehmen, Änderungen im Management oder ein möglicher Insolvenzantrag. (vgl. [4])
Das aktuelle 8-K-Formular von Tesla erhältst du mit dem folgenden Code:
company.get_filings(form="8-K")[0].html()
Die Funktion gibt den HTML-Inhalt des 8-K-Formulars zurück.
13F-HR Formular
Institutionelle Anleger mit einem Vermögen von mehr als 100 Millionen Dollar müssen das Formular 13F-HR vierteljährlich bei der SEC einreichen. Darin berichten sie über Investitionen und Beteiligungen, die sie derzeit besitzen. Ziel des 13F-HR-Formulars ist es, die Transparenz für andere Marktteilnehmer zu erhöhen (vgl. [5]). Auf diese Weise informiert das Formular die Öffentlichkeit über die Investitionen der größten Investoren in den USA.
Das Formular enthält die aktuellen Investment-Positionen des Investors. Der Zeitpunkt des Kaufs und Verkaufs einer Aktie muss im Formular allerdings nicht veröffentlicht werden. Es ist also nicht ersichtlich, zu welchem Zeitpunkt der Investor gekauft oder verkauft hat.
Ein weiterer Nachteil ist, dass das Formular erst 45 Tage nach Ende des Quartals eingereicht werden muss. Große Manager/ Investoren reichen das Formular meist sehr spät ein. Die Öffentlichkeit wird also erst mit großer Verzögerung informiert. Das Geld der großen Manager/ Investoren ist dann bereits mehrere Monate lang investiert oder abgezogen.
Du erhältst das letzte 13F-HR-Formular (Berkshire Hathaway Inc.) mit dem folgenden Code:
company = Company("BRK-A")
company.get_filings(form="13F-HR")[0].html()
Die Funktion liefert den HTML-Inhalt des letzten 13F-HR-Formulars (Berkshire Hathaway Inc.) zurück.
Fazit
In diesem Artikel haben wir dir das Python-Paket edgartools vorgestellt. Es ist sehr umfangreich und bietet dir Zugang zu den wichtigsten SEC-Filings. Du kannst jedes Filing seit 1994 sehr einfach mithilfe von Python abfragen.
Und das Beste: Du brauchst keinen SEC API Key. Du musst nur deine Edgar User Identity festlegen. Dieses Python-Paket ist leistungsstark, einfach zu bedienen und sehr gut strukturiert.
Probiere es gleich aus! Es lohnt sich!
Dir gefällt unser Content und wir konnten dir weiterhelfen? Dann unterstütze uns doch, indem du unsere Artikel mit anderen teilst. Du kannst uns auch gerne auf X (Opens in a new window) folgen. Vielen Dank für deine Unterstützung! 🙏🏽🙏🏽
Referenzen
[1] Cash Flow Statement — Definition & Berechnung (Opens in a new window) (Zugegriffen am 11.03.2023)
[2] Form 10-Q SEC Report — Erklärung & Beispiel (Opens in a new window) (Zugegriffen am 11.03.2023)
[3] Form 10-K SEC Filing — Definition & Erklärung (Opens in a new window) (Zugegriffen am 11.03.2023)
[4] Form 8-K SEC Filing — Definition & Erklärung (Opens in a new window) (Zugegriffen am 11.03.2023)
[5] Form 13F SEC Report — Erklärung & Beispiel (Opens in a new window) (Zugegriffen am 11.03.2023)
Disclaimer (Opens in a new window): Keine Haftung für Richtigkeit der Inhalte, Werbung durch Namensnennung, keine Anlageempfehlung, keine Rechtsberatung und keine Steuerberatung.