Code Monkey home page Code Monkey logo

Comments (6)

laroche avatar laroche commented on July 16, 2024

Der Fehler kommt oft, wenn man ein noch unbekanntes Underlying tradet bei dem der Multiplier
unbekannt ist.

Was man machen kann: Zeile 149 ist die erste Zeile von "check_trade", dort die auskommentierte Zeile
"#print" einkommentieren in "print", dann bekommt man die Werte ausgegeben, die Probleme machen.
Bitte dazu auch noch "asset_type" ausgeben.
Es würde auch helfen, wenn die Zeile von der Tastyworks csv-Datei bekannt ist, bei der das passiert.

Alternativ einfach per Email mir die CSV-Datei schicken, dann schau ich das kurz durch.

Oder weitere Möglichkeit: "check_trade" wird nur einmal aufgerufen. Man kann das auch mal auskommentieren
und schauen, ob dann alles zumindest durchläuft. Dann sind immer noch Fehler bei den Zahlen dabei, man
sieht aber bereits, ob noch weitere Fehler auftauchen.

Hoffe damit wird das Problem klar und Du kannst die Daten hier Posten?

Viele Grüße,

Florian La Roche

from tastyworks-pnl.

00marstr00 avatar 00marstr00 commented on July 16, 2024

Moin,

meine Programmierkenntnisse befinden sich leider auf einem sehr rudimentärem Niveau. "print" habe ich auskommentiert. Beim ausgeben von "asset_typ" scheiters schon.

Ein Fehler ist mir aufgefallen: Beim ziehen der Daten über die Weboberfläche von tastyworks wurden die "fees" von Verkäufen nicht korrekt importiert. Waren bei 1132 USD statt 1.132 USD.

Hier mal eine Test-csv:

Date/Time,Transaction Code,Transaction Subcode,Symbol,Buy/Sell,Open/Close,Quantity,Expiration Date,Strike,Call/Put,Price,Fees,Amount,Description,Account Reference
10/20/2021 8:45 PM,Trade,Buy to Open,IBM,Buy,Open,1,10/22/2021,136,P,0.73,1.12,-73,Bought 1 IBM 10/22/21 Put 136.00 @ 0.73,Individual...86
10/20/2021 8:45 PM,Trade,Sell to Open,IBM,Sell,Open,1,10/22/2021,138,P,1.16,1.132,116,Sold 1 IBM 10/22/21 Put 138.00 @ 1.16,Individual...86

und die Ausgabe:

martin@Air-von-Martin tastyworks-pnl % python3 tw-pnl.py --assume-individual-stock --tax-output=2021 --output-csv=tastyworks-tax-2021.csv history_test.csv
FEHLER: 115.99999999999999 116.0 Sell to Open
FEHLER: -73.0 -73.0 Buy to Open
2021
Einzahlungen 0.00
Auszahlungen 0.00
Brokergebühren 0.00
Alle Gebühren in USD 0.00
Alle Gebühren 0.00
Währungsgewinne USD 0.00
Währungsgewinne USD (steuerfrei) 0.00
Währungsgewinne USD Gesamt 0.00
Krypto-Gewinne 0.00
Krypto-Verluste 0.00
Anlage SO 0.00
Anlage SO Steuerbetrag 0.00
Anlage SO Verlustvortrag 0.00
Investmentfondsgewinne 0.00
Investmentfondsverluste 0.00
Anlage KAP-INV 0.00
Aktiengewinne (Z20) 0.00
Aktienverluste (Z23) 0.00
Aktien Gesamt 0.00
Aktien Steuerbetrag 0.00
Aktien Verlustvortrag 0.00
Sonstige Gewinne 0.00
Sonstige Verluste 0.00
Sonstige Gesamt 0.00
Stillhalter-Gewinne 98.83
Stillhalter-Verluste 0.00
Stillhalter Gesamt 98.83
Durchschnitt behaltene Prämien pro Tag 0.40
Stillhalter-Gewinne Calls (FIFO) 0.00
Stillhalter-Verluste Calls (FIFO) 0.00
Stillhalter Calls Gesamt (FIFO) 0.00
Stillhalter-Gewinne Puts (FIFO) 0.00
Stillhalter-Verluste Puts (FIFO) 0.00
Stillhalter Puts Gesamt (FIFO) 0.00
Stillhalter-Gewinne (FIFO) 0.00
Stillhalter-Verluste (FIFO) 0.00
Stillhalter Gesamt (FIFO) 0.00
Long-Optionen-Gewinne 0.00
Long-Optionen-Verluste 0.00
Long-Optionen Gesamt 0.00
Future-Gewinne 0.00
Future-Verluste 0.00
Future Gesamt 0.00
zusätzliche Ordergebühren 0.00
Dividenden 0.00
bezahlte Dividenden 0.00
Quellensteuer (Z41) 0.00
Zinseinnahmen 0.00
Zinsausgaben 0.00
Zinsen Gesamt 0.00
Z19 Ausländische Kapitalerträge 98.83
Z21 Termingeschäftsgewinne+Stillhalter 98.83
Z24 Termingeschäftsverluste 0.00
KAP+KAP-INV 98.83

