Monday 29 May 2017

Hft Handelssystem


Hochfrequenz-Trading-System-Design und Prozess-Management Hochfrequenz-Trading-System-Design und Prozess-Management Berater: Roy E. Welsch. Abteilung: Systemdesign und Managementprogramm. Herausgeber: Massachusetts Institute of Technology Datum der Herausgabe: 2009 Handelsunternehmen sind heutzutage sehr stark auf Data Mining, Computermodellierung und Softwareentwicklung angewiesen. Financial Analysts erfüllen viele ähnliche Aufgaben wie die in der Software-und Fertigungsindustrie. Allerdings hat die Finanzbranche noch nicht in vollem Umfang verabschiedet High-Standard-Systeme Engineering Frameworks und Prozess-Management-Ansätze, die erfolgreich in der Software-und Fertigungsindustrie waren. Viele der traditionellen Methoden des Produktdesigns, der Qualitätskontrolle, der systematischen Innovation und der kontinuierlichen Verbesserung, die in Ingenieurdisziplinen gefunden werden, können auf den Finanzbereich angewendet werden. Diese Arbeit zeigt, wie das Wissen aus Ingenieurdisziplinen das Design und Prozessmanagement von Hochfrequenz-Handelssystemen verbessern kann. Hochfrequenz-Handelssysteme sind rechnerisch. Diese Systeme sind automatische oder halbautomatische Softwaresysteme, die von Natur aus komplex sind und ein hohes Maß an Konstruktionsgenauigkeit erfordern. Der Entwurf eines Hochfrequenz-Handelssystems verbindet mehrere Felder, darunter quantitative Finanzen, Systemdesign und Software-Engineering. In der Finanzbranche, wo mathematische Theorien und Handelsmodelle relativ gut recherchiert sind, ist die Fähigkeit, diese Entwürfe in echten Handelspraktiken umzusetzen, eines der Schlüsselelemente der Wettbewerbsfähigkeit einer Wertpapierfirma. Die Fähigkeit, Investmentideen effizient und effizient in leistungsfähige Handelssysteme zu verwandeln, kann einer Investmentfirma einen enormen Wettbewerbsvorteil verschaffen. (Fortsetzung) Diese Diplomarbeit enthält eine detaillierte Studie, die sich aus Hochfrequenzsystemen, Systemmodellen und - grundsätzen sowie Prozessmanagement zusammensetzt Für die Systementwicklung. Besonderes Augenmerk wird auf Backtesting und Optimierung gelegt, die als die wichtigsten Bestandteile beim Aufbau eines Handelssystems gelten. Diese Forschung baut System-Engineering-Modelle, die den Entwicklungsprozess zu führen. Es verwendet auch experimentelle Handelssysteme zur Überprüfung und Validierung von Grundsätzen, die in dieser Arbeit behandelt werden. Schließlich kommt diese These zu dem Schluss, dass systemtechnische Grundlagen und Rahmenbedingungen der Schlüssel zum Erfolg für die Durchführung hochfrequenter Handelssysteme oder quantitativer Investitionssysteme sein können. Thesis (S. M.) - Massachusetts Institut für Technologie, System Design und Management-Programm, 2009. Cataloged aus PDF-Version der Arbeit. Enthält bibliographische Hinweise (S. 78-79). Schlüsselwörter: System Design and Management Program. HiFREQ ist eine leistungsfähige algorithmische Engine, die Händlern die Möglichkeit gibt, HFT-Strategien für Aktien, Futures, Optionen und Devisenhandel zu implementieren, ohne die Zeit und Ressourcen in den Aufbau und die Erhaltung ihrer investieren zu müssen Eigene Technologieinfrastruktur. Es bietet alle wesentlichen Komponenten, um den Durchsatz von Zehntausenden von Aufträgen pro Sekunde bei Sub-Millisekunden-Latenz zu erleichtern. HiFREQ kann unabhängig als eigenständige Black-Box-Trading-Lösung oder als Teil der InfoReach TMS-Handelsplattform für ein komplettes End-to-End-Handelssystem genutzt werden. Die offene, brokerneutrale Architektur ermöglicht es Benutzern, proprietäre, komplexe Handelsstrategien sowie Zugriffsalgorithmen von Brokern und anderen Drittanbietern zu erstellen und einzusetzen. Aufträge können zu jedem globalen Marktziel über InfoReachs interne Low-Latency FIX Engine geleitet werden. Multi-Asset Global Equities, Futures, Optionen und FX Risikocontrol HiFREQ bietet eine Risikobewertung jeder Auftragsanforderung und stellt die Einhaltung vorkonfigurierter firmenspezifischer Handelsbedingungen sicher. Broker neutral HiFREQ verbindet Sie mit den mehreren Brokern, Börsen und ECNs. Zentrale Überwachung und Steuerung Während Komponenten von HiFREQ auf verschiedene geographische Standorte verteilt werden können, können alle Performance - und Kontrollfunktionen der Strategie von einem zentralen, entfernten Standort aus durchgeführt werden. HiFREQ kann 20.000 Aufträge pro Sekunde pro FIX-Verbindung ausführen. Mit zwei oder mehr FIX-Verbindungen kann der Durchsatz erheblich gesteigert werden. Low Latency Die von dem Punkt HiFREQ gemessene Roundtrip-Latenz im Submillisekundenbereich erhält einen FIX-Ausführungsbericht an den Punkt, an dem HiFREQ das Senden einer FIX-Auftragsnachricht abschließt. Verteilt und skalierbar Um die Effizienz und Performance der Handelsstrategien zu erhöhen, können ihre Komponenten so konzipiert werden, dass sie gleichzeitig laufen. Strategiekomponenten können auch auf mehreren Servern bereitgestellt werden, die mit verschiedenen Ausführungsorten zusammengeführt werden können. Sie können nie stillstehen, denn egal, wie viele Tausende oder Millionen von Dollar Sie verbringen die Schaffung der Infrastruktur. Zeitschrift. InfoReach holt Händler, die schnell gehen Schnell InfoReach will kleineren Geschäften die Werkzeuge geben, um Hochfrequenzhändler zu sein. VERDRAHTET. Untersuchung: Das Geschäft des Hochfrequenzhandels InfoReach, ein auf Handelstechnologie spezialisiertes Unternehmen, verfügt über Plattformen, die mehr als 10.000 Bestellungen pro Sekunde ausführen können InfoReach präsentiert High-Frequency-Trading-Modul auf der FIA Expo Letzte Neuigkeiten in der InfoReach TMS - - frequency-algorithmische Handelsstrategien Märkte Medien: Qualität der Handelssoftware unter dem Mikroskop InfoReach hat in seinen Multi-Broker-Handelssystemen Risikobegrenzungen eingebunden, die manuell, algorithmisch, via API oder via FIXThis Post entstanden sind. 500k von Hochfrequenz-Handel von 2009 bis 2010. Da ich völlig unabhängig handelte und nicht mehr läuft mein Programm Irsquom glücklich, alles zu erzählen. Mein Handel war überwiegend in Russel 2000 und DAX-Futures-Kontrakten. Der Schlüssel zu meinem Erfolg war, glaube ich, nicht in einer ausgefeilten finanziellen Gleichung, sondern in der Gesamt-Algorithmus-Design, das viele einfache Komponenten und benutzte Maschine Lernen, um für maximale Rentabilität zu optimieren gebunden. Sie müssen nicht wissen, jede anspruchsvolle Terminologie hier, weil, wenn ich mein Programm Setup war alles auf Intuition basiert. (Andrew Ngrsquos erstaunliche Maschine Lernkurs war noch nicht verfügbar - btw wenn Sie klicken, dass Link yoursquoll zu meinem aktuellen Projekt genommen werden: CourseTalk, ein Review-Site für MOOCs) Zuerst möchte ich nur zeigen, dass mein Erfolg war nicht einfach das Ergebnis von Glück. Mein Programm machte 1000-4000 Trades pro Tag (halb lang, halb kurz) und nie in Positionen von mehr als ein paar Verträge auf einmal bekommen. Dies bedeutete das zufällige Glück von einem bestimmten Handel gemittelt ziemlich schnell. Das Ergebnis war, ich habe nie mehr als 2000 an einem Tag verloren und hatte nie einen verlierenden Monat: (EDIT. Diese Zahlen sind nach Bezahlung Provisionen) Und herersquos ein Diagramm, um Ihnen ein Gefühl für die tägliche Variation. Beachten Sie dies schließt die letzten 7 Monate aus, weil - als die Figuren aufhörten zu gehen - verlor ich meine Motivation, sie einzutragen. Mein Handel Hintergrund Vor der Einrichtung meiner automatisierten Handelsprogramm Irsquod hatte 2 Jahre Erfahrung als ldquomanualrdquo Day Trader. Dies war wieder im Jahr 2001 - es war die frühen Tage des elektronischen Handels und es gab Möglichkeiten für ldquoscalpersrdquo gutes Geld zu machen. Ich kann nur beschreiben, was ich tat so ähnlich wie ein Videospiel spielen mit einer vermeintlichen Kante. Erfolgreich zu sein bedeutete, schnell zu sein, diszipliniert zu sein, und hatte eine gute intuitive Mustererkennung Fähigkeiten. Ich konnte rund 250k zu machen, meine Studenten Darlehen auszahlen und haben Geld übrig. Win In den nächsten fünf Jahren würde ich starten zwei Start-ups, Abholung einige Programmierkenntnisse auf dem Weg. Es wouldnrsquot sein bis spätes 2008, dass ich zurück in den Handel erhalten würde. Mit Geld, das vom Verkauf meiner ersten Inbetriebnahme niedrig läuft, lieferte Handel Hoffnungen von etwas schnellem Bargeld, während ich meinen folgenden Zug herausfand. Im Jahr 2008 war ich ldquomanuallyrdquo Day Trading Futures mit Software namens T4. Irsquod wünschte einige benutzerdefinierte Reihenfolge Eingabe Hotkeys, so dass nach der Entdeckung T4 hatte eine API, nahm ich auf die Herausforderung des Lernens C (die Programmiersprache erforderlich, um die API verwenden) und ging voran und baute mir einige Hotkeys. Nachdem ich meine Füße nass mit der API hatte ich bald größere Anstrengungen: Ich wollte den Computer lehren, für mich zu handeln. Die API stellte sowohl einen Strom von Marktdaten und eine einfache Möglichkeit, Aufträge an die Börse zu senden - alles, was ich tun musste, war die Logik in der Mitte zu schaffen. Unten ist ein Screenshot eines T4-Handelsfensters. Was war cool ist, dass, wenn ich mein Programm arbeiten konnte ich konnte den Computer-Handel auf dieser exakt gleichen Schnittstelle zu sehen. Es war spannend und beängstigend, echte Aufträge zu sehen, die rein und raus gingen (von selbst mit meinem echten Geld). Das Design meines Algorithmus Von Anfang an war es mein Ziel, ein System so zu gründen, dass ich zuversichtlich sein konnte, dass Irsquod Geld verdiene, bevor es irgendwelche Live-Trades macht. Um dies zu erreichen, musste ich ein Handels-Simulations-Framework erstellen, das - so genau wie möglich - den Live-Handel simulieren würde. Während der Handel im Live-Modus erforderlich Verarbeitung Marktaktualisierungen durch die API gestreamt, erforderte Simulation-Modus Markt-Updates aus einer Datei. Um diese Daten zu sammeln, richte ich die erste Version meines Programms ein, um einfach eine Verbindung zur API herzustellen und Marktaktualisierungen mit Zeitstempeln aufzuzeichnen. Ich landete mit 4 Wochen im Wert von aktuellen Marktdaten zu trainieren und testen mein System auf. Mit einem grundlegenden Rahmen an Ort und Stelle hatte ich noch die Aufgabe, herauszufinden, wie man ein profitables Handelssystem zu machen. Wie sich herausstellt, würde mein Algorithmus in zwei unterschiedliche Komponenten zerfallen, die Irsquoll wiederum erforscht: Predicting Preisbewegungen und Making profitable Trades Predicting Preisbewegungen Vielleicht eine offensichtliche Komponente eines jeden Handelssystems ist in der Lage zu prognostizieren, wo die Preise bewegen wird. Und meine war keine Ausnahme. Ich definiert den aktuellen Preis als den Durchschnitt des Innenangebots und Innenangebot und ich habe das Ziel der Vorhersage, wo der Preis wäre in den nächsten 10 Sekunden. Mein Algorithmus müsste mit dieser Vorhersage Moment-für-Moment über den Handelstag kommen. Erstellen von Amp-Optimierung Indikatoren Ich habe eine Handvoll von Indikatoren, die eine aussagekräftige Fähigkeit, kurzfristige Preisbewegungen vorherzusagen erwiesen haben. Jeder Indikator produzierte eine Zahl, die entweder positiv oder negativ war. Ein Indikator war nützlich, wenn mehr als oft nicht eine positive Zahl mit dem Markt stieg und eine negative Zahl entsprach mit dem Markt sinkt. Mein System erlaubte mir, schnell zu bestimmen, wieviel prädiktive Fähigkeit jeder Indikator hatte, also 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 war in der Lage, die optimalen Werte für diese Variablen zu finden, indem wir nebeneinander Vergleiche von Ergebnissen mit unterschiedlichen Werten erzielten. Die Indikatoren, die am nützlichsten waren, waren alle relativ einfach und basierten auf den jüngsten Ereignissen auf dem Markt, auf dem ich handelte, sowie auf den Märkten der korrelierten Wertpapiere. Machen genaue Preisverschiebung Vorhersagen Indikatoren, die einfach prognostiziert eine aufwärts oder abwärts Preis Bewegung wasnrsquot genug. Ich musste genau wissen, wie viel Preisbewegung von jedem möglichen Wert eines jeden Indikators vorhergesagt wurde. Ich brauchte eine Formel, die einen Indikatorwert in eine Preisvorhersage umwandeln würde. Um dies zu erreichen, verfolgte ich vorhergesagte Preisbewegungen in 50 Eimern, die von der Reichweite abhingen, die der Indikatorwert fiel. Dieses erzeugte einzigartige Vorhersagen für jeden Eimer, den ich damals in Excel grafisch darstellen konnte. Wie Sie sehen können, steigt die erwartete Preisänderung mit steigendem Indikatorwert. Ausgehend von einem Diagramm wie diesem konnte ich eine Formel an die Kurve anpassen. Am Anfang habe ich diese ldquocurve fittingrdquo manuell, aber ich bald schrieb einige Code, um diesen Prozess zu automatisieren. Beachten Sie, dass nicht alle Anzeigekurven die gleiche Form hatten. Auch die Eimer wurden logarithmisch verteilt, um die Datenpunkte gleichmäßig zu verteilen. Schließlich ist zu beachten, dass negative Indikatorwerte (und ihre entsprechenden Preissenkungen) umgedreht und mit den positiven Werten verknüpft wurden. (Mein Algorithmus behandelte oben und unten genau dasselbe.) Kombinieren von Indikatoren für eine einzige Vorhersage Wichtig zu beachten war, dass jeder Indikator nicht völlig unabhängig war. Ich couldnrsquot einfach nur addieren Sie 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 wurde. Dieses wasnrsquot zu schwierig zu implementieren, aber es bedeutete, dass, wenn ich ldquocurve fittingrdquo mehrere Indikatoren gleichzeitig war, musste ich vorsichtig sein zu ändern, würde man die Vorhersagen eines anderen. Um alle möglichen Indikatoren gleichzeitig anzupassen, setze ich den Optimierer ein, um nur 30 des Weges zu den neuen Vorhersagekurven mit jedem Durchlauf Schritt zu machen. Mit diesem 30 Sprung fand ich, dass sich die Vorhersagekurven innerhalb einiger Pässe stabilisieren würden. Mit jedem Indikator jetzt geben uns itrsquos zusätzliche Preisvorhersage könnte ich einfach addieren sie bis zu einer einzigen Vorhersage, wo der Markt in 10 Sekunden wäre zu produzieren. Warum die Vorhersage der Preise ist nicht genug Sie könnten denken, dass mit diesem Rand auf dem Markt war ich golden. Aber Sie müssen bedenken, dass der Markt aus Angeboten und Angeboten besteht - itrsquos nicht nur ein Marktpreis. Erfolg im Hochfrequenzhandel kommt, um immer gute Preise und itrsquos nicht so einfach. Die folgenden Faktoren machen die Schaffung eines rentablen Systems schwierig: Bei jedem Handel musste ich Provisionen an meinen Broker und die Börse bezahlen. Die Ausbreitung (Differenz zwischen dem Höchstgebot und dem niedrigsten Angebot) bedeutete, dass, wenn ich einfach zufällig kaufen und verkaufen sollte Irsquod eine Tonne Geld verlieren würde. Die meisten des Marktvolumens waren andere Bots, die nur einen Handel mit mir ausführen würden, wenn sie dachten, sie hätten einen statistischen Vorteil. Ein Angebot zu sehen, konnte nicht garantieren, dass ich es kaufen konnte. Als meine Bestellung an die Börse gekommen war, war es sehr möglich, dass dieses Angebot storniert worden wäre. Als kleiner Marktspieler gab es keine Möglichkeit, mit der Geschwindigkeit allein zu konkurrieren. Aufbau einer vollen Handelssimulation So hatte ich einen Rahmen, der mir erlaubt, Indikatoren zu hinterfragen und zu optimieren. Aber ich musste darüber hinausgehen - ich brauchte einen Rahmen, der es mir erlaubte, ein vollständiges Handelssystem zu testen und zu optimieren, wo ich Aufträge abschickte und in Positionen eintrat. In diesem Fall Irsquod optimieren für insgesamt PampL und zu einem gewissen Grad durchschnittliche PampL pro Handel. Das wäre schwieriger und in mancher Hinsicht unmöglich, genau zu modellieren, aber ich tat, so gut ich konnte. Hier sind einige der Probleme, mit denen ich zu tun hatte: Wenn eine Bestellung an den Markt in der Simulation gesendet 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, etwa 20 Millisekunden warten und dann nur dann, wenn das Angebot noch da war, wurde es als ausgeführter Handel betrachtet. Dies war ungenau, weil die reale Verzögerungszeit war inkonsistent und nicht gemeldet. Als ich Angebote oder Angebote platzierte, musste ich mir den Handelsausführungsstrom anschauen (der von der API zur Verfügung gestellt wurde) und diese nutzen, um festzustellen, wann meine Bestellung ausgeführt worden wäre. Um dies zu tun, musste ich die Position meiner Bestellung in der Warteschlange verfolgen. (Itrsquos ein first-in first-out System.) Wieder könnte ich das nicht perfekt tun, aber ich habe eine beste Annäherung. Um meine Auftragsausführungssimulation zu verfeinern, was ich tat, war, meine Protokollakten vom Phasenhandeln durch die API zu nehmen und sie zu den Protokollakten zu vergleichen, die durch simulierten Handel von der exakt gleichen Zeitperiode erzeugt wurden. Ich war in der Lage, meine Simulation auf den Punkt zu bringen, dass es ziemlich genau war und für die Teile, die unmöglich waren, genau zu modellieren, sorgte ich mindestens zu Ergebnissen, die statistisch ähnlich waren (in den Metriken, die ich für wichtig halte). Profitables Handeln Mit einem Auftragssimulationsmodell konnte ich nun Aufträge im Simulationsmodus senden und einen simulierten Pampl sehen. Aber wie würde mein System wissen, wann und wo zu kaufen und zu verkaufen Die Preisprognosen waren ein Ausgangspunkt, aber nicht die ganze Geschichte. Was ich tat, war ein Scoring-System für jedes der 5 Preisniveaus auf das Angebot und Angebot zu schaffen. Diese beinhalteten eine Stufe über dem Innenangebot (für einen Kaufauftrag) und eine Ebene unter dem Innenangebot (für einen Verkaufsauftrag). Wenn die Punktzahl bei irgendeinem gegebenen Preisniveau über einem bestimmten Schwellenwert lag, was bedeutet, daß mein System einen aktiven Bidoffer dort haben sollte - unterhalb der Schwelle sollten dann alle aktiven Aufträge abgebrochen werden. Basierend auf diesem war es nicht ungewöhnlich, dass mein System würde ein Gebot auf dem Markt blinken dann sofort abbrechen. (Obwohl ich versuchte, diese als itrsquos ärgerlich als Heck zu jedermann mit Blick auf den Bildschirm mit menschlichen Augen - einschließlich mich zu minimieren.) Die Preisniveau-Scores wurden auf der Grundlage der folgenden Faktoren berechnet: Die Preisprognose (die wir früher besprochen). Das Preisniveau in Frage. (Innenstufen bedeuteten höhere Kursbewegungsvorhersagen waren erforderlich.) Die Anzahl der Verträge vor meiner Bestellung in der Warteschlange. (Weniger war besser.) Die Anzahl der Verträge hinter meiner Bestellung in der Warteschlange. (Mehr war besser.) Im Wesentlichen diese Faktoren dienten dazu, ldquosaferdquo Orten zu bidoffer zu identifizieren. Die Preisbewegungsvorhersage allein war nicht adäquat, weil sie nicht die Tatsache berücksichtigte, dass ich bei der Abgabe eines Gebots nicht automatisch gefüllt war - ich wurde nur gefüllt, wenn mir jemand verkaufte. Die Realität war, dass die bloße Tatsache, dass jemand zu einem bestimmten Preis an mich verkaufte, die statistischen Quoten des Handels änderte. Die Variablen, die in diesem Schritt verwendet wurden, waren alle einer Optimierung unterworfen. Dies geschah auf die gleiche Weise wie ich Variablen in den Kursbewegungsindikatoren optimierte, außer in diesem Fall optimierte ich für untere Zeile PampL. Was mein Programm ignoriert Beim Handel als Menschen haben wir oft starke Emotionen und Vorurteile, die zu weniger als optimalen Entscheidungen führen können. Natürlich wollte ich diese Vorurteile nicht kodifizieren. Hier sind einige Faktoren, die mein System ignoriert: Der Preis, dass eine Position eingegeben wurde - In einem Handelsbüro Itrsquos ziemlich häufig, um Gespräche über den Preis zu hören, bei denen jemand lang oder kurz ist, als ob das ihre zukünftige Entscheidungsfindung Wirkung sollte. Dies hat zwar eine gewisse Gültigkeit als Teil einer Risikominderungsstrategie, hat aber keinen Einfluss auf den künftigen Marktverlauf. Daher ignorierte mein Programm diese Informationen vollständig. Itrsquos das gleiche Konzept als Ignorieren versunkenen Kosten. Going Short vs austreten eine lange Position - Typischerweise würde ein Trader haben verschiedene Kriterien, die bestimmt, wo eine lange Position zu verkaufen, wo man kurz gehen zu verkaufen. Aber aus meiner Algorithmen Sicht gab es keinen Grund, eine Unterscheidung zu machen. Wenn mein Algorithmus erwartet eine Abwärtsbewegung Verkauf war eine gute Idee, unabhängig davon, ob es war derzeit lang, kurz, oder flach. Eine ldquodoubling uprdquo Strategie - Dies ist eine gemeinsame Strategie, wo die Händler kaufen mehr Lager für den Fall, dass es ursprünglichen Handel geht gegen sie. Dies führt zu Ihren durchschnittlichen Kaufpreis niedriger und es bedeutet, wenn (oder wenn) der Bestand dreht sich um Ihr Geld eingestellt werden, um Ihr Geld zurück in kürzester Zeit zu machen. Meiner Meinung nach ist dies wirklich eine schreckliche Strategie, es sei denn, deinsquore Warren Buffet. Yoursquore versuchte zu denken, dass es dir gut geht, weil die meisten deiner Trades Gewinner sind. Das Problem ist, wenn Sie verlieren verlieren Sie große. Der andere Effekt ist es macht es schwer zu beurteilen, wenn Sie tatsächlich eine Kante auf dem Markt haben oder einfach nur Glück haben. In der Lage zu überwachen und zu bestätigen, dass mein Programm hat in der Tat eine Kante war ein wichtiges Ziel. Da mein Algorithmus Entscheidungen auf die gleiche Weise getroffen hat, unabhängig davon, wo er in ein Handelsregister eingegangen ist oder ob es kurz oder lang war, setzte es gelegentlich einige große Verlusthandels (und einige große Gewinntrades) ein. Aber Sie sollten nicht denken, es gibt kein Risikomanagement. Um das Risiko zu bewältigen, erzwang ich eine maximale Positionsgröße von 2 Verträgen zu einer Zeit, gelegentlich stieß auf hohe Volumetage. Ich hatte auch eine maximale tägliche Verlustgrenze zum Schutz gegen alle unerwarteten Marktbedingungen oder einen Bug in meiner Software. Diese Grenzen wurden in meinem Code, sondern auch im Backend durch meine Broker durchgesetzt. Wie es passiert habe ich nie irgendwelche Probleme festgestellt. Den Algorithmus ausführen Von dem Moment an, als ich anfing, an meinem Programm zu arbeiten, benötigte ich ungefähr 6 Monate, bevor ich es zum Punkt der Rentabilität erhielt und anfing, es lebend zu laufen. Obwohl fair zu sein, eine erhebliche Menge an Zeit war das Erlernen einer neuen Programmiersprache. Während ich arbeitete, um das Programm zu verbessern, sah ich erhöhte Gewinne für jeden der folgenden vier Monate. Jede Woche würde ich mein System auf der Grundlage der vorherigen 4 Wochen Wert von Daten umschulen. Ich fand, dass dies die richtige Balance zwischen der Erfassung der jüngsten Markt Verhaltenstendenzen und versicherte, mein Algorithmus hatte genug Daten, um sinnvolle Muster. Als das Training begann mehr und mehr Zeit teilte ich es aus, so dass es von 8 virtuellen Maschinen mit amazon EC2 durchgeführt werden könnte. Die Ergebnisse wurden dann auf meiner lokalen Maschine koalesziert. Der Höhepunkt meines Handels war Oktober 2009, als ich fast 100k machte. Danach habe ich weiterhin die nächsten vier Monate zu versuchen, mein Programm trotz sinkenden Gewinn jeden Monat zu verbessern. Leider an diesem Punkt Ich denke Irsquod implementiert alle meine besten Ideen, weil nichts, was ich versucht schien, viel zu helfen. Mit der Frustration, nicht in der Lage, Verbesserungen und nicht mit einem Gefühl des Wachstums zu machen, begann ich darüber nachzudenken, eine neue Richtung. Ich emailed 6 verschiedene Hochfrequenzhandelsfirmen, um zu sehen, wenn theyrsquod am Kauf meiner Software interessiert sein und mich anstellen, um für sie zu arbeiten. Niemand antwortete. Ich hatte einige neue Startup Ideen, die ich arbeiten wollte, so dass ich nie verfolgt. UPDATE - Ich habe dies auf Hacker News gepostet und es hat viel Aufmerksamkeit bekommen. Ich möchte nur sagen, dass ich niemanden dafür plädiere, so etwas jetzt selbst zu tun. Sie brauchen ein Team von wirklich intelligenten Menschen mit einer Reihe von Erfahrungen, um jede Hoffnung auf Konkurrenz haben. Selbst wenn ich das tat, glaube ich, es war sehr selten für Einzelpersonen, Erfolg zu erzielen (obwohl ich von anderen gehört hatte). Es gibt einen Kommentar am Anfang der Seite, die manipulierte Statistiken erwähnt und bezieht sich auf mich als ein ldquoretail investorrdquo, die quants Würde ldquogleefully wählen offrdquo. Das ist ein ziemlich unglücklicher Kommentar thatrsquos einfach nicht in Wirklichkeit basiert. Einstellung, die beiseite therersquos einige interessante Kommentare: news. ycombinatoritemid4748624 UPDATE 2 - Irsquove gepostet eine Follow-up-FAQ, dass einige häufige Fragen beantwortet Irsquove von Händlern über diesen Beitrag erhalten.

No comments:

Post a Comment