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

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...