Leerverkauf/Deckungskauf

Ich habe es versucht nachzustellen, und es scheint mir alles richtig. Wenn du (wie in keinem deiner Beispiele) einfach die Aktie ausliefern würdest, ohne etwas auf dem Konto zu machen, ist die Wertentwicklung identisch mit dem umgekehrten Fall (dein Account 1). Siehe dazu auch Monatsrendite in Heatmap negativ, obwohl real positiv - #13 by Shareholder und die folgenden Beiträge. Wenn du unterschiedlich viel Geld auf das Konto legst (deine Accounts 2 und 3), entsteht ein unterschiedlich starker Hebel. Bei doppelt so viel Geld, wie der Leerverkauf einbringt (d.h. eigentlich einmal so viel Geld plus der Leerverkaufserlös), ist der Hebel auf die Kursentwicklung gerade –1.

Dein letztes Bild ist nicht ganz nachzuvollziehen, weil die Konten bei den Buchungen verdeckt sind; aber du bist per Saldo nicht neutral, sondern hast eine Aktie gekauft und zwei verkauft. Somit ist es logisch, dass das Gesamtvermögen auch schwankt.

Hallo, danke chirlu für die Antwort! Der verlinkte Post hat mir geholfen die Logik zu verstehen.

Mit diesem alten Github-PR hat sich auch meine Frage zu einem Problem bei der Vermögensaufstellung „Bestände“ gelöst, der bei Shorts/Kredit >100% Vermögen anzeigt:

Es wäre zu überlegen den Pie Chart so zu verändern: 1) Entweder wie im Github post - jedoch ohne die Short-Klasse einzuführen oder 2) den Anteil vom Referenzkonto den man braucht um den short/Schulden zu decken vom Referenzkonto abzuziehen und als neue Position erscheinen zu lassen. Das könnte Probleme geben, wenn der Short nicht gedeckt ist, aber dann bekommt man ohnehin einen Margin call.

Vermute der Code für die Funktion ist in Java geschrieben - mit Python oder R könnte ich helfen eine Funktionalität zu ändern oder modifizieren.

1 Like

Hallo zusammen,
um das Thema mal wieder aufzugreifen:

  1. Ich hab mir mal ein skript erstellt das zumindest bei IBKR die Short und Cover Postionen aus dem Flex Query Export herausfiltert und diese dann wie weiter oben als “spiegelverkehrte” Kauf und Verkauf Einträge in ein CSV import file speichert:
    GitHub - scheffold/pp_short_selling_converter
    Das funktioniert mal soweit.

  2. Ich könnte mal den IBKR Flex import mal erweitern, dass er Flex Import Dateien die Short und Cover Postionen enthalten ablehnt bzw. diese Positionen ignoriert mit einer entsprechenden Hinweis als quick fix. Dann sollte das Problem in den Trades mit der negativen Menge nicht mehr auftreten.

  3. Ich hab mal mir auch diesen MR hier angeschaut:
    New Feature: support selling short by jamespan · Pull Request #1736 · portfolio-performance/portfolio · GitHub
    Ich hab mal diesen MR bzw branch mal in meinem PP-Fork auf den aktuellen master hochgezogen und soweit zum laufen gebracht. Zumindest kann ich mal Short und und Cover Positionen nun importieren. Hier und dort ist noch ein Vorzeichendreher drin, aber im Groben funktioniert das mal.
    Da das Thema seit drei Jahren nicht mehr bearbeitet wurde, ist mir aktuell unklar, warum es damals nicht abgeschlossen wurde und weshalb der Initiator letztendlich aufgegeben hat. Könnte es sein, dass die Komplexität oder der Umfang des Themas eine zu große Herausforderung darstellten?
    Vielleicht wäre es sinnvoll, einen Schritt zurückzutreten und statt einer “Alles-oder-nichts”-Herangehensweise ein MVP (Minimum Viable Product) für den Use Case zu definieren, das mit einfachen Tests abgedeckt werden kann. Auf diese Weise könnten die Problemstellungen greifbarer und möglicherweise auch lösbarer werden.

Was sind eure Gedanken dazu, insbesondere die der Hauptentwickler?
VG

Meine Sicht, warum der Ansatz untauglich ist, habe ich seinerzeit in einem Kommentar zum PR dargelegt.

