DCF-Analysator
Wann diese Skill verwenden
Erstellen Sie eine Discounted-Cashflow-Bewertung (DCF) eines Unternehmens. Verwenden Sie diese, wenn der Benutzer den freien Cashflow (FCF) und die gewichteten durchschnittlichen Kapitalkosten (WACC) des Unternehmens angibt, nach dem inneren Wert des Unternehmens fragt oder nach dem fairen Wert pro Aktie fragt. Nicht verwenden, wenn das Unternehmen ein Finanzinstitut ist.
Eingabe
- FCFF (Free Cash Flow to the Firm) für N Jahre (N = len(FCFF))
- WACC (gewichtete durchschnittliche Kapitalkosten) oder alle seine Komponenten (Eigenkapitalkosten, Fremdkapitalkosten, Steuern, E/V, D/V)
- Terminalwachstumsrate g
- Nettoverschuldung des Unternehmens (NetDebt)
- Anzahl der Aktien (NShares)
Der Benutzer kann die Daten in der Nachricht oder als CSV bereitstellen; die Skill fügt sie in input.json gemäß dem Vertrag zusammen.
Verfahren
- Validieren Sie die Eingabewerte unter Berücksichtigung ihrer Metrik, Werte und Vorzeichen (keine negativen CF, g < WACC).
- Wenn alle Eingaben korrekt sind, konvertieren Sie diejenigen, die dies benötigen (z. B. Prozentangaben in Dezimalzahlen umwandeln: WACC, g, Ke, t...).
- Wenn der WACC nicht angegeben ist (aber seine Komponenten), berechnen Sie ihn.
- Schreiben Sie die Eingaben in ein temporäres JSON, führen Sie
scripts/dcf.py <pfad>über Bash aus, parsen Sie das JSON aus der Standardausgabe. - Erstellen Sie eine Sensitivitätstabelle für WACC und g.
Ausgabe
Geben Sie eine Tabelle mit dem Unternehmenswert, dem Eigenkapitalwert und dem fairen Wert pro Aktie des Unternehmens zurück, gefolgt von der Sensitivitätstabelle. Unterhalb der Tabellen geben Sie einen kurzen Kommentar zu den Ergebnissen.
Grenzfälle
- Wenn g ≥ WACC, geben Sie eine Warnung aus und bitten Sie den Benutzer um einen gültigen Wert.
- Wenn eine Zelle der Sensitivitätstabelle g größer als WACC aufweist, ist der entsprechende fv_share null.
- Wenn alle FCF negativ sind, geben Sie eine Warnung aus und führen Sie keine Berechnung durch.
- Wenn Werte fehlen, fragen Sie den Benutzer, ob diese fehlen und welche Werte stattdessen verwendet werden sollen.
- Jeder andere Fehler während der Berechnung muss eine Warnung ausgeben, die das Problem erklärt.
Vertrag
Die Skill schreibt input.json, die Eingabe für das Python-Skript scripts/dcf.py. Führen Sie es über Bash aus: python scripts/dcf.py input.json.
EINGABE-Schema (Schlüssel):
{
"FCFF": [float, ...],
"WACC": float | null,
"g": float,
"NetDebt": float,
"NShares": float,
"E_V": float | null,
"Ke": float | null,
"D_V": float | null,
"Kd": float | null,
"t": float | null,
"wacc_steps": [float, ...] | null,
"g_steps": [float, ...] | null
}
Verwenden Sie null für fehlende Werte. N wird aus len(FCFF) abgeleitet. Wenn WACC null ist, müssen seine Komponenten (E_V, Ke, D_V, Kd, t) alle angegeben werden.
Das Skript gibt ein JSON-Objekt auf der Standardausgabe aus, das die Skill parst.
AUSGABE-Schema (erfolgreich):
{
"ok": true, "error": null, "field": null,
"enterprise_value": float,
"equity_value": float,
"fair_value_per_share": float,
"sensitivity": [{"wacc": float, "g": float, "fv_share": float | null}, ...]
}
AUSGABE-Schema (Fehler):
{"ok": false, "error": "<nachricht>", "field": "<schlüssel>"}
Referenzen
Verwenden Sie für alle Formeln references/dcf_methodology.md.