Ansicht von 15 Beiträgen - 1 bis 15 (von insgesamt 23)
  • Autor
    Beiträge
  • #2540

    paramedic1978
    Teilnehmer

    Hallo zusammen,

    der Plan: den Optionshandel zu automatisieren.

    Angeregt durch die Kommentare unter Chri’s “Umfrage: Was würdet ihr in der Zukunft gerne lesen/machen?”, möchte ich gerne zum Einstieg diesen Thread starten.

    Ich bin zwar noch Einsteiger im Optionshandel, aber habe knapp 5 Jahre lang im Forex-Bereich unter Metatrader 4 & 5 gehandelt und vor allem programmiert.
    Daher bin ich mit der Thematik “automatisiertes Trading” bestens vertraut. Ich habe selbst als Programmierer gearbeitet, habe aber auch beste Kontakte zu Programmierern aller möglichen Programmiersprachen.

    Um es also kurz zu sagen: Alles ist möglich !

    Mir geht es darum, hier einmal zusammenzutragen, was jeder von Euch unter “automatisiertes Trading” versteht, bzw. was ihr erwartet.

    Meine Sicht der Dinge, bzw. Vorstellung:
    Indikatoren geben buy-/sell-signale;
    anhand der IVR/ Liquidität/ Delta etc. (je nach Strategie) werden
    die konkreten Trades vorgeschlagen. Der User bestätigt den Midprice
    per App oder am Rechner…und dann wird es abgeschickt.
    Für den Anfang: Schnittstelle zu IB und Tastyworks.

    Wir bräuchten also 1. Stock-Screener für die Indikatoren, und
    2. Zugriff auf die Option-Chain.
    Pkt. 1 sollte kein Problem sein. Punkt 2 schon eher. Von IB bekommt
    man ja die Daten per Schnittstelle, laut Elmar aber in bescheidener Qualität.
    Von Tastyworks wird das schwieriger, AAABBER: Nicht unmöglich.
    Ich habe selbst ein kleines Tool, das Daten von dough zieht und in meine Datenbank speichert.
    Das gleiche könnte man natürlich mit der Optionchain machen/versuchen.
    Da kommen natürlich andere Fragen auf, bezüglich Copyright etc.
    ABER: Wenn wir eine Bindung an den jeweiligen Broker machen,
    dürfte das ja nur in seinem Sinne sein.

    Das meine ersten Gedanken.

    Ich hoffe, möglichst viele von den Interessenten schreiben hier Ihre Wünsche, Vorstellungen usw.

    Lasst uns soviele Fakten wie möglich zusammentragen um dann zu entscheiden, ob und vor allem
    wie soetwas umgesetzt werden kann.

    Beste Grüße,
    Swen

    #2542

    Chri
    Keymaster

    Hallo Swen,

    Ich werde dir deine Mail noch beantworten, vorerst schreibe ich hier meine paar Gedanken dazu, wenn das in Ordnung ist.
    Erstmal möchte ich mich herzlich bei dir bedanken, dass du gleich die Initiative ergreifst! Finde ich wahnsinnig gut! Hätte nicht damit gerechnet, dass wir so schnell jemanden finden, der davon Ahnung hat.
    Wie schon gesagt: Ich kenne mich damit wirklich überhaupt nicht aus.

    Als Investor durch den Optionshandel hätte ich im ersten Schritt gerne ein Tool, welches

    – fundamentale Daten sammelt und aufbereitet
    – aufgrund meiner Suchparameter die aktuell besten Ergebnisse herausfiltert
    – aufgrund von Indikatoren zum Beispiel den besten Zeitpunkt zum Einstieg wählt
    – Margin-Auslastung prüft (vor und nach dem Trade)
    – den besten Trade vorschlägt (eventuell durch das Verhältnis von Prämie und Delta oder so)
    – Der Trade soll vorerst noch nicht automatisch abgesetzt werden
    – Der übergeordnete Markt muss miteinbezogen werden (Stand der Indizes, Stand des VIX, usw.)

    Die genauen Regeln meiner eigenen Strategie werde ich demnächst noch einmal in einem Beitrag zusammen schreiben.
    Ich habe vor zukünftig die Markttechnik etwas einzubeziehen. Aber ich möchte es trotzdem sehr einfach halten. Es sollen Short Puts nur mehr geschrieben werden, wenn sich nach einem Einbruch wieder ein Aufwärtstrend bildet, beziehungsweise der Abwärtstrend zumindest beendet ist. Vielleicht lässt sich dies ganz einfach durch SMAs und EMAs abbilden, keine Ahnung. Da hast du durchs Forex Trading sicher mehr Erfahrung vorzuweisen.

    ich glaube, dass wir da noch viel mehr Dinge berücksichtigen müssen, die mir jetzt gerade auf die Schnelle nicht einfallen. So einfach wird so ein Tool glaube ich gar nicht, alleine schon, weil es extrem viele Dinge zu überprüfen gilt, auch bei einfachen Strategien. Aber ich würde mir natürlich wünschen, dass wir es trotzdem hinbekommen :)

    Freue mich auf weitere Teilnahme aller Communitymitglieder.

    mfG Chri

    edit: Wenn wir irgendetwas vom Broker brauchen, können wir ihn von Beginn an miteinbeziehen. Habe sehr gute Kontakte zu Banx, wenn sich auch ein Vorteil für Banx ergibt, ist das sicher alles kein Problem.

    mfG

    • Diese Antwort wurde geändert vor 1 Jahr, 11 Monate von  Chri.
    #2556

    Josef
    Teilnehmer

    Hi,
    also ich würde grundsätzlich meine Programmierfähigkeiten zur Verfügung stellen.
    Allerdings bin ich kein Mann fürs Frontend. Designgeschichten sind nicht so mein Ding.

    Gruß
    Josef

    #2559

    Elmar
    Teilnehmer

    Hallo Swen,

    auch von mir ein herzlicher Dank, dass Du auf das Thema sofort anspringst. Ich fasse mal kurz zusammen, was ich bislang so mit der Schnittstelle von IB realisiert habe und erkläre, warum erhaltenen Daten nicht immer so super sind. Vielleicht sitzt das Problem auch eher vorm Rechner (soll ja schon mal der Fall sein) und ich hab einfach keine Ahnung.. ich bin schließlich kein Programmierer, sondern habe nur ziemlich fundierte Kenntnisse in Excel und mir dort alles learning by doing beigebracht.

    Was ich derzeit mache: Ich habe zu Hause einen Mini Windows PC stehen, der jeden Morgen automatisiert hochfährt, sich bei IB einloggt und mein Excel Tool startet. Das Excel Tool ist gefüttert mit gefühlt über 200 Makros, die automatisch meine Positionen auslesen, einige Berechnungen durchführen und mir meine Portfolio grafisch in ein paar hübschen Diagrammen aufbereiten. Die Daten werden über DDE Abfragen ausgelesen. Auch eine Option Chain kann so in Excel nachgebaut werden. Marktdaten für die ich kein Abonnement bei IB habe, werden über eine Webabfrage aus öffentlichen Quellen (Yahoo, Onvista) bezogen. Die Abfrage wird etwa alle 30 Minuten durchgeführt, am Abend wird die Tagesperformance meiner einzelnen Positionen abgespeichert und der Rechner fährt wieder herunter.
    Das System ließe sich erweitern, dass auch automatisch Trades durchgeführt werden. Habe ich aber nicht getestet und die Zeiten, wo ich ausreichend Zeit hatte so etwas zu basteln sind leider vorbei.

    Probleme mit den Daten von IB scheinen nach meiner laienhaften Feststellung unter anderem bei Dezimalstellen aufzutreten. Ich vermute, dass die Problematik daher rührt, dass in Amerika mit Punkt, in Europa aber mit Komma getrennt wird. So erhält man manchmal mit Punkt getrennte Dezimalstellen und manchmal mit Komma. Und manchmal passiert eben irgendwie ein durcheinander. Dann sagt mir die Schnittstelle ich hätte nicht 4.000 Euro Prämie sondern 400.000 Euro Prämie eingenommen. Für das Problem habe ich noch keine Lösung gefunden.
    Des Weiteren habe ich mal versucht historische Optionspreise herunterzuladen. Das funktioniert auch, aber meines Erachtens erhält man hier häufig nur Datenmüll. Ich führe das darauf zurück, dass Optionen teilweise extrem wenig gehandelt werden und wenn immer nur bid-ask Kurse gestellt werden, aber nie ein Trade durchgeführt wird, dann speichert IB hier sehr merkwürdige Angaben. Aber wie gesagt.. vielleicht habe ich auch einfach nur keine Ahnung. Und grundsätzlich ist die Excel API sicher eine nette Einsteigerlösung, aber vermutlich aus Sicht eines Programmierers nicht das Gelbe vom Ei.

    Kommen wir zu meiner Vorstellung eines automatisierten Handels. Was Du beschreibst ist für mich nur semi-automatisch. Ich stelle mir ein System vor, dass ich einmal einrichte und dann (wenn nichts besonderes vorfällt) über Monate nicht mehr anfassen muss. Also auch Trades müssen ohne mein Zutun durchgeführt werden. Das funktioniert meines Erachtens nur, wenn man ein möglichst simples System verwendet. Wenn man noch nicht mal weiß, welche Basiswerte man handeln möchte wird das natürlich schnell unheimlich komplex. Ich stelle daher nachfolgend meine Grundlagenstrategie vor, mit der ich einen Großteil meiner jährlichen Performance erziele. Ich versuche meine Trading-Regeln in programmierbare Bedingungen zu übersetzen.

    Bei der Strategie werden langlaufende Strangles auf den Aktienindex Euro Stoxx 50 (ESTX50) geschrieben. Vorab der Hinweis für Nachahmer: Strangles arbeiten ohne Absicherung und bergen daher ein Totalverlustrisiko (u.U. sogar mit Nachschusspflicht). Ohne sich intensiv mit den Risiken beschäftigt zu haben, ist ein blindes Kopieren der Strategie nicht empfehlenswert. Außerdem ist die Strategie für die aktuelle Marktlage nahezu ungeeignet, aber das wird sich wieder ändern.

    Der Vorteil von Strangles ist, dass sie eine marktneutrale Strategie darstellen. Trends sind mir also vollkommen egal. Irgendwelche SMAs, EMAs interessieren nicht. Das einzige was hingegen wirklich interessiert, ist die Volatilität. Und für diese gibt es einen eigenen Index. Im Falle des ESTX50 ist das der VSTOXX. Fangen wir also an mit den Regeln.

    2 K.O.-Kriterien: Es werden keine Trades eingegangen wenn:
    – VSTOXX niedriger als 17 (besser sogar 20)
    – Initial-Marginauslastung größer als 50%

    Neue Trades werden nur einmal im Monat durchgeführt und zwar am Montag nach dem Verfallstag (3. Freitag im Monat). Sollten die o.g. Bedingungen zu diesem Zeitpunkt nicht erfüllt sein, wird die Ausführung verschoben, bis die Bedingungen eintreten. Folgende Trades werden durchgeführt:

    – Restlaufzeit der Optionen bspw. 4 Monate (sinnvoll zwischen 3-6 Monate)
    – Bei 4 Monaten bspw:
    o Verkauf Put 400 Punkte unterhalb des aktuellen Kurses
    o Verkauf Call 300-400 Punkte oberhalb des aktuellen Kurses
    – Positionsgröße jeweils als Faustformel: Kontogröße / 12.500
    (also bei einem Konto von 50.000 jeweils 4 Optionen)

    Alternativ könnte man die zu wählenden Strikes am jeweiligen Delta ausrichten. Ist aber meines Erachtens nicht zwingend und macht die Sache nur unnötig komplizierter.

    – Gewinnmitnahme bei 85-90%

    Das war es, mehr braucht es nicht. Für den Fall, dass der Markt vollkommen einbricht, sollte man sich über Absicherung mit Futures Gedanken machen, aber das würde ich in jedem Fall manuell händeln wollen.
    Mit den o.g. Parametern kann man natürlich spielen. Ich passe diese auch laufend an und versuche weiter zu optimieren.

    Die Frage, die ich mir für einen automatisierten Verkauf stelle ist natürlich, wie der bid-ask Spread gehandhabt wird. Klar kann ich immer zum Midpoint anbieten, aber was ist, wenn da keiner kauft? Kann man definieren, dass nach x-Minuten Midpoint – 0,1 angeboten wird? Gleiches natürlich, wenn man die Position schließen will.

    Ich bin gespannt, was Du sagst. Für den Fall, dass ein Konzept zustande kommt, das mich überzeugt, wäre ich sicher auch bereit ein Echtgeldkonto hierfür einzurichten und wir beobachten mal 2-3 Jahre, wie es so läuft ;-)

    Grüße Elmar

    #2562

    paramedic1978
    Teilnehmer

    Hallo zusammen,

    danke erstmal für Eure Antworten.
    Lasst uns soviele Gedanken wie möglich zusammentragen.

    @elmar: OK, Dein System benötigt quasi keine Indikatoren, was natürlich die
    Sache etwas vereinfacht. Aber die Hauptarbeit steckt ja sowieso im Optionen-Teil.
    Ich kenne die Excel-API nicht, werde mir das erstmal anschauen und einarbeiten.
    Die Sache mit den Kommas und Dezimalpunkten ist natürlich ätzend. Muss man anschauen.
    Historische Daten brauchen wir ja eigentlich (erstmal) nicht, denn ein Backtesting-System steht ja (erstmal) nicht im Vordergrund ;-). Wenn das soweit ist, müsste man wahrscheinlich darüber nachdenken, die zu kaufen. Aber wie gesagt, das ist weeeeeeite Ferne…

    Kann man definieren, dass nach x-Minuten Midpoint – 0,1 angeboten wird? Gleiches natürlich, wenn man die Position schließen will.

    Ja klar, das kann man defintiv programmieren. Wie es mit der API dann läuft, muss man sehen.
    Gerade an diesem Punkt denke ich aber eben an eine halbautomatische Variante, nicht dass
    es dann nach paar Stunden eine böse Überraschung gibt, weil der Preis doch nicht dem entspricht, was man selbst gemacht hätte…

    #2563

    paramedic1978
    Teilnehmer

    @ Josef:

    Welche Programmiersprachen machst Du ? Designer brauchen wir auf jeden Fall, damit es schick ala Dough wird…

    #2564

    Josef
    Teilnehmer

    @paramedic
    Java und C#.
    In der Arbeit entwickeln wir mit C# Asp.NEt WebApi den backend Teil unserer Hauptapplikation und mit Aurelia das Frontend.
    Java haben wir für andere kleinere Projekte und für die Gui/API Testautomatisierung mit Selenium + Firefox.

    Prinzipiell kann ich Frontendsachen schon.
    Was ich nicht kann (mangels guten CSS Kentnissen): Ein Frontend von Grund auf aufbauen. Wenn allerdings das Basisfrontend mit Infrastruktur steht ist das kein Problem.

    Gruß
    Josef

    • Diese Antwort wurde geändert vor 1 Jahr, 11 Monate von  Josef.
    #2566

    paramedic1978
    Teilnehmer

    @ Josef:
    Perfekt. Eine der beiden Sprachen wird es werden.

    #2588

    paramedic1978
    Teilnehmer

    @ Elmar:
    Hast Du schon einmal aktuelle Option-Chains mit der API heruntergeladen ?
    Es gibt ja bei der API Restriktionen bezüglich der Häufigkeit der Datenabfragen.
    Hast Du da genauere Angaben ?
    Ausserdem habe ich von einem anderen Options-Programmierer gehört, dass das Herunterladen von
    Option-Chains alles andere als zuverlässig über die API funktioniert.

    Frage an alle:
    Für mich stellt sich die Frage: Welcher Broker.
    IB hat die API, Tastyworks die besten Konditionen.

    Mit welchen von beiden sollten wir anfangen ?

    Grüße,
    Swen

    #2590

    Elmar
    Teilnehmer

    Hallo Swen,

    es gibt die Restriktion, dass nicht mehr als 100 Abfragen gleichzeitig durchgeführt werden dürfen. Braucht man mehr, kostet das extra. Es gibt meine ich weitere Einschränkungen, dass pro Minute/Sekunde nur eine bestimmte Anzahl abgefragt werden darf. Das betrifft aber meines Erachtens vor allem den Bezug von historischen Daten, die natürlich sehr umfangreich sein können.

    Ich habe schon mal eine Option Chain nachgebaut, ja.
    Eine Anleitung für das generelle Vorgehen gibt es bspw. hier: //interactivebrokers.github.io/tws-api/dde_realtime_tutorial.html#gsc.tab=0

    Du kannst das testen mit dem EUR/USD Kurs, da diese Daten kostenlos verfügbar sind und kein Abonnement benötigen.

    Man muss zuerst eine Abfrage “initialisieren” (DDE Link herstellen), wobei jeder Abfrage eine ID zugeordnet wird. Die größte Herausforderung ist hier, die richtige Kontraktdefinition zu finden. Mit ein bisschen Ausprobieren funktioniert das aber. Danach kann man über die jeweilige ID alle möglichen Daten abfragen. BID, ASK, DELTA und so weiter.

    Ist der Link einmal hergestellt, werden die Daten laufend real-time aktualisiert. Genau hier kann man dann eben nur 100 Abfragen gleichzeitig laufen haben. Sobald die Daten einmal empfangen wurden, kann man aber die Abfrage ohnehin einfach beenden und mit den erhaltenen Daten weiterarbeiten. Die Restriktion war für mich also nie ein Problem.

    #2592

    paramedic1978
    Teilnehmer

    Hallo Elmar,

    danke für Deine ausführliche Antwort.

    Ich werde das Ganze sicherlich in Java umsetzen. Das ist stabiler als Excel und man kann da flexibler arbeiten als innerhalb Excel.

    OK, das mit den 100 Abfragen gleichzeitig war mir nicht klar. Ich dachte, dass man pro Monat maximal 100 Abfragen machen darf… Umso besser…

    Grüße,
    Swen

    #2595

    Chri
    Keymaster

    Wie gehen wir weiter vor?

    Gibt es eine Art Plan? Oder Wunschvorstellungen wie so etwas ablaufen sollte?
    Ich habe vor im Zuge dieser Automatisierung einmal alle Aktien zusammenzuschreiben, die ich handeln würde, wäre das ein Anfang?

    mfG Chri

    #2596

    paramedic1978
    Teilnehmer

    Hi Chri,

    also ich muss mich erstmal in die API von IB einlesen/einarbeiten.

    Wenn das soweit geschehen ist und ich halbwegs klar sehe, wäre die nächste Frage tatsächlich,
    welche Aktien oder Indices am beliebtesten sind.

    Wenn ich als Initiator des Threads das mal so sagen darf: Ich würde die Scanning-Funktionalität erstmal außen vor lassen, da könnte man fertige Anbieter nutzen. Zumindest, wenn man Indikatoren oder Fundamentaldaten als Trigger nehmen möchte.

    Für eine Variante wie von Elmar, also 1x im Monat “stur” einen Wert, bräuchte man nicht mal einen Drittanbieter.
    Ich würde also direkt mit dem Platzieren des Trades beginnen. Das heißt, grundsätzlich ist jeder Wert möglich bzw. “gleichwertig”.

    Aber viel wichtiger:
    Mit welcher Strategien beginnen wir ? Ich würde mit PutSpreads beginnen, zur Sicherheit ;-)

    Es wäre schon hilfreich, wenn ein paar Leute ihren “Strategiewunsch” so ähnlich niederschreiben, wie Elmar. Dann kann man dann sehen, was so gewünscht wird und womit man anfängt.

    Es wäre zu überdenken, ob Du nicht eine eigene Forum-Kategorie: “Auto-Trading” machst. Mit Unterkategorien zB “Stand der Dinge” und “Strategien/Vorschläge”.
    Unter der ersten Kategorie Schreiben nur die Beteiligten, eben zum Stand der Dinge und eingebaute/geplante Funktionen, Versionen etc. etc.
    Unter der 2. Kategorie können dann die Leute Ihre Wünsche/Strategien usw. schreiben. KAnnst ja den Anfang machen ;-) Und Elmar’s Strategie Post schon dahin verschieben.

    Im Moment ist es noch alles sehr diffus. Ich habe schon ein paar Ideen bezüglich der Umsetzung, muss aber die API erst studieren, was davon möglich ist…und vor allem wie…

    Grüße,
    Swen

    #2597

    paramedic1978
    Teilnehmer

    Chris, ich sehe gerade:
    Wir haben 4 Teilnehmer, die offensichtlich Antworten abonniert haben.

    Vielleicht solltest Du nochmal eine Umfrage (mit richtiger Zählung ja/nein/vielleicht) starten, inwieweit am Thema Autotrading in Deiner Community überhaupt Interesse besteht…

    Und in diesem Zusammenhang gleich auf den Thread bzw. die neue Kategorie hinweisen…

    #2598

    Josef
    Teilnehmer

    Für mich als Entwickler, sofern eine Mitarbeit erwünscht ist, wäre es vor dem Start interessant, die grobe Richtung abzustecken. Dann Aufteilung in Stories und abschätzen des Aufwandes etc.
    Der übliche Softwareentwicklungsprozess eben.

    Jetzt bereits von Strategien zu sprechen, die gehandelt werden, ist für mich etwas weit gegriffen.

    Ob es notwendig ist, jetzt schon ein echtes System anzubinden, halte ich auch für zumindest Diskussionswürdig.
    Für erste Würfe würde eine FakeAPI auch reichen und man hätte einen schnelleren Start.

Ansicht von 15 Beiträgen - 1 bis 15 (von insgesamt 23)

Du musst angemeldet sein, um auf dieses Thema antworten zu können.