Ja - es war die Rede von fehlenden Anforderungen und mangelnder Analyse.
Um das mal aufzugreifen hier mal kurz eine kurze Zusammenfassung (via Chat GPT) der Punkte:

  1. Unnötige Komplexität:
    Die vorgeschlagene Änderung dupliziert bestehende Funktionalitäten und macht den Code unnötig kompliziert.
  2. Fehlende Problem-Analyse:
    Die Änderung basiert auf einer unzureichenden oder fehlerhaften Analyse des eigentlichen Problems („Enable Short Selling“).
  3. Vorhandene Funktionalität:
    Leerverkäufe können bereits durch den Verkauf von nicht vorhandenen Wertpapieren und späteren Rückkäufen abgebildet werden.
  4. Backend und UI sind ausreichend:
    Das Backend und die Benutzeroberfläche können mit negativen Beträgen umgehen; nur Berichte und Diagramme zeigen Inkonsistenzen.
  5. Keine Problemlösung durch neue Transaktionstypen:
    Zusätzliche Transaktionstypen beheben die Probleme in Berichten und Widgets nicht.
  6. Benutzerfreundlichkeit:
    Neue Transaktionstypen könnten für Nutzer Verwirrung stiften, z. B. bei der Unterscheidung zwischen „Buy“ und „Buy to Cover“.
  7. Praktische Herausforderungen:
    Schwierigkeiten beim Umgang mit Käufen und Verkäufen in verschiedenen Konten (z. B. Aufteilung von Transaktionen oder Interpretation von Übertragungen).
  8. Potentieller Bedarf an weiteren Typen:
    Der Vorschlag könnte zu weiteren unnötigen Erweiterungen führen, z. B. für spezielle Transaktionen wie „Inbound Transfer to Cover“.`
  1. Unnötige Komplexität:
    Wenn ich mir die Flex queries von IBKR anschaue, haben die auch einen Zusatz Attribute um den Buy or Sell als Open oder Close dazustellen. Also, scheint ja auch ein Attribut im System einer Brokerplattform zu sein. Mir fällt jetzt keine Möglichkeit das sonst anders zu “klammern”
  2. Fehlende Problem-Analyse:
    Was genau ist denn das eigentliche Problem? :slight_smile:
  3. Vorhandene Funktionalität:
    Funktioniert ja momentan nicht, wenn ich einen Verkauf tätige und dann nachgelagert einen Kauf fehlen alle nachfolgenden Trades des in der Übersicht und es kommt die weiter oben im Thread genannte Fehlermeldung.
  4. Backend und UI sind ausreichend:
    Siehe Punkt 3) Inkonsistenzen in Diagrammen und Berichten müssen dann gezielt behoben werden.
  5. Keine Problemlösung durch neue Transaktionstypen
    Welche Probleme gibt es denn im Speziellen? Wie kann man das mit Testfällen genau prüfen?
  6. Benutzerfreundlichkeit:
    Was muss von der Usability her getan werden, um Verwirrungen zu vermeiden? Vielleicht wird ein Short Sell oder Cover Buy in der UI gar nicht benötigt, eine Unterscheidung ist allein vom Bestand der Aktie im jeweiligen Depot abhängig?
  7. Praktische Herausforderungen:
    Es wäre interessant zu prüfen, wie ein Broker reagiert, wenn geliehene Aktien verkauft und anschließend durch eine Übertragung auf das Depot gutgeschrieben werden – ein sicher eher seltener Grenzfall. Beispielsweise unterscheidet IBKR in der Benutzeroberfläche nicht zwischen Leerverkaufspositionen und anderen Positionen unterschieden. Wenn Aktien gekauft werden, werden Negativbestände zuerst ausgeglichen.
  8. Potentieller Bedarf an weiteren Typen:
    Siehe Punkt 7. Ich denke, es sollten erst mal die Negativbestände aufgefüllt werden. Wenns dann ins Positive geht, könnte man ja ausprobieren. Wie macht es ein Broker? Z.b. ich kaufe mir 100 AKtien und verkaufe dann 200 Aktien. Werden die Transaktionen in 2 aufgeteilt? Was steht dann im Flexquery export von IBKR? 100 Aktien Sell mit Cover und 100 Sell mit Open?

VG