Eine Watchlist ist keine Kaufliste. Sie ist ein Arbeitsvorrat: Unternehmen, die grundsätzlich interessant sind, aber noch nicht automatisch zum bestehenden Depot, zur aktuellen Marktlage oder zum geplanten Einstiegszeitpunkt passen. Genau an dieser Stelle soll der Trading-Agent helfen. Er ersetzt keine Entscheidung, sondern macht nachvollziehbar, welche Kandidaten zuerst geprüft werden sollten – und warum.

Der Beitrag Trading-Agent: Architektur, Datenbasis und Investmententscheidungen beschreibt die technische Grundlage. Dieser zweite Teil betrachtet die praktische Frage: Wie wird aus einer Liste von beobachteten Wertpapieren eine begründete Entscheidung für das bestehende Depot?
Der Trading-Ansatz: Zeithorizont, Metriken und Risikorahmen
Der Trading-Agent folgt keinem kurzfristigen Daytrading-Ansatz und versucht nicht, die nächste Kursbewegung vorherzusagen. Er soll Entscheidungen für einen Swing-Horizont von ungefähr drei bis sechs Monaten vorbereiten. Das Depot bleibt dabei zweigeteilt: Langfristige ETFs bilden mit rund 60 bis 70 % den Kern; einzelne Aktien und Swing-Positionen mit rund 30 bis 40 % sind der aktiv gesteuerte Teil. Ein neuer Kandidat muss deshalb nicht nur für sich interessant sein, sondern auch zu dieser bestehenden Struktur passen.
Im Dreijahreszeitraum bis zum 21. September 2026 erzielte das Depot eine TTWROR (Time-Weighted Rate of Return) von rund 229 %. Diese kapitalflussbereinigte Kennzahl trennt die Anlageleistung von Ein- und Auszahlungen. Sie beschreibt die historische Entwicklung des Depots und ist keine Prognose oder ein Nachweis, dass der Agent diese Rendite erzeugt hat. Die Rendite entstand nicht ausschließlich aus Buy-and-Hold: Bei Zielerreichung wurden Positionen teilweise veräußert, Gewinne realisiert und das freie Kapital nach erneuter Prüfung in neue Setups reinvestiert. In den Restpositionen bestehen weiterhin offene Kursgewinne und Kursrisiken.
Die aktuelle Entry-Prüfung beginnt bewusst mit Daten, die im System belastbar verfügbar sind: Kurs, Trend und Momentum sowie Portfolio- und Liquiditätsgrenzen. Verifizierte Fundamentaldaten wie Umsatz, EPS, Free Cashflow, Verschuldung und operative Margen ergänzen die Einordnung, sind aber noch kein eigenständiges automatisches Entry-Gate. Analysten-Revisionen, Ratings, Kursziele, Events und News sind im Schema vorgesehen, werden derzeit jedoch noch nicht befüllt. Sie gehören deshalb nicht zum aktiven Entscheidungsgate.
Zum aktuell implementierten Risikorahmen gehören feste Kapitallimits: höchstens 20 % je Wertpapier, höchstens 10 % für einen Ersteinstieg, maximal 40 % Swing-Anteil sowie eine Cash-Reserve von 10.000 Euro. Liegt der Swing-Anteil bereits über der Grenze, verhindert der Guardrail neue Swing-Einstiege; er löst aber keinen automatischen Verkauf aus. Für bestehende Swing-Positionen gilt als Leitplanke: bei ungefähr +20 % wird ein Viertel der ursprünglichen Position realisiert, bei rund +25 % weitere 50 %. Der verbleibende Runner wird über die technische Lage mit SMA50 und SMA200 geprüft. Das sind Empfehlungen und keine automatischen Handelsregeln.
So ist der Ablauf konkret umgesetzt
Der Prozess beginnt nicht im Chat, sondern in der Datenbank. Ein Parqet-Export wird mit Python importiert und normalisiert. Jede Transaktion bleibt als eigene Buchung in transactions erhalten; daraus werden die aktuellen Bestände in positions berechnet. Käufe, Teilverkäufe und Gewinnmitnahmen überschreiben damit niemals die Historie. Die Watchlist läuft getrennt davon: Ein Kandidat kann beobachtet werden, ohne bereits im Depot zu liegen.
Für jedes Wertpapier bildet eine security_id die verbindliche Identität. Sie verknüpft ISIN, Börse, Währung und die je Datenquelle benötigten Symbole. Python-Skripte aktualisieren Kursverlauf und aktuelle Marktsnapshots inkrementell in SQLite. Fundamentaldaten folgen einem eigenen Workflow: Das lokale Sprachmodell liest offizielle Investor-Relations-Quellen, liefert strukturierte Kandidaten; Python prüft Perioden, Einheiten, Plausibilität und Quellenbezug, bevor valide Werte mit Audit-Protokoll in fundamentals geschrieben werden.
Bei einer konkreten Frage in OpenWebUI ruft der Agent gezielt aktuelle Positionen, Transaktionshistorie, Kursdaten, technische Kennzahlen, verfügbaren Fundamentalkontext und die Portfolio-Grenzen ab. Die Orchestrierung bündelt diese rein lesenden Prüfungen zu einer begründeten Empfehlung. Die Tabellen decisions und analysis_history sind zwar bereits im Schema angelegt, werden in Version 0.1 aber noch nicht beschrieben. Eine dauerhafte, maschinenlesbare Entscheidungshistorie ist damit ein nächster Ausbauschritt – keine bereits vorhandene Funktion.
Automatisiert sind Import, Normalisierung, Validierung und Speicherung; ein vollständiger zeitgesteuerter Scheduler für alle Datenquellen ist noch nicht umgesetzt. Die Datenupdates werden daher gezielt angestoßen und inkrementell fortgeschrieben. Fehlen aktuelle oder eindeutig zuordenbare Informationen, führt das zu INSUFFICIENT_DATA oder DEFERRED statt zu einer scheinbar präzisen Einschätzung. Der Agent erzeugt keine Order und ändert keine Position selbst; er bereitet ein überprüfbares Setup mit Entry, Invalidierung, Stop-Loss und Kurszielen vor.
Ein Durchlauf: von der Frage zur überprüfbaren Empfehlung
Ein konkreter Durchlauf beginnt etwa mit der Frage: „Soll dieser Watchlist-Kandidat jetzt in das Depot aufgenommen werden?“ Zuerst löst der Datenlayer den Namen in eine eindeutige security_id auf. Stimmen ISIN, Börse, Währung und Provider-Symbol nicht zweifelsfrei zusammen, endet der Vorgang mit INSUFFICIENT_DATA – nicht mit einer geratenen Analyse. Eine Watchlist-Zeile allein reicht außerdem nicht für eine Kaufprüfung: Der Wert muss ausdrücklich als Swing-Strategie zugewiesen sein.
Im zweiten Schritt liest das Tool den Depotkontext aus: bestehende Positionen, ihre Gewichte, den Swing-Anteil, verfügbare Liquidität und laufende Swing-Kampagnen. Parallel kommen aus market_snapshot und market_data der aktuelle Kurs, SMA50, SMA200 und Momentum; aus fundamentals gegebenenfalls verifizierte Geschäftskennzahlen. Analysten-Revisionen, Ratings, Kursziele, Events und News werden im aktuellen Stand nicht als Datenquelle verwendet, weil diese Tabellen noch leer sind. So wird aus einer Aktienfrage eine überprüfbare Empfehlung – nicht bloß eine Einschätzung zum Unternehmen.
Für einen BUY-Vorschlag müssen zusätzlich eine explizite Swing-Zuweisung, eine Nullposition, keine offene Swing-Kampagne, ein vollständiger Portfolio-Kontext sowie ein EUR-bewertbarer Kurs vorliegen. Der technische Filter verlangt: Kurs über SMA50 und SMA200 sowie SMA50 über SMA200. Selbst dann kann ein Guardrail den Einstieg blockieren – etwa weil der Swing-Anteil bereits sein Limit erreicht hat oder die Cash-Reserve unterschritten würde. Eine allgemeine WATCH-Liste erzeugt also bewusst kein BUY-Signal.
Die Positionsgröße wird aus den aktiven Kapitalgrenzen berechnet: maßgeblich sind die 10 %-Grenze für den Ersteinstieg, die 20 %-Grenze je Wertpapier, die 40 %-Grenze für Swing-Positionen, freie Liquidität und die Cash-Reserve. Das Ergebnis ist eine reine Empfehlung; es erzeugt weder eine Order noch eine Transaktion oder eine Swing-Kampagne. Erst eine manuell ausgeführte und importierte Transaktion macht aus der Empfehlung eine Position. Danach kann der bestehende Swing-Lifecycle TP1, TP2 und den Runner bewerten.
Der Durchlauf ist durch seinen Stichtag und die verwendeten Daten reproduzierbar, wird aber derzeit noch nicht als Entscheidung in decisions oder analysis_history gespeichert. Diese Tabellen sind für die spätere Entscheidungshistorie vorbereitet. Bis sie angebunden sind, wird jede neue Prüfung erneut aus dem aktuellen, nachvollziehbaren Datenbestand berechnet.
Die Watchlist ist ein Filter, kein Kaufauftrag
Auf einer Watchlist können sehr unterschiedliche Unternehmen landen: ein Qualitätswert nach einem Rücksetzer, ein möglicher Turnaround, ein Titel vor einem wichtigen Ereignis oder ein Unternehmen, das erst bei einer attraktiveren Bewertung interessant wird. Das gemeinsame Merkmal ist nur: Der Wert verdient Aufmerksamkeit.
Ob daraus jemals ein Kaufkandidat wird, hängt jedoch von mehr ab als von der Qualität des einzelnen Unternehmens. Im aktuellen System muss ein Watchlist-Wert zuerst ausdrücklich einer Strategie zugewiesen werden. Erst eine Swing-Zuweisung macht einen Wert für die Entry-Prüfung relevant; ein allgemeiner WATCH-Status bleibt reine Beobachtung. Ein starkes Unternehmen kann außerdem zu teuer sein, das Depot weiter konzentrieren oder an einer Kapitalgrenze scheitern.
Zuerst muss die Datenbasis stimmen
Bevor ein Kandidat bewertet wird, prüft der Datenlayer seine eindeutige Zuordnung und die Aktualität der verfügbaren Informationen. Symbol, Handelsplatz, Währung und Wertpapierkennung müssen zusammenpassen. Der aktive Datenkontext umfasst Kursverlauf, Marktsnapshot und – soweit verifiziert vorhanden – Fundamentaldaten. Analystenschätzungen, Ratings, Kursziele, Termine und Nachrichten sind im Datenmodell vorgesehen, werden in Version 0.1 aber noch nicht befüllt.
Diese Reihenfolge ist wichtig. Ein Ranking wirkt nur dann plausibel, wenn es auf den richtigen Daten beruht. Ein falsches Provider-Symbol oder veraltete Kurse können eine Analyse stärker verfälschen als jede Formulierung im Prompt.
Ein Ranking ordnet die Prüfung, es entscheidet nicht
Das Watchlist-Ranking ist derzeit kein Kaufmechanismus und kein starres Punktesystem. Es ordnet die Beobachtungsliste für die weitere Prüfung. Für eine echte Entry-Empfehlung gelten anschließend die strengeren Voraussetzungen der Swing-Zuweisung, des technischen Filters und der Portfolio-Guardrails. Damit wird aus einer guten Beobachtung nicht voreilig ein Trade.
Dafür können mehrere Signale zusammenkommen:
- Trend und Momentum: Entwickelt sich der Kurs konstruktiv oder fällt er weiter?
- Bewertung: Lassen Multiples und Wachstumserwartung noch ein angemessenes Chance-Risiko-Verhältnis zu?
- Fundamentale Entwicklung: Bestätigen Umsatz, EPS, Free Cashflow und Guidance die Investmentthese?
- Fundamentaldaten: Liegen verifizierte Kennzahlen wie Umsatz, EPS oder Free Cashflow vor und stützen sie die manuelle Investmentthese?
- Datenqualität: Reichen die Informationen aus, um eine belastbare Einschätzung abzugeben?
Ein hohes Ranking bedeutet daher nicht „kaufen“. Es bedeutet: Dieser Wert sollte im nächsten Schritt genauer geprüft werden. Ein niedriger Rang kann ebenso sinnvoll sein, etwa wenn ein gutes Unternehmen vorerst auf einen besseren Einstieg wartet oder die Datenaktualität nicht ausreicht.
Der Portfolio-Fit verändert die Antwort
Die entscheidende Frage lautet nicht nur: „Ist dieses Unternehmen interessant?“ Sondern auch: „Ist es jetzt die passende Ergänzung für dieses Depot?“
Ein Depot kann beispielsweise bereits ein hohes Sektor-, Regionen- oder Faktor-Exposure haben. Ein weiterer guter Titel aus demselben Bereich erhöht dann nicht nur das Renditepotenzial, sondern auch das Klumpenrisiko. Der Agent berücksichtigt deshalb neben dem einzelnen Wert auch Positionsgewicht, Sektorzuordnung, Faktor-Exposure und mögliche Korrelationen.
So kann ein Kandidat mit überzeugenden Fundamentaldaten trotzdem den Status WATCH behalten, während ein weniger offensichtlicher Wert als Ergänzung sinnvoller erscheint. Das ist keine Abwertung des Unternehmens, sondern eine Entscheidung im Kontext.
Klare Zustände statt vager Empfehlungen
Für die Einordnung verwendet der Workflow klar abgegrenzte Arbeitsstatus. In Version 0.1 sind sie Ergebnis einer aktuellen Auswertung, noch keine dauerhaft gespeicherte Entscheidungshistorie:
- WATCH: grundsätzlich interessant, aber Einstieg oder Datenlage noch nicht überzeugend.
- CANDIDATE: die Voraussetzungen verdichten sich; eine konkrete Prüfung ist sinnvoll.
- BUY: Daten, Einstieg und Portfolio-Fit sprechen für eine definierte Position.
- DEFERRED: der Kandidat ist nicht verworfen, aber ein Ereignis oder eine offene Information sollte abgewartet werden.
- AVOID: Risiko, Bewertung oder Portfolio-Fit sprechen aktuell dagegen.
- INSUFFICIENT_DATA: die Datenbasis reicht nicht für eine verantwortbare Bewertung.
Der Vorteil liegt in der Begründung der aktuellen Auswertung: Was spricht dafür? Was begrenzt die Positionsgröße? Welche technische oder Portfolio-Bedingung verhindert einen Einstieg? Die dauerhafte Speicherung dieser Begründungen ist als nächster Ausbauschritt vorgesehen.
Positionsgröße und Zeitpunkt gehören zur Entscheidung
Ein überzeugender Kandidat wird im aktuellen Stand zunächst nur als begrenzter Ersteinstieg berechnet. Die Positionsgröße darf weder 10 % des Portfoliowerts beim Einstieg noch 20 % je Wertpapier überschreiten; außerdem gelten Swing-Limit und Cash-Reserve. Ein automatischer Nachkauf ist nicht implementiert. Ein weiterer Ausbau bleibt eine neue, manuell zu prüfende Entscheidung.
Zur Entscheidung gehören deshalb auch drei Fragen, die der Agent ausdrücklich machen soll: Wie groß darf die Position im Verhältnis zum Depot sein? Welches Risiko wird akzeptiert? Und woran würde man erkennen, dass die ursprüngliche These nicht mehr gilt?
Für bestehende Swing-Positionen nutzt der aktuelle Lifecycle feste Teilgewinnregeln: TP1 (Take Profit 1) realisiert 25 % der ursprünglichen Stückzahl, TP2 insgesamt 75 %. Die verbleibende Restposition wird nicht über eine feste Haltedauer gesteuert, sondern anhand der technischen Lage mit SMA50 und SMA200 erneut beurteilt. Ein automatischer Broker-Stop wird dabei nicht gesetzt; die Ausgabe bleibt eine Entscheidungsvorlage.
Teilgewinnmitnahmen sind Teil desselben Rahmens. Sie bedeuten nicht, dass ein Unternehmen plötzlich unattraktiv geworden ist. Sie reduzieren das Positionsrisiko, setzen Liquidität für andere Setups frei und lassen zugleich Raum für eine weiterlaufende Restposition. TP1 und TP2 sind dabei vorab definierte Orientierungsmarken, keine Garantie für den Kursverlauf und keine automatische Handelsanweisung.
Entscheidungen bleiben überprüfbar
Die Datenbasis bleibt überprüfbar: Transaktionen, Positionen, Kursreihen, Marktsnapshots und vorhandene Fundamentaldaten lassen sich zu einem Stichtag erneut auswerten. Eine eigene, dauerhafte Historie der Agentenentscheidungen existiert in Version 0.1 jedoch noch nicht.
Das verhindert zumindest, dass Bestände oder Kursdaten aus einer alten Chat-Antwort zur vermeintlichen Wahrheit werden. Für eine vollständige Wiederholbarkeit von Investmentthesen fehlt noch die Anbindung von decisions und analysis_history. Bis dahin bleibt die Datenbank das überprüfbare Arbeitsgedächtnis für Fakten – nicht für bereits gefällte Empfehlungen.
Fazit
Der Trading-Agent soll nicht vorhersagen, welche Aktie morgen steigt. Seine Aufgabe ist es, aus Watchlist, Datenlage und Portfolio-Kontext eine saubere Reihenfolge für die nächste Prüfung abzuleiten. Er zeigt, warum ein Kandidat interessant ist, welche Risiken dagegen sprechen und welche Informationen noch fehlen. Der Beitrag beschreibt einen persönlichen, regelbasierten Workflow und keine Anlageberatung.
Die Entscheidung über Kauf, Verkauf, Positionsgröße und Zeitpunkt bleibt beim Menschen. Genau diese Trennung macht den Agenten hilfreich: Er liefert Struktur und Nachvollziehbarkeit, ohne aus einer Analyse einen Autopiloten zu machen.
