Jump to content
Sign in to follow this  
str1fenhoernchen

Softwareeigenbau optimale Auswahl von Kontrakten

Recommended Posts

str1fenhoernchen
Posted

Hallo zusammen,

 

ich bin schon mehrere Jahre stiller Mitleser und beschäftige mich jetzt seit einem Jahr mit dem Handel von Aktienoptionen.

 

Was ist mein Problem:

Ich habe eine Menge an Kapital und möchte damit Puts verkaufen. Ich suche nach einer möglichst optimalen (max anualisierte Rendite) Aufteilung meines Kapitals in Puts. Dabei will ich einige Nebenbedinungen beachten, bspw. Diversifikation in min. 3 Underlyings, max Delta von 0,25 etc.

 

Ansatz:

Ich stelle mir Liste der in Frage kommenden Underlyings zusammen, ziehe mir die Daten der jeweiligen Optionen über Scraping oder API der TWS (Problem 1) und führe damit eine mathematische Optimierung durch (Problem 2). Das lineare Programm habe ich erstellt und ist nicht sonderlich komplex.

 

Meine Frage:

Mit welcher Software setze ich das am besten um?

  • Python: kann ich nicht, bin ich aber bereit bei entsprechenden Vorteilen zu lernen. Problem 1 und 2 sind damit nach meiner Recherche möglich.
  • Excel: Ggf. sogar der Solver nutzbar. Daten Scraping von Barchart oder Yahoo finance umständlich.
  • Matlab, CPLEX und Konsorten habe ich leider privat nicht zugänglich.
  • Sonst ne gute Idee?

 

Merci für ein bisschen Input

Share this post


Link to post
WakeboarderHD
Posted

M.W. nach nutzen viele Leute Python: da gibt es zahllose Bibliotheken und Programmbeispiele zum Thema Finanzmathematik. Python ist m.E. nach relativ einfach zu lernen (Niveau von BASIC oder Perl). Für das Scraping von Web-Content gibt es auch viele Bibliotheken.

Alternative: Datenimport via Python und Auswertung via Excel?

Share this post


Link to post
stagflation
Posted · Edited by stagflation

Python ist sicherlich eine gute Wahl. Es gibt umfangreiche Bibliotheken zu allen möglichen Anwendungsgebieten, insbesondere zur numerischen Mathematik. Für Python spricht auch, dass es sehr universell einsetzbar ist - u.a. wegen der umfangreichen Bibliotheken. Du müsstest die Sprache also nicht nur für Dein jetziges Projekt lernen, sondern könntest Python in Zukunft auch zur Lösung ganz anderer Aufgabenstellungen nutzen.

 

Falls Du ein integriertes System mit GUI suchst, könntest Du Dir R ansehen. Anstelle von Matlab würde ich erst einmal schauen, wie weit ich mit GNU Octave komme.

Share this post


Link to post
3mg4
Posted
vor 5 Stunden von str1fenhoernchen:

Matlab, CPLEX und Konsorten habe ich leider privat nicht zugänglich.

Schau dir mal GNU Octave an, teilweise sogar die gleiche "Sprache", Oberfläche quasi 1:1 mit einer älteren Matlab Version, ich kann es sehr empfehlen.

 

 

Ahh gerade gesehen @stagflation hat die selbe Idee, R wollte ich auch noch vorschlagen.

Share this post


Link to post
str1fenhoernchen
Posted

Das sind doch gute Hinweise, Dankeschön! Werde jetzt mal mit Python starten, damit ich mal wieder was Neues lerne.

Share this post


Link to post
dutchcapitalist
Posted

Weiss nicht ob mein Beitrag schon zu spät ist, aber Python kann ich dir wirklich empfehlen. Ganz wichtig verwende ein GUI, sonst wird es sehr schnell unübersichtlich und klein wenn alles in der Python Konsole ausgegeben wird. Und nicht vergessen, du wirst am Anfang viele Libraries importieren müssen, diese musst du aber zuerst im Terminal (apple) downloaden. Und ich rate dir Daten von Yahoo finance als API Calls zu nehmen, da du unbegrenzt Daten zur Verfügung hast und die Charts einfacher zu bearbeiten sind als mit Alphavantage. Allerdings gibt es bei Alphavantage viele vorprogrammierte Funktionen, dass heisst im Terminal musst du nur die Alpha Vantage Library herunterladen und hast extrem viele verschiedene Chartfunktionen, bei Yahoofinanca ist das nicht so.