IBM sollte ja über den S&P500 bekannt sein.
Die '115.99999999' sehen komisch aus. Keine Ahnung wo die herkommen. Sollte ja "116.0" sein. Vielleicht auch ein Import Problem.
Bei der Brechnung sollte doch ein Gewinn vor von 43 USD bzw. 37€ vor Gebühren rauskommen, oder?

Danke fürs Nachschauen,

Gruß Martin

from tastyworks-pnl.

laroche avatar laroche commented on July 16, 2024

Hallo Martin,

es wurde ein Long Put Strike 136 für $73 gekauft, Gebühren dazu sind $1.12. Hier ist erst zu versteuern, wenn der Trade geschlossen wird.
Ein Short Put Strike 138 wurde verkauft und eine Prämie von $116 eingenommen, Gebühren von $1.132 fallen an.
Die ($116-$1.132) müssen sofort versteuert werden und müssen daher in Euro umgerechnet werden. Das sind
dann sicher die 98,83 Euro.

Die 115.999999 sind nur als Ausgabe komisch, das sind eigentlich auch die $116.

Die Gebühren/"fees" waren ja nicht korrekt. Das passiert wenn man die CSV-Datei in Excel läd und von
dort wieder abspeichert. Ich würde einen normalen Texteditor empfehlen, wenn man in dieser Datei Änderungen vornimmt.

Den eigentlichen Abbruch sieht man hier nicht, mit den Daten läuft ja alles bis zum Ende durch.

Viele Grüße,

Florian La Roche

from tastyworks-pnl.

laroche avatar laroche commented on July 16, 2024

Hallo Martin,

ich hab noch eine Kommandozeilenoption "--debug" hinzugefügt. Wenn Du mit der neusten Version startest, dann wird
zusätzlich die aktuell bearbeitete Input-Zeile mit ausgegeben. Das ist dann für mich meistens genug, um das Problem
direkt sehen zu können. (Falls es nicht wie oben beschrieben an Excel liegt, das die Daten verbiegt...)

Viele Grüße,

Florian La Roche

from tastyworks-pnl.

00marstr00 avatar 00marstr00 commented on July 16, 2024

Moin Florian,

das Klischee bei Softwareanwendungen besagt ja, dass das Problem meistens vor dem Rechner sitzt. Nun, das Klischee ist erfüllt. ;)
Ich habe beim ersten Ziehen der Daten wohl, die csv-Datei mit Libreoffice geöffne und abgespeichert. Nach dem frischen Ziehen der Daten gibt es mit der Formatierung der Daten keine Probleme mehr. Dafür ist ein neues Problem entstanden, dass das Script bestimmte Optionen nicht verarbeiten konnte. Ich dachte erst es lag am Symbol, dass war es aber nicht. Das Problem waren "offene" Optionen die ich von 2020 nach 2021 mitgenommen habe. Ich habe dann in die csv-Datei einfach die "offenen" Optionen von 2020 in die 2021 csv-Datei eingefügt.
Aktuell gibts es Long Optionen die ausgeübt bzw. zugeteilt wurden und ich check gerade nicht wo ich den Optionspreis einfügen soll.
Hier mal die Meldung, die ich meine:

Assignment/Exercise for a long option, please move pnl on next line to stock:

Mit --debug gibt er mir so viele trades aus, dass ich den Wald vor lauter Bäumen nicht sehe.
Ich schicke dir mal per mail die Datei, falls du Lust und Zeit hast rüberzuschauen.

Gruß Martin

from tastyworks-pnl.

laroche avatar laroche commented on July 16, 2024

Per direkter Email gelöst: Daten in der Eingangsdatei von Tastyworks sollten komplett sein und
es gab 2 Symbol-Änderungen bei den Transaktionen. Diese muss man aus der Transaktionsliste
löschen und die Symboländerung selber einbauen. Damit sollte alles laufen.

Ticket hier schliesse ich. Bitte wieder öffnen oder einen komplett neuen Issue aufmachen, wenn
noch neue Fragen aufkommen.

Viele Grüße aus Stuttgart,

Florian La Roche

from tastyworks-pnl.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.