Thursday 9 March 2017

Maschinen Lern In Trading Strategien

Zuerst würden Sie sich darauf konzentrieren, so viele Daten wie möglich zu sammeln und in eine einzige große Tabellenform zu setzen. Dies wäre historische Preisdaten. Vielleicht ergänzen dies mit Zeitungsartikeln, Blogposts, Sek. Einreichungen, die in Wortzählungsvektoren verwandelt wurden usw. Mit Hilfe von natürlichen Sprachverarbeitungstechniken Sie Würde dann einen überwachten Algorithmus für Kauf verkaufen Entscheidung Ausreichende Algorithmen sind logistische Regression schnellste und zufällige Wälder am genauesten in der Regel Es gibt andere, wie z. B. Unterstützung Vektor-Maschinen, boomte Entscheidungsbäume, 3-Schicht neuronale Netze, aber diese don t bieten als gute Genauigkeit Als zufällige Wälder und oft langsamer als auch oder so viel Geschwindigkeit wie logistische Regression Meiner Meinung nach wäre die beste Wahl einfach logistische Regression, und die beste Umsetzung ist vowpal wabbit - extrem schnell, kann riesige Mengen an Daten behandeln - 1 Terabyte pro Stunde Auf einer Maschine, schneller noch im Cluster - und Open Source Hier können Sie auch deutlich sehen, welche Indikatoren Spalten in der Tabelle prädiktiv sind. Sie können auch Zeitungsartikel etc. direkt als Text hinzufügen, indem Sie den Hash-Trick verwenden Vudpal wabbit als auch, und so können Sie auch sehr große Freiform-Text-Artikel in einer einzigen Reihe behandeln. Wenn die oben auf den Punkt getan, können Sie nicht mehr mehr Datenquellen sammeln, ist es Zeit, um die Feature-Engineering zu bewegen Bühne Sie haben schon etwas davon gemacht, als Sie nlp Sachen gemacht haben, aber Sie waren mit Standard-Techniken - dh nicht denken, erfinden Sie Ihre eigenen Methoden. Es gibt zwei Möglichkeiten an dieser Stelle - manuell und automatisch. Usually, Menschen an diesem Punkt erfinden ihre eigenen Features Dies ist, was Trader verbringen die meiste Zeit zu tun - die so genannten Strategien oder Regeln Diese sind gegen die Daten - genannt Backtesting getestet. Eine andere, neuere, authomatische Methode wurde auch vor kurzem verfügbar - unüberwachtes tiefes Lernen Unüberwachtes Lernen existiert vor, aber Es war von der flachen Vielfalt und funktionierte nicht gut in der Praxis Deep Learning neuronale Netze mit Autoencodern ist eine neue Methode erfunden nur vor 6 Jahren, die wirklich gut funktioniert Dieses Papier ist eine Demonstration von it. Essentiell, indem wir viele Computer auf das Problem zu werfen , Es ist möglich, automatisch Strategien zu bilden Je größer das neuronale Netzwerk ist, desto besser ist es - aber folglich sind noch mehr Computer erforderlich. Das ist meiner Meinung nach besser günstiger als zu versuchen, viele hochkreative analytische hart arbeitende Leute einzustellen.17 9k Views View Upvotes Nicht für Reproduktion. Ich bin eigentlich am Anfang von meinem automatisierten Trading-System, die Antwort auf Ihre Frage ist, wie wollen Sie Geld verdienen, wollen Sie Daytrade oder kaufen und halten über die Zeit, was sind Ihre Metriken Gehend, um eine gute Handelsinvestition zu betrachten Sie müssen über den Markt wissen, den Sie zu dienen, in Ihrem Fall die Börse Wenn Sie gehen, um ein Lernen algo für LKW-Strecken zu machen, sollten Sie wissen, die möglichen Variablen in Lkw-entlang beteiligt Mit welchen potentiellen Fallströmen wirst du hineingehen. Du kannst alle Antworten in der Welt bekommen, aber wenn du kein sehr kluger Coder bist, der fast unendliche Variablen einnehmen und ihre Bedeutung und Beziehung zueinander beschreiben kann. Data ist auch eine Überlegung , Wie viele Aktien werden Sie zu verfolgen, welche Art von Daten benötigen Sie Diese Feeds werden in die Tausende Monat potenziell laufen. Nach dem Weg nach unten diesen Weg für das vergangene Jahr, es ist ein großer Job und Barriere für den Eintrag Sie müssen das Wissen zu bekommen Und Blaupause deine Strategie.4 2k Ansichten View Upvotes Nicht für Reproduction. Tad Slaff studierte an der University of Colorado Boulder. Hier ist eine einfache einfache Schritt-für-Schritt-Anleitung zur Verwendung eines Machine-Learning-Algorithmus zu handeln Es ist eine grundlegende Übersicht und sollte Gib dir die Informationen, die du brauchst, um deine eigenen zu bauen. Ansichten sehen Upvotes Nicht für Reproduktion. Ich bin nicht ganz sicher, wenn diese Frage hier passt. Ich habe vor kurzem begonnen, lesen und lernen über maschinelles Lernen Kann jemand etwas Licht auf, wie zu werfen Um es zu übergehen, oder lieber kann jeder seine Erfahrung und einige grundlegende Hinweise darüber, wie man darüber geht oder atleast anfangen, es anzuwenden, um einige Ergebnisse aus Datensätzen zu sehen. Wie ehrgeizig dies klingt. Auch, erwähnen Sie über Standard-Algorithmen, die versucht werden sollten Oder schaute, während dies zu tun. asked Feb 1 11 bei 18 35.Es scheint ein Grundsatz der Irrtum zu sein, dass jemand kommen kann und lernen Sie einige maschinelle Lern - oder AI-Algorithmen, stellen Sie sie als Black Box auf, gehen Sie los und setzen Sie sich zurück Während sie in Rente gehen. Meine Ratschläge für Sie. Learn Statistiken und Maschine Lernen zuerst, dann Sorgen darüber, wie man sie auf ein gegebenes Problem anzuwenden Es gibt kein freies Mittagessen hier Datenanalyse ist harte Arbeit Lesen Sie die Elemente des statistischen Lernens das pdf ist kostenlos verfügbar Auf der Website, und don t beginnen versuchen, ein Modell zu bauen, bis Sie mindestens die ersten 8 Kapitel verstehen. Wenn Sie verstehen, die Statistiken und maschinelles Lernen, dann müssen Sie lernen, wie man Backtest und bauen ein Handelsmodell, Buchhaltung für Transaktionskosten , Etc, die eine ganz andere area. After Sie haben einen Griff auf die Analyse und die Finanzierung, dann wird es etwas offensichtlich, wie man es anwenden Der ganze Punkt dieser Algorithmen versucht, einen Weg finden, um ein Modell an Daten passen Und produzieren niedrige Bias und Varianz in der Vorhersage, dh dass die Ausbildung und Test Vorhersage Fehler wird niedrig und ähnlich Hier ist ein Beispiel für ein Handelssystem mit einem Support-Vektor-Maschine in R aber nur im Hinterkopf behalten, dass Sie sich selbst einen riesigen Bärendienst tun wird Wenn Sie don t verbringen die Zeit, um die Grundlagen zu verstehen, bevor Sie versuchen, etwas Esoterik anzuwenden. Just, um ein unterhaltsames Update hinzufügen Ich kürzlich kam über diese Master-Thesis Ein Novel Algorithmic Trading Framework Anwendung Evolution und Machine Learning für Portfolio-Optimierung 2012 Es ist eine umfangreiche Überprüfung der verschiedenen maschinellen Lernansätze im Vergleich zum Buy-and-Hold Nach fast 200 Seiten erreichen sie die Basis-Schlussfolgerung Kein Handelssystem konnte die Benchmark bei Transaktionskosten übertreffen. Unnötig zu sagen, das bedeutet nicht, dass es getan werden kann Ich habe keine Zeit damit verbracht, ihre Methoden zu überprüfen, um die Gültigkeit des Ansatzes zu sehen, aber es gibt sicherlich noch mehr Beweise für das nichtfreie Mittagessen Theorem. answered am 1. Februar 11 um 18 48. Jase Als einer der Autoren der Erwähnt Master-Thesis Ich kann meine eigene Arbeit zitieren und sagen Wenn jemand tatsächlich rentable Ergebnisse erzielt, gibt es keinen Anreiz, sie zu teilen, da es ihren Vorteil negieren würde. Obwohl unsere Ergebnisse die Markthypothese unterstützen könnten, ist es nicht der Existenz von Systemen auszuschließen Diese Arbeit Es könnte wie Wahrscheinlichkeitstheorie sein Es wird spekuliert, dass Durchbrüche auf dem Gebiet der Wahrscheinlichkeitstheorie mehrmals passiert sind, aber niemals geteilt Das könnte aufgrund seiner praktischen Anwendung im Glücksspiel sein. Dann wieder, vielleicht ist das alles moderne Alchemie Andr Christoffer Andersen Apr 30 13 bei 10 01.Meine Ratschläge für Sie Es gibt mehrere Maschinelles Lernen Künstliche Intelligenz ML AI Zweige da draußen. Ich habe nur versucht genetische Programmierung und einige neuronale Netze, und ich persönlich denke, dass das Lernen aus Erfahrung Zweig scheint das meiste Potential zu haben GP GA und neuronale Netze scheinen die am häufigsten erforschten Methoden für die Zwecke der Börsenvorhersagen zu sein, aber wenn Sie einige Data Mining auf Predict Wall Street Sie vielleicht in der Lage, einige Stimmung Analyse zu tun. Sprechen einige Zeit lernen über die verschiedenen ML AI-Techniken, finden Sie einige Marktdaten und versuchen, einige dieser Algorithmen zu implementieren Jeder wird seine Stärken und Schwächen haben, aber Sie können in der Lage, die Vorhersagen jedes Algorithmus zu einer zusammengesetzten Vorhersage ähnlich wie die Gewinner des NetFlix-Preises zu kombinieren Did. Some Resources Hier sind einige Ressourcen, die Sie vielleicht in suchen wollen. Chatter Der allgemeine Konsens unter den Händlern ist, dass Künstliche Intelligenz ist eine Voodoo-Wissenschaft, können Sie t machen einen Computer vorhersagen Aktienkurse und Sie sicher sein, Ihr Geld zu verlieren, wenn Sie versuchen es zu tun Trotzdem werden die gleichen Leute Ihnen sagen, dass nur über die einzige Möglichkeit, Geld zu verdienen auf der Börse ist zu bauen und zu verbessern auf Ihre eigene Handelsstrategie und folgen Sie es genau, die nicht wirklich eine schlechte idea. The Idee von AI-Algorithmen ist nicht zu bauen Chip und lassen Sie ihn für Sie handeln, sondern um den Prozess der Schaffung von Strategien Es ist ein sehr langwieriger Prozess und keineswegs ist es einfach. Minimizing Overfitting Wie wir schon einmal gehört haben, ist ein grundlegendes Problem mit AI-Algorithmen Überfüllung aka Datamining Bias bei einem Satz von Daten, kann Ihr AI-Algorithmus ein Muster, das besonders relevant für die Trainingssatz ist, aber es kann nicht relevant sein, in der Test-Set. Es gibt mehrere Möglichkeiten, um Überfüllung zu minimieren. Verwenden Sie eine Validierung gesetzt it doesn T geben Rückmeldung an den Algorithmus, aber es erlaubt Ihnen zu erkennen, wann Ihr Algorithmus ist potenziell beginnen zu übertreiben, dh Sie können das Training zu stoppen, wenn Sie zu viel zu viel. Use Online-Maschine lernen es weitgehend eliminiert die Notwendigkeit für Back-Testing und es ist sehr Anwendbar für Algorithmen, die versuchen, Marktvorhersagen zu machen. Ensemble Learning bietet Ihnen einen Weg, um mehrere maschinelle Lernalgorithmen zu nehmen und ihre Vorhersagen zu kombinieren. Die Annahme ist, dass verschiedene Algorithmen die Daten in einigen Bereichen übertreiben können, aber die richtige Kombination ihrer Vorhersagen wird Haben eine bessere prädiktive power. Two Aspekte des statistischen Lernens sind nützlich für den Handel.1 Zuerst die oben erwähnten einige statistische Methoden konzentriert sich auf die Arbeit auf Live-Datasets Es bedeutet, dass Sie wissen, dass Sie nur ein Beispiel von Daten beobachten und Sie wollen Sie so extrapolieren Müssen sich mit Stichproben und Stichproben auseinandersetzen, übertreffen und so weiter Aus dieser Sicht ist der Data-Mining mehr auf tote Datasets fokussiert, dh man kann fast alle Daten sehen, man hat nur ein Problem als das statistische Lernen Statistisches Lernen geht es darum, auf Live-Dataset zu arbeiten, die angewandten Mathematik, die sich mit ihnen befassen, mussten sich auf ein Problem mit zwei Skalen konzentrieren. Links XF theta Xn, xi L pi Xn, n Ende rechts, wo X ist der multidimensionale Zustand Raum zu studieren Sie haben in ihr Ihre erklärenden Variablen und die zu prognostizieren, F enthält die Dynamik von X, die einige Parameter brauchen theta Die Zufälligkeit von X Stammt aus der innovation xi, das ist das Ziel des statistischen Lernens ist es, eine Methodik zu errichten, die als Eingaben eine partielle Beobachtung pi von X und schrittweise Anpassung einer Schätzung Hut Theta von Theta, so dass wir wissen, alles, was benötigt wird Auf X. Wenn du darüber nachdenkst, statistisches Lernen zu finden, um die Parameter einer linearen Regression zu finden, können wir den Zustandsraum wie diese Unterblende modellieren yx Ende rechts links beginnen ab 1 1 0 0 Ende rechts cdot underbrace x 1 epsilon Ende rechts, das so erlaubt Beobachten Sie y, xn an jedem n hier theta a, b. Dann müssen Sie einen Weg finden, um schrittweise einen Schätzer von Theta mit unseren Beobachtungen zu bauen Warum nicht ein Steigung Abstieg auf den L2 Abstand zwischen y und der Regression C Hut a, Hut bn Summe yk - Hut a, xk Hut b 2.Here Gamma ist ein Gewichtungsschema. Usually eine schöne Art, einen Schätzer zu bauen ist, um richtig zu schreiben die Kriterien zu minimieren und implementieren eine Steigung Abstieg, die das Lernschema L. Going zurück zu produzieren wird Unsere ursprüngliche generische Problem brauchen wir einige angewandte Mathematik zu wissen, wenn Paar dynamische Systeme in X, Hut Theta konvergieren, und wir müssen wissen, wie man Schätzung Schemata L, die auf die ursprüngliche theta. konvergieren, um Ihnen Zeiger auf solche mathematischen Ergebnisse zu bauen Können wir auf den zweiten Aspekt des statistischen Lernens zurückgreifen, der für quant-Trader-Strategen sehr interessant ist.2 Die Ergebnisse, die verwendet werden, um die Effizienz von statistischen Lernmethoden zu beweisen, können verwendet werden, um die Effizienz von Handelsalgorithmen zu beweisen Um zu sehen, dass es genug ist zu lesen Wieder das gekoppelte dynamische System, das erlaubt, statistisches Lernen zu schreiben, ließ MF rho Mn, xi L pi Mn, n Ende rechts. Now M sind Marktvariablen, Rho liegt unter PnL, L ist eine Handelsstrategie Ersetzen Sie einfach die Minimierung eines Kriteriums durch die Maximierung der PnL. See zum Beispiel Optimale Aufteilung der Aufträge über Liquiditätspools ein stochatischer Algorithmus-Ansatz von Gilles Pags, Sophie Laruelle, Charles-Albert Lehalle in diesem Papier, zeigen Autoren, wer diesen Ansatz nutzen, um einen Auftrag über verschiedene dunkle Pools, die gleichzeitig die Fähigkeit erlernen, optimal zu teilen Der Pools, um Liquidität und die Nutzung der Ergebnisse zu handeln. Die statistischen Lern-Tools können verwendet werden, um iterative Handelsstrategien zu bauen die meisten von ihnen sind iterative und beweisen ihre Effizienz. Die kurze und brutale Antwort ist Sie don t Erstens, weil ML und Statistik Ist nicht etwas, das du in ein oder zwei Jahren gut beherrschen kannst Mein empfohlener Zeithorizont um etwas Untriviales zu lernen ist 10 Jahre ML kein Rezept, um Geld zu verdienen, aber nur ein anderes Mittel, um die Realität zu beobachten Zweitens, denn jeder gute Statistiker weiß das Verständnis der Daten und die Problem-Domain ist 80 der Arbeit Das ist der Grund, warum Sie Statistiker haben, die sich auf die Physik-Datenanalyse, auf die Genomik, auf die Sabermetriken usw. konzentrieren. Für den Rekord ist Jerome Friedman, Co-Autor von ESL, der oben zitiert wurde, ein Physiker und hält immer noch eine Höflichkeit Position bei SLAC. So, Studie Statistik und Finanzen für ein paar Jahre Seien Sie geduldig Gehen Sie Ihre eigene way. Mileage kann variieren. answered Feb 9 11 at 4 41.Ich bin völlig einverstanden Nur weil Sie messen Lernen und Statistiken wissen, bedeutet es nicht Dass Sie wissen, wie man es zur Finanzierung von Dr. Mike Aug 10 11 bei 20 25.Also eine wichtige Sache zu erinnern ist Sie gewann t Handel gegen Menschen zu handeln, werden Sie handeln gegen andere künstliche Intelligenz Algorithmen, die Ihre Trades Haufen in, Und sind wütend berechnen die Chancen, dass die kollektiven yous würde durch einen hergestellten Rückgang spooked und nehmen, dass geringe Verlust bei der Schaffung eines Spike Dip und Narr alle diese AI s in Stoppen, und dann rollen das Dip zurück in sie und reiten die Welle , Verdienen Sie Ihre Verluste Die Börse ist ein Null Summe Spiel, behandeln Sie es wie die Eingabe eines Profi-Box-Match, wenn Sie aren ta 20 Jahre Veteran, werden Sie gehen zu verlieren Eric Leschinski 13. Februar 16 bei 1 56.One grundlegende Anwendung ist voraussagende finanzielle Distress. Get eine Reihe von Daten mit einigen Unternehmen, die ausgefallen sind, und andere, die Port t, mit einer Vielzahl von finanziellen Informationen und Verhältnisse. Use eine Maschine Lernmethode wie SVM zu sehen, ob Sie vorhersagen können, welche Unternehmen werden standardmäßig und was wird Not. Verwenden Sie diese SVM in der Zukunft zu kurzen High-Wahrscheinlichkeit Default-Unternehmen und lange Low-Wahrscheinlichkeit Default-Unternehmen, mit dem Erlös der kurzen Verkäufe. Es gibt ein Sprichwort Picking Pennies up vor Dampfwalzen Sie tun das Äquivalent zu verkaufen Ein Out-of-the-money-put In diesem Fall werden Sie winzige Gewinne seit Jahren, dann bekommen total gereinigt, wenn der Markt schmilzt alle 10 Jahre oder so Es gibt auch eine gleichwertige Strategie, die out-of-the - Geld setzt sie verlieren Geld für Jahre, dann machen Sie eine Tötung, wenn der Markt schmilzt See Talab s Der Schwarze Schwan Contango Jun 5 11 um 22 20.Denken Sie daran, dass internationale Unternehmen haben Hunderte von Milliarden von Dollar und Mann Stunden auf die besten und ausgegeben Hellste künstliche Intelligenz Köpfe in den letzten 40 Jahren habe ich gesprochen, einige der Türme des Geistes verantwortlich für die Alphas über bei Zitadelle und Goldman Sachs, und die Hybris von Anfänger zu denken, sie können zusammen einen Algorithmus, der Zehe zu Fuß mit Sie, und gewinnen, ist fast so dumm wie ein Kind, das Ihnen sagt, dass er auf den Mond springen wird Viel Glück Kind, und achten Sie auf die Raummärtner Nicht zu sagen, dass neue Meister gemacht werden können, aber die Chancen sind gegen Sie Eric Leschinski 13. Februar 16 um 2 00.Eine Möglichkeit der Erkundung ist es, die Unterstützung Vektor Maschine Lern-Tool auf der Metatrader 5-Plattform verwenden, erstens, wenn Sie nicht vertraut mit ihm, Metatrader 5 ist eine Plattform für Benutzer entwickelt, um algorithmischen Handel in Forex zu implementieren Und CFD-Märkte Ich bin mir nicht sicher, ob die Plattform auf Aktien und andere Märkte erweitert werden kann. Es wird typischerweise für technische Analyse-basierte Strategien verwendet, dh mit Indikatoren, die auf historischen Daten basieren und von Menschen benutzt werden, die ihren Handel automatisieren möchten. Die Unterstützung Vector Machine Learning Tool wurde von einer der Community von Benutzern entwickelt, um die Unterstützung von Vektor-Maschinen auf technische Indikatoren angewendet werden und beraten auf Trades Eine kostenlose Demo-Version des Tools kann hier heruntergeladen werden, wenn Sie weiter zu untersuchen wollen. Ich verstehe es, die Tool verwendet historische Preisdaten zu beurteilen, ob hypothetische Trades in der Vergangenheit erfolgreich gewesen wäre Dann nimmt diese Daten zusammen mit den historischen Werten aus einer Reihe von anpassbaren Indikatoren MACD, Oszillatoren usw., und nutzt dies, um eine Support-Vektor-Maschine zu trainieren Dann verwendet es Die ausgebildete Unterstützung Vektor-Maschine zu signalisieren zukünftige Kauf verkaufen Trades Eine bessere Beschreibung finden Sie bei der Link. Ich habe herum gespielt ein wenig mit einigen sehr interessante Ergebnisse, aber wie bei allen algorithmischen Trading-Strategien Ich empfehle solide Rückwärts-Testen vor der Einnahme Es zum lebenden Markt. answered Dec 10 12 bei 11 59.Sorry, aber trotz der Verwendung als ein populäres Beispiel im maschinellen Lernen, hat niemand jemals eine Börsenvorhersage erreicht. Es funktioniert nicht für mehrere Gründe überprüfen zufälligen Spaziergang von Fama Und ein bisschen von anderen, rationalen Entscheidungen, die Irrtümer, falsche Annahmen machen, aber das überzeugendste ist, dass, wenn es funktionieren würde, jemand in der Lage wäre, innerhalb von Monaten wahnsinnig reich zu werden, im Grunde, die ganze Welt zu besitzen, da dies nicht geschieht und Sie Kann sicher sein, dass alle Bank es ausprobiert hat, wir haben gute Beweise dafür, dass es einfach nicht funktioniert. Besides Wie denkst du, du wirst erreichen, was Zehntausende von Profis versäumt haben, mit den gleichen Methoden, die sie haben, plus begrenzt Ressourcen und nur grundlegende Versionen ihrer Methoden. answered Jun 4 15 bei 7 47.Just eine beiseite in Bezug auf Ihre überzeugendsten Grund Strategien haben Kapazitätsgrenzen, dh Ebenen, über die Ihre Markt Auswirkungen würde die verfügbaren Alpha überschreiten, auch vorausgesetzt, Sie hatten unbegrenzte Kapital I Ich bin mir nicht sicher, was Sie mit einem Börsenvorhersageindex Futures ETF s, aber sicherlich gibt es viele Leute, die kurzfristige Vorhersagen und profitieren von ihnen, jeden Tag in den Märkten afekz Nov 23 15 um 13 19.Ich hallo viel von Was Shane schrieb Neben dem Lesen von ESL, würde ich vorschlagen, eine noch fundamentalere Studie der Statistiken zuerst Darüber hinaus sind die Probleme, die ich in einer anderen Frage an diesem Austausch skizzierte, sehr relevant. Insbesondere ist das Problem der Datamination Bias eine ernsthafte Roadblock zu Irgendeine maschinell lernende Strategie. Diese Post wird detailliert, was ich getan habe, um ca. 500k vom Hochfrequenzhandel von 2009 bis 2010 zu machen. Da ich völlig unabhängig handelte und nicht mehr mein Programm laufe, bin ich glücklich, alles zu erzählen Mein Handel war meistens in Russel 2000 und DAX-Futures-Kontrakte. Der Schlüssel zu meinem Erfolg war, glaube ich, nicht in einer anspruchsvollen finanziellen Gleichung, sondern in der Gesamt-Algorithmus-Design, die viele einfache Komponenten zusammengebunden und das maschinelle Lernen für maximale Profitabilität optimiert hat Kenne jede anspruchsvolle Terminologie hier, denn wenn ich mein Programm einrichte, war alles auf Intuition basiert Andrew Ng s erstaunliche Maschine Lernkurs war noch nicht verfügbar - btw, wenn du auf diesen Link klickst, wirst du zu meinem aktuellen Projekt CourseTalk, ein Rezensionsseite für MOOCs, genommen . Zuerst möchte ich nur zeigen, dass mein Erfolg nicht einfach das Ergebnis des Glücks war Mein Programm machte 1000-4000 Trades pro Tag halb so lang, halb kurz und nie in Positionen von mehr als ein paar Verträge zu einer Zeit Dies bedeutete die zufällige Glück von jedem einzelnen Handel gemittelt ziemlich schnell Das Ergebnis war ich nie verloren mehr als 2000 an einem Tag und hatte nie einen verlorenen Monat. BEARBEITEN Diese Zahlen sind nach Bezahlung von Provisionen. Und hier sa Diagramm, um Ihnen ein Gefühl der täglichen Variation Hinweis, dass dies schließt die letzten 7 Monate, weil - da die Zahlen gestoppt steigen - ich meine Motivation verloren, um sie zu betreten. Meine Trading-Hintergrund. Prior Um mein automatisiertes Handelsprogramm einzurichten Ich hatte 2 Jahre Erfahrung als manueller Tag Trader Dies war wieder im Jahr 2001 - es war die frühen Tage des elektronischen Handels und es gab Möglichkeiten für Skalierer, gutes Geld zu machen Ich kann nur beschreiben, was ich tat So ähnlich wie ein Videospiel spielen mit einer vermeintlichen Kante Als erfolgreich zu sein, war schnell, diszipliniert und mit einer guten intuitiven Muster Anerkennung Fähigkeiten konnte ich rund 250k machen, bezahlen meine Studenten Darlehen und haben Geld über Win. Over verlassen In den nächsten fünf Jahren würde ich zwei Startups starten und dabei einige Programmierkenntnisse auf dem Weg abholen. Es würde bis spätestens 2008 sein, dass ich wieder in den Handel zurückkehren würde. Mit dem Geld, das von dem Verkauf meines ersten Startpreises niedrig ist, gehandelt angebotenen Hoffnungen auf etwas schnell Bargeld, während ich herausgefunden meine nächste move. In 2008 war ich manuell Tag Handel Futures mit Software namens T4 Ich wollte einige benutzerdefinierte Bestellung Eintrag Hotkeys, so nach der Entdeckung T4 hatte eine API, nahm ich auf die Herausforderung des Lernens C die Programmiersprache Musste die API benutzen und ging weiter und baute mir einige Hotkeys. Nachdem ich meine Füße nass mit der API hatte, hatte ich bald größere Bestrebungen, die ich dem Computer beibringen wollte, für mich zu handeln. Die API stellte sowohl einen Strom von Marktdaten als auch einen einfachen Weg zur Verfügung Um Aufträge an den Austausch zu schicken - alles was ich tun musste, war die Logik in der Mitte zu schaffen. Below ist ein Screenshot eines T4 Trading Fensters Was war cool war das, als ich mein Programm arbeitete, konnte ich den Computerhandel darauf anschauen Genaue gleiche Schnittstelle Das Aufpassen von echten Befehlen, die in und aus sich selbst mit meinem echten Geld auftauchen, war sowohl spannend als auch beängstigend. Das Design meines Algorithmus. Von Anfang an war mein Ziel, ein System so einzurichten, dass ich vernünftig zuversichtlich war, dass ich vorher Geld verdiene Jemals machen alle Live-Trades Um dies zu erreichen, brauchte ich, um ein Trading-Simulation-Framework, das - so genau wie möglich - simulieren Live-Trading. While Handel im Live-Modus erforderlich Verarbeitung Marktaktualisierungen durch die API gestreamt, Simulations-Modus erforderlich Lesung Markt Updates von einem Datendatei Um diese Daten zu sammeln, setze ich die erste Version meines Programms ein, um einfach eine Verbindung zur API herzustellen und Marktaktualisierungen mit Zeitstempeln aufzuzeichnen. Ich habe mit 4 Wochen im Wert von aktuellen Marktdaten gearbeitet, um mein System zu trainieren und zu testen. Mit einem Grundrahmen in Platz Ich hatte immer noch die Aufgabe herauszufinden, wie man ein profitables Trading-System machen Wie sich herausstellt, würde mein Algorithmus in zwei verschiedene Komponenten zerfallen, die ich später erforschen werde. Predicting Preisbewegungen und. Making profitable Trades. Predicting Preisbewegungen. Vielleicht ist ein offensichtlicher Bestandteil eines jeden Handelssystems in der Lage zu prognostizieren, wo die Preise verschieben werden Und meine war keine Ausnahme Ich habe den aktuellen Preis als der Durchschnitt der Innen-Bid und Insider-Angebot definiert und ich habe das Ziel der Vorhersage, wo der Preis wäre in Die nächsten 10 Sekunden Mein Algorithmus müsste diese Vorhersage Moment für jeden Moment während des Trading Day. Creating Optimierung Indikatoren. Ich habe eine Handvoll von Indikatoren, die eine sinnvolle Fähigkeit, kurzfristige Preisbewegungen vorhersagen Jeder Indikator produziert Eine Zahl, die entweder positiv oder negativ war Ein Indikator war nützlich, wenn mehr als oft nicht eine positive Zahl mit dem Markt überging und eine negative Zahl entsprach mit dem Markt nach unten. Mein System erlaubte mir schnell zu bestimmen, wie viel prädiktive Fähigkeit jeder Indikator Hatte so konnte ich mit vielen verschiedenen Indikatoren experimentieren, um zu sehen, was funktionierte Viele der Indikatoren hatten Variablen in den Formeln, die sie produzierten, und ich konnte die optimalen Werte für diese Variablen finden, indem sie nebeneinander Vergleiche der erzielten Ergebnisse machten Mit unterschiedlichen Werten. Die Indikatoren, die am nützlichsten waren, waren alle relativ einfach und basierten auf den jüngsten Ereignissen auf dem Markt, den ich handelte, sowie die Märkte der korrelierten Wertpapiere. Making genaue Preis bewegen Vorhersagen. Haben Indikatoren, die einfach vorhergesagt, up oder down Preisbewegung war nicht genug, ich musste genau wissen, wie viel Preisbewegungen von jedem möglichen Wert jedes Indikators vorhergesagt wurde. Ich brauchte eine Formel, die einen Indikatorwert auf einen Preisvorhersage umwandeln würde. Um dies zu erreichen, habe ich die vorhergesagten Preisbewegungen in 50 Eimern verfolgt Hing von der Reichweite, dass der Indikator Wert fiel in Dies produziert einzigartige Vorhersagen für jeden Eimer, dass ich dann in der Lage, Grafik in Excel Wie Sie sehen können, die erwartete Preisänderung erhöht, wie der Indikator Wert erhöht. Basiert auf einem Diagramm wie dies war ich In der Lage, eine Formel zu machen, um die Kurve anzupassen Im Anfang habe ich diese Kurve passend manuell, aber ich schrieb bald einen Code, um diesen Prozess zu automatisieren. Hinweis, dass nicht alle Indikator Kurven die gleiche Form haben Auch beachten Sie die Eimer wurden logarithmisch verteilt, so wie Um die Daten gleichmäßig zu verbreiten Schließlich bemerken Sie, dass negative Indikatorwerte und ihre entsprechenden Abwärtspreisvorhersagen umgedreht wurden und mit den positiven Werten kombiniert wurden. Mein Algorithmus behandelte genau die gleichen Binärindikatoren für eine einzelne Vorhersage. Wichtig war, dass jeder Indikator war nicht ganz unabhängig Ich konnte nicht einfach nur addieren alle Vorhersagen, dass jeder Indikator individuell gemacht Der Schlüssel war, um herauszufinden, die zusätzlichen prädiktiven Wert, dass jeder Indikator hatte über das, was bereits vorhergesagt Dies war nicht schwer zu implementieren, aber es bedeutete Dass, wenn ich Kurve passend mehrere Indikatoren zur gleichen Zeit musste ich vorsichtig ändern, würde man die Vorhersagen von einem anderen zu beeinflussen. Um zu konvertieren alle Indikatoren zur gleichen Zeit Ich setze den Optimierer zu Schritt nur 30 der Weg In Richtung der neuen Vorhersagekurven mit jedem Durchlauf Mit diesem 30 Sprung fand ich, dass sich die Vorhersagekurven innerhalb einiger Pässe stabilisieren würden. Mit jedem Indikator, der uns jetzt eine zusätzliche Preisvorhersage gibt, könnte ich sie einfach addieren, um eine einzige Vorhersage zu erzeugen, wo die Markt wäre in 10 Sekunden. Warche Vorhersage Preise ist nicht genug. Sie könnten denken, dass mit diesem Rand auf dem Markt war ich golden Aber Sie müssen im Hinterkopf behalten, dass der Markt besteht aus Angeboten und Angeboten - es ist nicht nur ein Marktpreis Erfolg in Hochfrequenz-Handel kommt auf gute Preise und es ist nicht so einfach. Die folgenden Faktoren machen die Schaffung eines rentablen System schwierig. Mit jedem Handel musste ich Provisionen sowohl für meine Makler und die Börse bezahlen Höchstgebot und niedrigstes Angebot bedeutete, dass ich, wenn ich einfach zufällig kaufen und verkaufen würde, eine Tonne Geld verlieren würde. Die meisten der Marktvolumen waren andere Bots, die nur einen Handel mit mir ausführen würden, wenn sie dachten, sie hätten einen statistischen Rand. Ein Angebot zu sehen, garantierte nicht, dass ich es kaufen konnte. Zu der Zeit, als mein Kaufauftrag an die Börse kam, war es sehr möglich, dass dieses Angebot abgebrochen wäre. Als ein kleiner Marktspieler gab es keinen Weg, den ich auf die Geschwindigkeit allein konkurrieren konnte Eine vollständige Trading-Simulation. So hatte ich einen Rahmen, der mir erlaubt, Backtest und Optimierung Indikatoren Aber ich musste darüber hinaus - ich brauchte ein Framework, das mir erlauben würde, backtest und optimieren ein volles Handelssystem ein, wo ich war Bestellungen und bekommen In Positionen In diesem Fall würde ich für die Gesamt-PL und bis zu einem gewissen Grad durchschnittlichen PL pro Handel optimieren. Dies wäre schwieriger und in gewisser Weise unmöglich, genau zu modellieren, aber ich tat so gut wie ich konnte Hier sind einige der Probleme, die ich hatte Beschäftigen sich. Wenn ein Auftrag an den Markt in der Simulation geschickt wurde, musste ich die Verzögerungszeit modellieren Die Tatsache, dass mein System ein Angebot sah, bedeutete nicht, dass es es sofort kaufen konnte. Das System würde den Auftrag senden, ca. 20 Millisekunden warten und Dann nur dann, wenn das Angebot noch da war, wurde es als ein ausgeführter Handel angesehen. Dies war ungenau, weil die reale Verzögerungszeit inkonsistent und nicht gemeldet war. Als ich Angebote oder Angebote platzierte, musste ich den von der API bereitgestellten Handelsausführungsstrom betrachten und diese nutzen Um zu beurteilen, wann meine Bestellung hätte hingerichtet werden können Um dies zu tun, musste ich die Position meiner Bestellung in der Warteschlange verfolgen. Es war ein erstes erstes System. Ich konnte das nicht perfekt machen, aber ich habe eine optimale Annäherung gemacht. Um meine Auftragsausführungs-Simulation zu verfeinern, was ich tat, war meine Log-Dateien aus dem Live-Trading über die API und vergleichen sie mit Log-Dateien, die von simulierten Trading aus der gleichen Zeitspanne produziert wurde, konnte ich meine Simulation auf den Punkt, dass es hübsch war Genaue und für die Teile, die unmöglich waren, genau zu modellieren, stellte ich sicher, dass ich zumindest Resultate erzähle, die in den Metriken statistisch ähnlich waren, die ich für wichtig hielt. Profitables Handeln. Mit einem Auftragssimulationsmodell konnte ich jetzt im Simulationsmodus Bestellungen senden Und sehen Sie eine simulierte PL Aber wie würde mein System wissen, wann und wo zu kaufen und zu verkaufen. Die Preis bewegen Prognosen waren ein Ausgangspunkt, aber nicht die ganze Geschichte Was ich tat, war ein Scoring-System für jedes von 5 Preisniveaus auf dem Gebot und Angebot Diese beinhalten eine Ebene über dem Innengebot für einen Kaufauftrag und eine Ebene unterhalb des Innenangebots für einen Verkaufsauftrag. Wenn die Punktzahl zu einem bestimmten Preisniveau über einer bestimmten Schwelle lag, würde das mein System ein aktives Angebot bieten - unterhalb der Schwelle, dann sollten alle aktiven Aufträge abgesagt werden. Basierend darauf war es nicht ungewöhnlich, dass mein System ein Gebot auf dem Markt blinkt und dann sofort abbrechen würde. Obwohl ich versuchte, das zu minimieren, da es nervig ist, wie jemand, der auf den Bildschirm schaut Mit menschlichen Augen - einschließlich mich. Die Preisniveau-Scores wurden auf der Grundlage der folgenden Faktoren berechnet. Die Preisbewegungsvorhersage, die wir früher besprochen haben. Das Preisniveau in Frage Inneren Ebenen bedeutete größere Preisbewegungsvorhersagen erforderlich waren. Die Anzahl der Verträge vor Meine Bestellung in der Warteschlange Weniger war besser. Die Anzahl der Verträge hinter meiner Bestellung in der Warteschlange Mehr war besser. Essentiell diese Faktoren dienten dazu, sichere Orte zu bieten bieten Angebot Die Preisbewegung Vorhersage allein war nicht ausreichend, weil es nicht für die Tatsache verantwortlich war Dass ich bei der Abgabe eines Gebotes nicht automatisch gefüllt war - ich bin nur gefüllt, wenn mir jemand dort verkauft wurde. Die Realität war, dass die bloße Tatsache, dass jemand, der mir zu einem bestimmten Preis verkaufte, die statistischen Chancen des Handels veränderte. Die Variablen, die in diesem verwendet wurden Schritt waren alle der Optimierung unterworfen Dies geschah genau so wie ich die Variablen in den Preisbewegungsindikatoren optimierte, außer in diesem Fall optimierte ich für die untere Zeile P L. Was mein Programm ignoriert. Wenn wir als Menschen handeln, haben wir oft starke Emotionen Und Verzerrungen, die zu weniger als optimalen Entscheidungen führen können Klar, dass ich diese Vorurteile nicht kodifizieren wollte Hier sind einige Faktoren, die mein System ignoriert hat. Der Preis, den eine Position eingegeben hat - In einem Handelsbüro ist es ziemlich üblich, Konversation über den Preis zu hören Was jemand lang oder kurz ist, als ob das seine künftige Entscheidungsfindung beeinflussen würde. Während dies eine gewisse Gültigkeit als Teil einer Risikominderungsstrategie hat, hat es wirklich keinen Einfluss auf den zukünftigen Verlauf der Ereignisse auf dem Markt. Daher hat mein Programm diese Information völlig ignoriert Das gleiche Konzept wie ignoriert versunkenen Kosten. Going kurz vs verlassen eine lange Position - Typischerweise würde ein Händler haben unterschiedliche Kriterien, die bestimmt, wo man eine lange Position zu verkaufen, um zu gehen, um zu gehen, aber aus meiner Algorithmen Perspektive gab es keinen Grund, einen Unterschied zu machen Wenn Mein Algorithmus erwartete einen Abwärtsbewegungsverkauf war eine gute Idee, egal ob es derzeit lang, kurz oder flach war. Verdoppelung der Strategie - Dies ist eine gemeinsame Strategie, bei der Händler mehr Lager kaufen werden, falls dort der ursprüngliche Handel gegen sie geht Dies führt dazu, dass Ihr durchschnittlicher Kaufpreis niedriger ist und es bedeutet, wann oder wenn der Bestand um sich herum dreht, werden Sie gesetzt, um Ihr Geld zurück in kürzester Zeit zu machen. Meiner Meinung nach ist das wirklich eine schreckliche Strategie, wenn Sie nicht Warren Buffet Sie wieder in das Denken ausgetrickst Sie sind gut, weil die meisten Ihrer Trades werden Gewinner Das Problem ist, wenn Sie verlieren Sie verlieren groß Der andere Effekt ist es macht es schwer zu beurteilen, wenn Sie tatsächlich eine Kante auf dem Markt haben oder sind nur immer glücklich In der Lage zu überwachen und Bestätigen Sie, dass mein Programm in der Tat eine Kante war ein wichtiges Ziel. Seit mein Algorithmus Entscheidungen auf die gleiche Weise, unabhängig davon, wo es einen Handel trat oder wenn es derzeit lang oder kurz war es gelegentlich sitzen und nehmen einige große verlieren Trades in Zusätzlich zu einigen großen Gewinnen Trades Aber Sie sollten nicht denken, es war kein Risiko-Management. Um das Risiko zu verwalten, habe ich eine maximale Position Größe von 2 Verträge zu einem Zeitpunkt, gelegentlich gestoßen auf hohe Volumen Tage Ich hatte auch eine maximale tägliche Verlustgrenze Um gegen irgendwelche unerwarteten Marktbedingungen oder einen Bug in meiner Software zu schützen Diese Grenzen wurden in meinem Code aber auch im Backend durch meinen Makler erzwungen. Wie es passiert ist, habe ich niemals irgendwelche signifikanten Probleme erlebt. Das Ausführen des Algorithmus. Von dem Moment an, als ich anfing, an meinem zu arbeiten Programm dauert es mir etwa 6 Monate, bevor ich es auf den Punkt der Rentabilität und begonnen, es zu leben, obwohl, um fair zu sein, eine erhebliche Menge an Zeit war das Erlernen einer neuen Programmiersprache Als ich arbeitete, um das Programm zu verbessern, sah ich erhöhte Gewinne für jeden von Die nächsten vier Monate. Jede Woche würde ich mein System auf der Grundlage der vorherigen 4 Wochen im Wert von Daten umkreisen Ich fand, dass dies die richtige Balance zwischen der Erfassung der jüngsten Markt Verhaltens-Trends und versichert mein Algorithmus hatte genug Daten, um sinnvolle Muster zu etablieren Als die Ausbildung begann zu nehmen Mehr und mehr Zeit habe ich es aufgeteilt, so dass es von 8 virtuellen Maschinen mit amazon EC2 durchgeführt werden konnte. Die Ergebnisse wurden dann auf meiner lokalen Maschine verschmolzen. Der Höhepunkt meines Handels war Oktober 2009, als ich fast 100k machte. Danach ging ich weiter Verbringen die nächsten vier Monate versuchen, mein Programm trotz gesunkenen Profit jeden Monat zu verbessern Leider zu diesem Zeitpunkt Ich denke, ich d implementiert alle meine besten Ideen, weil nichts, was ich versucht schien viel zu helfen. Mit der Frustration nicht in der Lage, Verbesserungen zu machen und nicht mit Ein Gefühl des Wachstums begann ich darüber nachzudenken, eine neue Richtung Ich per E-Mail 6 verschiedene Hochfrequenz-Handelsfirmen zu sehen, ob sie sich daran interessiert, meine Software zu kaufen und mich einzustellen, um für sie zu arbeiten Niemand antwortete ich hatte einige neue Startup-Ideen, die ich arbeiten wollte Also habe ich niemals nachgeholt. UPDATE - ich habe das auf Hacker News gepostet und es hat viel Aufmerksamkeit bekommen, ich möchte nur sagen, dass ich niemanden befürworte, der versucht, so etwas selbst zu tun. Du brauchst ein Team von wirklich klugen Leuten Mit einer Reihe von Erfahrungen, um irgendeine Hoffnung auf Konkurrenz zu haben Selbst wenn ich dies tat, glaube ich, dass es sehr selten für Einzelpersonen war, um Erfolg zu erzielen, obwohl ich von anderen gehört hatte. Es gibt einen Kommentar an der Oberseite der Seite, die manipulierte Statistiken erwähnt Bezieht sich auf mich als Retail-Investor, dass Quants würde gerne abholen Dies ist ein ziemlich unglücklicher Kommentar, dass s einfach nicht in der Realität basiert Einstellung, dass beiseite gibt es einige interessante Kommentare. UPDATE 2 - Ich habe eine Follow-up-FAQ, die einige gemeinsame beantwortet Fragen, die ich von Händlern über diesen Beitrag erhalten habe.


No comments:

Post a Comment