Am 3.5.2020 um 16:28 von WakeboarderHD:

M.W. nach nutzen viele Leute Python: da gibt es zahllose Bibliotheken und Programmbeispiele zum Thema Finanzmathematik. Python ist m.E. nach relativ einfach zu lernen (Niveau von BASIC oder Perl). Für das Scraping von Web-Content gibt es auch viele Bibliotheken.

Alternative: Datenimport via Python und Auswertung via Excel?

Wenn Excel sehr zuverlässige Daten hat (sonst Alpha Vantage oder Yahoo Finance), dann würde ich Daten von Excel in Python importieren und wieder in Excel exportieren. Dann ist deine Graphische Benutzerfläche Excel.

Share this post


Link to post
str1fenhoernchen
Posted

Hallo dutchcapitalist,

 

danke für den Tipp mit Alphavantage. Kannte ich noch nicht :)

 

Ein Zwischenupdate für diejenigen die es interessiert: Ich habe mich für Python entschieden und nutze als APIs für Daten yahoo und wallstreet. Wallstreet deswegen, da ich keine andere API gefunden habe, bei der ich Deltas von Optionen bekomme. Schlecht ist, dass ich diese Deltas einzeln pro Strike abfragen muss und ich daher für das Einlesen je Underlying bei 25s bin. Wenn jmd. eine API kennt, bei der ich Deltas als Liste, JSON, dataframe etc bekomme freue ich mich über Info (Bei Alphavantage hab ich nichts gefunden).

 

Das Skript ist gemäß den Vorgaben im Eingangspost fertig. Die Vision ist, das über eine Website öffentlich zu machen. Auf meinem lokalen Appache habe ich eine einfache php/html Eingabemaske (s. Bild), die das Skript ruft und dann im Hintergrund ablaufen lässt und das Ergebnis als PHP ausgibt. Ich habe jetzt noch eine Baustelle in der Darstellung der Ergebnisse und werde als nächstes die Seite ins Netz stellen um "echte" Erfahrung damit zu sammeln und freue mich dann auch über Kritik und Wünsche. Aktuell habe noch noch eine Domain bei All-inkl. frei und werde mich damit auseinander setzen ob und wie die Nutzung von Pyothon mit all seinen Extensions möglich ist. Falls das jmd. von euch macht und Tipps hat, freue ich mich auch darüber.

 

 

2020-06-16_22h09_24.png

Share this post


Link to post
str1fenhoernchen
Posted

Hallo zusammen,

 

ich habe das Tool jetzt auf www.optimizeoptions.com released und freue mich über Feedback.

 

Was tut das Tool?

  • Aus einer Vorauswahl von Aktien und Einstellungen errechnet ein mathematisches Optimierungsprogramm diejenigen Put-Optionen mit dem kombiniert höchsten Return.

Welchen Mehrwert bietet das Tool?

  • Rendite: Ausprobieren der gesamten Kombinatorik mit dem optimalen, höchsten Ergebnis.
  • Margin-Ausnutzung: Eine direkte Folge der Rendite-Optimierung. Die bestehende Margin wird für die maximale Rendite bestmöglich ausgenutzt und nichts verschwendet.
  • Earnings ausschließen: Wer Puts verkauft, will eher keine potentiell erschütternden Kurs-Nachrichten im Verkaufszeitraum haben. Daher gibt es die Möglichkeit alle Underlyings auszuschließen, die Quartals-/Jahresberichte in diesem Zeitraum anstehend haben.

Zukünftige Überlegungen

  • Würde es helfen, ähnlich dem Ausschluss von Earnings, Stocks mit einem zu niedrigen Handelsvolumen auszuschließen?
  • Würde es helfen, Stocks mit Indikatoren wie RSI etc. bewerten zu können?

 

Ich freue mich auch über Hinweise zu Communities zum Handel von Optionen.

 

Beste Grüße und Danke für eure Zeit!

Share this post


Link to post
uang
Posted

Vielen Dank, dass du dein Projekt hier mit uns teilst. Ich hab mal etwas damit rumgespielt, und muss jedoch sagen, dass sich der Nutzen für mich eher in Grenzen hält. Ich handle jedoch auch noch nicht allzu lange mit Optionen und momentan auch noch mit einem eher kleinen Konto. Da hab ich i.d.R nur 3 Positionen offen.

 

Am 16.6.2020 um 22:10 von str1fenhoernchen:

Wenn jmd. eine API kennt, bei der ich Deltas als Liste, JSON, dataframe etc bekomme freue ich mich über Info (Bei Alphavantage hab ich nichts gefunden).

Hast du die API von Interactive Brokers mal ausprobiert? https://www.interactivebrokers.eu/de/index.php?f=5041

Am 15.11.2020 um 11:47 von str1fenhoernchen:

Was tut das Tool?

  • Aus einer Vorauswahl von Aktien und Einstellungen errechnet ein mathematisches Optimierungsprogramm diejenigen Put-Optionen mit dem kombiniert höchsten Return.

Welchen Mehrwert bietet das Tool?

  • Rendite: Ausprobieren der gesamten Kombinatorik mit dem optimalen, höchsten Ergebnis.
  • Margin-Ausnutzung: Eine direkte Folge der Rendite-Optimierung. Die bestehende Margin wird für die maximale Rendite bestmöglich ausgenutzt und nichts verschwendet.

Ich hab mal angegeben dass ich 20.000 Margin habe und pro Kontrakt 2000€ Margin zur Verfügung stehen. Underlyings (bis auf AAPL) warenwahllose Titel  <100USD, INTC, KO, AMD, CSCO, AAPL. Da kam z.B. das angehängte Ergebnis raus - alle mit Bruchstücken an Kontrakten. Handeln kann man jedoch nur ganze Kontrakte. Es wurden auch nur Kontrakte mit der angegebenen Laufzeit (März 2021) ausgewählt. Wäre es nicht nützlicher die optimalste Option bis zur angegebenen Laufzeit zu wählen. Die Margin pro Kontrakt ist auch immer fix auf dem gewählten Betrag anstatt die optimalste Option mit Marginbelastung bis zu max. dem gewählten Betrag zu ermitteln. Evtl. nutze ich das aber auch irgendwie verkehrt... ;)

 

Spannend fände ich (hinsichtlich short puts) z.B. wenn man als Eingangsparameter:

- Liste an underlyings

- max. Marginbelastung pro 1 Kontrakt

- evtl. max. Kostenbasis (also Strike*100)

- maximale Anzahl Tage bis Verfall

- Delta von X bis Y

- Prämie >= X

 

Ausgegeben wird nun z.B. eine  Liste mit z.B. 0-100 Einträgen, absteigend sortiert nach der höchsten Rendite bis Verfall/annualisierte Rendite. Rendite wählbar bezogen auf (momentane) Marginbelastung  bzw. Kostenbasis. Interessant wäre auch, wenn man die Rendite in Bezug zur Wahrscheinlichkeit mit der die Option verfällt (bzw. Delta) zu setzen. 

Keine Ahnung ob das Sinn macht.... müsste man nochmal mit fitterem Hirn überdenken? :)

 

Spannend fände ich auch eine Möglichkeit "optimale Spreads" für einzelne underlyings zu berechnen. Am "einfachsten" wäre das wohl für vertikale Spreads, komplizierter dann für diagonale wie z.B. den PMCC.

 

Ich wünschte mir selber gerne eine einfache Möglichkeit Optionsketten inkl. der Griechen in Excel zu importieren. Müssen keine live Daten sein, die ca. 15min verzögerten Daten die viele Seiten anbieten würden reichen. Hast du da eine einfache Lösung?

Am 15.11.2020 um 11:47 von str1fenhoernchen:

Ich freue mich auch über Hinweise zu Communities zum Handel von Optionen.

Es gibt da z.B. den discord channel https://discord.gg/uuC2jmY von @passiv_Investor und falls englischsprachige Communities OK sind gibt es z.B. r/options auf Reddit.

Option_optimizer1.PNG

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...