Thursday, 21 September 2017

Trading System Maschinen Lernen


Machine Learning Prague 2017 Sprecher der weltweit führenden Unternehmen Stellen Sie sich vor, wie viel Sie von einer Person lernen können, die hinter den Algorithmen von Facebooks News Feed oder von der Person, die Yahoos Algorithmus mit Milliarden von Clickstreams trainiert hat. Innovation aus dem Feld 14 Stunden voller Hands-on-Informationen. Es ist kein akademisches Ereignis, es sind nicht nur Theorien. Sie sehen echte Anwendungen des maschinellen Lernens. Internationales Umfeld Die Referenten und das Publikum kommen aus vielen Ländern der Welt. Die Konferenzsprache ist Englisch. Menschen, Diskussionen und Prag Es geht nicht um die Vorträge Lernen Sie interessante Menschen kennen, diskutieren Sie Ihre Ideen und genießen Sie Parties in der Innenstadt von Prag Wir werden Ihre Kumpel die ganze Zeit Wir organisieren Touren, wo Sie die schönsten Orte von Prag entdecken werden , Schmecke die besten lokalen Biere und diskutiere mit anderen heißen Themen im maschinellen Lernen. Sorgen Sie sich nicht um Unterkunft, Transport oder Information während der Konferenz. Wir helfen Ihnen bei allem, was Sie brauchen. Eingeladen Konferenzsprecher Lars Backstrom Bei Facebook hat er zuerst an den Leuten gearbeitet, die Sie System kennen können. Seit 2010 arbeitete ich an News Feed und versuchte, den Social Graph zu verstehen, um alle mit ihren Freunden und der Welt zu verbinden, indem ich die relevantesten Inhalte zeigte. Direktor von Engineering, Facebook Yufeng Guo Yufeng ist ein Entwickler Advocate für die Google Cloud Platform, wo er die Lücke zwischen der Entwickler-Community und Engineering-Teams überbrückt. Er interessiert sich für neue und interessante Anwendungen des maschinellen Lernens. Entwickler-Anwalt, Google Pierre Baldi Der langfristige Fokus der Pierres-Forschung ist es, Intelligenz in Gehirn und Maschinen zu verstehen. Er hat mehrere Beiträge zur Theorie der neuronalen Netze geleistet und tiefgreifende Methoden für Probleme in den Naturwissenschaften entwickelt und angewendet. Kanzler Professor amp Direktor des Instituts für Genomik und Bioinformatik, Universität von Kalifornien Bradford Cross Bradford ist ein Gründungspartner bei DCVC, dem weltweit führenden Maschinenlernen und großen Data Venture Capital Fund. Er gründete zwei Startups seit 2009 ndash Prismatic und Flightcaster. Sein aktueller Fokus ist Fintech und Anwendungen der rechnerischen Gesundheit und der Machine Vision. Partner, DCVC amp Gründer von Prismatic Kristinn R. Thorisson Kristinn ist der Gründer des isländischen Instituts für intelligente Maschinen und ein Mitbegründer des Zentrums für die Analyse und Gestaltung von intelligenten Agenten. Er ist einer der führenden Befürworter der künstlichen Intelligenz-Systemintegration und der Autor einer neuen Methodik zur Erreichung künstlicher allgemeiner Intelligenz. Professor, Reykjavik University amp Managing Director, Icelandic Institute for Intelligent Machines Maria Vircikova Maria ist Chief Innovation Officer in Matsuko, ein Spielstudio, das auch erweiterte Verstärker Virtual Reality Installationen entwickelt. Mit einem Hintergrund in AI und Mensch-Roboter-Interaktion, wendet sie maschinelles Lernen in die Schaffung von Technologie, die mit Menschen und ihre Umgebung interagiert. Chief Innovation Officer, Matsuko Roman V. Yampolskiy Roman ist die Gründung und derzeitiger Direktor des Cyber ​​Security Lab an der University of Louisville. Seine Hauptzwecke sind AI Sicherheit, künstliche Intelligenz, Verhaltensbiometrie, Cybersecurity, digitale Forensik, Spiele, genetische Algorithmen und Pattern Recognition Tenured Associate Professor, Universität Louisville Michal Illich Michal ist Gründer von Jyxo, einem ehemaligen führenden Suchtechnologie-Anbieter in die tschechische Republik. Derzeit arbeitet er an mehreren neuen Projekten mit strukturierten Daten, Bildverarbeitung, algorithmischem Handel und maschinellem Lernen. Entrepreneur, StartupYard, Wikidi Ralph Hinsche In seiner letzten Position war Ralph Key Account Manager bei Rundschreiben für fast 10 Jahre vor allem im Bereich der HPC. Es gab enge Kooperationen mit SUN Microsystems und DELL. Jetzt ist er in der DACH-Region als Business Development Manager für GPU-Computing (Tesla) und Deep Learning bei NVIDIA verantwortlich. Business Development Manager, Nvidia Michael Kearns Michaels Forschungsinteressen gehören Themen in maschinelles Lernen, künstliche Intelligenz, algorithmische Spieltheorie, computational Social Science und quantitativen Handel. Er hat in der Technologie - und Finanzbranche konsultiert und gearbeitet. Professor, Universität von Pennsylvania Germn Creamer Germn ist Associate Professor für quantitative Finanzierung und Business Analytics am Stevens Institute of Technology und ein Adjunct Associate Professor an der Columbia University. Er war Wirtschaftsberater des Präsidenten von Ecuador und der Regierung von Äquatorial Guinnea. Associate Professor, Stevens Institute of Technology und Columbia University Chris Wiggins Chris ist ein Gründungsmitglied des Executive Committee des Data Science Institute an der Columbia University und der Chief Data Scientist an der New York Times. Er ist Mitbegründer und Mitorganisator von hackNY (hackNY. org). Chief Data Scientist, New York Times David Gerster David Gerster ist VP von Data Science bei BigML, wo er die Idee evangelisiert, dass die Datenwissenschaft einfach ist. Bei Groupon baute er ein Elite-Datenwissenschaftler-Team, das die ersten Modelle für Mobile-Deal-Relevanz trainierte. Bei Yahoo sammelte er Milliarden von Clickstreams, um den Yahoos-Suchalgorithmus zu trainieren. VP von Data Science, BigML Lukas Vrabel Lukas arbeitet als Forschungsteam bei Seznam. cz. Sein Team arbeitet an der Realisierung von verschiedenen maschinellen Lernaufgaben von Text - und Webseitenanalyse bis hin zur Bilderkennung. Research Team Lead, Seznam. cz Tomas Pevny Tomas hält die Position des Forschers an der CTU in Prag und Technical Lead bei Cisco Systems, Inc. Er erhielt seinen Doktorat In CS von SUNY in Binghamton im Jahr 2008 und MS in CS bei CTU in Prag im Jahr 2003. Er hat ein Jahr in Gipsa-Labor in Grenoble, Frankreich als Post-Doc verbracht. Seine Reseach konzentriert sich auf das maschinelle Lernen in Sicherheitsdomänen. Technischer Leiter, Cisco Wojciech Indyk Wojciechs Forschungsinteressen gehören Themen in groß angelegte verteilte Verarbeitung, relationales maschinelles Lernen, Zeitreihenmodellierung, große Daten-Software-Architektur. Er beteiligte sich an mehreren Maschinenlernprojekten in Medien-, Telekommunikations-, Finanz - und Fertigungsbereichen. Data Scientist, Konica Minolta Forschungslabor Europa Martin Vejmelka 09.00 ndash 10.30 Einführung in das Verstärkungslernen (1) Das Verstärkungslernen (RL) ist eine Technik, die in der Vergangenheit bis in die frühen 80er Jahre zurückreicht. Es wurde vor kurzem sehr populär wegen der Verwendung von tiefen neuronalen Netzwerken als Funktion Approximatoren, im sogenannten DQN (tiefes Q-Netzwerk). Die breite Anwendung von DQNs reicht vom Spielen von ATARI-Spielen aus rohen Pixeln, spielen Brettspiel von Go zur Optimierung großer Kühlsysteme in Rechenzentren. In diesem Workshop werden wir im ersten Teil die Grundtheorie des Q-Learning und DQN, die jüngsten Fortschritte und die zukünftige Entwicklung, die wir erwarten könnten, abdecken. Im zweiten Teil werden wir durch Quellcodes des RL-Algorithmus gehen und es auf ein Problem aus dem beliebten OpenAI-Fitnessstudio trainieren. Die Konvergenz auf härtere Probleme kann mehrere Tage dauern, damit wir das Training auf einfachere Aufgabe machen, die während des Workshops durchgeführt werden kann. Für diesen Workshop ist eine Zwischenstufe von Python erforderlich. Michal Sustr, Tschechische Technische Universität amp Milan Le, Charles University Fortgeschrittene Datenanalyse auf Hadoop-Clustern (1) Das Ziel dieses Workshops ist es, den Teilnehmern eine Blaupause zu geben, um eine end-to-End-Unternehmen bereit ML-Lösung zu etablieren und ihre Verwendung auf typischen ML Corporate zu demonstrieren Anwendungsfälle (telco, digitales Marketing). Im ersten Teil werden wir die Basis für die Analyse der Daten mit Clouderas CDH-Plattform erstellen. Die Plattform wird für die Datenwissenschaft Workloads einschließlich der Integration der notwendigen Werkzeuge eingerichtet werden. Wir werden auch auf Best Practices und Fallstricke hinweisen, um zu vermeiden, wenn wir die Plattform mit ML-Workloads in Unternehmensumgebungen betreiben. Die zweite Session widmet sich der Echtzeit-Einnahme und Analyse von Live-Daten gegen vorbereitete Modelle auf unserer zuvor erstellten Plattform. In der dritten Sitzung wird im Detail auf einige spezifische maschinelle Lerntechniken in der telco-Industrie verwendet Fälle wie Churn Vorhersage oder Community-Erkennung angewendet werden. Johnson Darkwah amp Jiri Polcar amp Karel Vaculik, Gauss Algorithmische Maschine Lernen in Malware-Erkennung: ein Paradigma von Null FPR (1) Bei der Malware-Erkennung ist eine extrem niedrige falsch positive Rate eines der wichtigsten Ziele. Dieses Paradigma führt zu einem Trichter von mehreren verschiedenen Algorithmen, bei denen jede Komponente für die Erzielung einer sehr hohen Präzisionsrate mit einem potentiell niedrigen Rückruf ausgelegt ist. Ein weiterer Aspekt ist, dass bei der Malware-Erkennung die großen Daten wirklich groß sind (Hunderte von Terabyte Dateien), während sie eine Herausforderung für den Umgang mit einer sehr unausgewogenen Klassendarstellung (typischerweise viel besserer Software als Malware) darstellen. In den ersten beiden Sessions bieten wir einen theoretischen Blick auf verschiedene Algorithmen, die für Malware-Erkennungen verwendet werden. In den beiden letzteren Sessions werden wir den Teilnehmern eine direkte Hands-on-Erfahrung auf einem realen Welt-Datensatz (mehr als 200.000 Samples) zur Verfügung stellen. Wir werden auch eine hackathon-ähnliche Konkurrenz bei der Gestaltung einer Malware-Erkennung Pipeline, die in den besten Rückruf mit der höchsten Präzision führen wird. Für diesen Teil des Workshops wird eine Grundstufe von Python-Wissen empfohlen (wenn auch nicht obligatorisch). Martin Balek amp Adam Hanka amp Monika Seidlova amp Ondrej Svec amp Tomas Trnka, Avast 10.30 ndash 11.00 14.00 ndash 15.30 Eine sanfte Einführung in das allmähliche Lernen Bei GoodAI glauben wir, dass das allmähliche Lernen ein wichtiger Aspekt der AGI ist. In diesem praktischen Workshop werden wir den Einsatz eines allmählichen Lernens während der gesamten Lebenszeit eines Agenten vorstellen und motivieren. Wir stellen ein Problem vor, das für den aktuellen Stand der Technik tiefer Lernmethoden herausfordernd ist und zeigt, wie es mit dem Einsatz von allmählichem Lernen gelöst werden kann. Wir werden Code-Beispiele für einen allmählichen Lernenden zu teilen, und arbeiten mit dem Publikum zu konstruieren ihre eigenen allmählichen Lernmittel für das vorgestellte Problem und andere. Joseph Davidson amp Josef Strunc amp Sungmin Aum, GoodAI Erweiterte Datenanalyse auf Hadoop Clustern (3) Dritter Teil des Workshops. Johnson Darkwah amp Jiri Polcar amp Karel Vaculik, Gauss Algorithmische Maschine Lernen in Malware Erkennung: ein Paradigma von Null FPR (3) Dritter Teil des Workshops. Martin Balek amp Adam Hanka amp Monika Seidlova amp Ondrej Svec amp Tomas Trnka, Avast 15.30 ndash 16.00 Kaffeepause 16.00 ndash 17.30 AI Roadmap Institut: Beschleunigung der Suche nach allgemeiner künstlicher Intelligenz Jüngste Fortschritte in der künstlichen Intelligenz waren außergewöhnlich. Trotz dieser Tatsache ist das Maß unserer wahren Fortschritte auf menschlicher Ebene künstliche Intelligenz schwer fassbar. Das AI-Roadmap-Institut wurde gegründet, um diese Herausforderung anzupacken und unser Verständnis der AI-Landschaft über unser gegenwärtiges Verständnis hinaus zu vertiefen. Dieser Workshop bietet einen Einblick in eine der Grundaufgaben des Instituts, nämlich den Vergleich von disparaten Fahrplänen für den Aufbau intelligenter Maschinen. Ein solcher Vergleich ist entscheidend für die Bewertung, wo wir wirklich im Verhältnis zu unserem Ziel stehen, die Entdeckung potenzieller Sackgassen und die Identifizierung von Forschungsgebieten, auf die sich die Gemeinschaft wirklich konzentrieren sollte. Jan Feyereisl, GoodAI Image Retrieval: Von Grundlagen zu den jüngsten Fortschritten In diesem Vortrag werden wir das Thema des Bildes abrufen. Zunächst konzentrieren wir uns auf Retrieval-Methoden, die auf Bag-of-Words (BoW) Bilddarstellung basieren, die geometrische Constrains ausnutzen. Wir diskutieren, wie die standardähnliche Ähnlichkeit basierte Bildwiedergewinnungsformulierung BoW mit Geometrie verwendet, um nur eine einzige Benutzeranforderung zu erfüllen. Dann zeigen wir, wie unterschiedliche Formulierungen dieselben Methoden anwenden, um unterschiedliche Anforderungen in anderen Aufgaben wie Online-Browsing von Bildsammlungen, Bildanalyse auf der Grundlage großer Sammlungen von Fotos oder 3D-Modellbau zu erfüllen. Schließlich stellen wir vor, wie die BoW mit Geometrie auf die Notwendigkeit einer kostspieligen manuellen Bildanmerkung verzichtet, um das Training von Nevales Netzwerk (CNN) durchzuführen. Filip Radenovic, Tschechische Technische Universität Maschinenlernen in Malware-Erkennung: ein Paradigma von Null FPR (4) Vierter Teil des Workshops. Martin Balek amp Adam Hanka amp Monika Seidlova amp Ondrej Svec amp Tomas Trnka, Avast Hauptkonferenz Vertikale AI: Lösung von Full-Stack-Industrieproblemen, die Fachwissen, einzigartige Daten und ein Produkt benötigen, das AI verwendet, um seinen Kernwertvorschlag Low Level zu liefern Task-basierte AI wird schnell und allgemeiner AI ist Jahrzehnte ausgeschaltet. In der Zwischenzeit werden neue AI-Startups erfolgreich sein oder wird der Wert an Google und Facebook anfallen Während die meisten der maschinellen Lerntalent in Consumer-Internet-Riesen und verwandten General-Tech-Unternehmen arbeitet, sind massive und zeitnahe Probleme in jeder größeren Branche außerhalb von Tech lauern. Wenn Sie glauben, dass die Software die Welt-Hypothese isst, dann muss jedes Unternehmen in jeder Branche ein Tech-Unternehmen werden. Ich werde beschreiben, wie Vertical AI-Startups Full-Stack-Industrieprobleme lösen, die Fachwissen, einzigartige Daten und ein Produkt benötigen, das AI verwendet, um seinen Kernwertvorschlag zu liefern. Ich werde Daten darüber teilen, warum Vertical AI Startups interessant sind, persönliche Erfahrungen von meinen Startups und DCVC und große Probleme für die Zukunft in verschiedenen Vertikalen wie Finanzen, Gesundheitswesen, Transport, Energie, Landwirtschaft und Umwelt. 10.00 ndash 10.30 Datenwissenschaft an der New York Times Die Data Science Gruppe an der New York Times entwickelt und entfaltet maschinelle Lernlösungen für Newsroom und Geschäftsprobleme. Das Re-Framing von realen Fragen als maschinelle Lernaufgaben erfordert nicht nur die Anpassung und Erweiterung von Modellen und Algorithmen auf neue oder spezielle Fälle, sondern auch genügend Breite, um die richtige Methode für die richtige Herausforderung zu kennen. Kurze zuerst skizzieren, wie unbeaufsichtigte, beaufsichtigte und verstärkende Lernmethoden zunehmend in menschlichen Anwendungen für Beschreibung, Vorhersage und Rezept verwendet werden. Ich konzentriere mich dann auf die präskriptiven Fälle und zeige, wie Methoden aus dem Verstärkungslernen und kausalen Inferenzliteratur von direkten Auswirkungen auf Ingenieurwesen, Wirtschaft und Entscheidungsfindung allgemeiner sein können. 10.30 ndash 11.00 11.00 ndash 11.30 Ein hybrider crowd-algorithmischer Ansatz für die finanzielle Prognose Wir werden die Macht der Nachrichtenstimmung erforschen, um die finanziellen Erträge vorhersagen zu können, insbesondere die Rendite einer Reihe europäischer Aktien. Auf der Grundlage der bisherigen Entscheidungsunterstützungsarbeiten, die auf die Delphi-Methode zurückgehen, werden wir einen Textanalyse-Experten-Gewichtungsalgorithmus beschreiben, der die Antworten von Menschen und Algorithmen durch dynamisches Auswählen der besten Antwort nach vorheriger Leistung zusammenfasst. Das vorgeschlagene System wird durch ein Experiment getestet, in dem Ensembles von Experten, Massen und Maschinen Thomson Reuters Nachrichten Geschichten analysiert und die Rückkehr der relevanten Bestände vorhergesagt, nachdem die Geschichten erschienen sind. Der Experte Gewichtungsalgorithmus war besser als oder so gut wie der beste Algorithmus oder Mensch in den meisten Fällen. 11.30 ndash 12.00 Vorhersage des kurzfristigen Profits auf US-Aktien durch mehrere ML-Methoden Im Laufe der Jahre haben wir mit vielen Methoden wie SVMs, neuronalen Netzwerken, Entscheidungsbaumwäldern, Stimmungsanalyse oder Wortvektoren experimentiert. Alle mit dem Ziel der Vorhersage, ob der Preis eines beliebten Tech-Aktien (AAPL, GOOG, AMZN und andere) in den nächsten Minuten wachsen oder sinken wird. Hören Sie, was wir benutzt haben und wie es sich schließlich herausstellte. 12.00 ndash 12.30 Fairness in Machine Learning Algorithmen, einschließlich jener, die prädiktive Modelle aus historischen Daten lernen, machen zunehmend konsequente Entscheidungen über das Leben einzelner Bürger in Domains, die so vielfältig sind wie Werbung, Kredit, Beschäftigung, Bildung und Strafverfolgung. Dieser Trend wurde begleitet von zunehmender Besorgnis und Alarm über potenzielle Schäden an sozialen Normen wie Privatsphäre, Fairness, Transparenz und Rechenschaftspflicht. Die jüngsten Forschungen im maschinellen Lernen zielen darauf ab, das Ausmaß zu quantifizieren, in dem diese sozialen Normen tatsächlich algorithmisch eingebettet werden können und die Kompromisse mit prädiktiven Genauigkeit und anderen Maßnahmen der Nützlichkeit präsentiert werden. Ich werde einige dieser Entwicklungen mitteilen, mit einem besonderen Fokus auf das, was es für das maschinelle Lernen bedeutet, fair zu sein. 12.30 ndash 14:00 14.00 ndash 14.30 Serving eine Milliarde personalisierte News-Feeds Feed-Rankings Ziel ist es, Menschen mit über einer Milliarde personalisierte Erfahrungen zu bieten. Wir bemühen uns, die meisten überzeugenden Inhalt für jede Person, personalisiert, um sie, so dass sie am ehesten zu sehen, die Inhalte, die für sie interessant ist. Ähnlich wie eine Zeitung, die richtigen Geschichten über die Falte zu setzen, war schon immer kritisch für die Kunden und interessierte sie im Rest der Zeitung. Im Feed-Ranking stehen wir vor einer ähnlichen Herausforderung, aber auf einer größeren Skala. Jedes Mal, wenn eine Person besucht, müssen wir das beste Stück Inhalt aus allen verfügbaren Geschichten zu finden und legte es an der Spitze der Futter, wo die Menschen sind am ehesten zu sehen. Um dies zu erreichen, machen wir groß angelegte maschinelle Lernmethode, um jede Person zu modellieren, herauszufinden, welche Freunde, Seiten und Themen sie interessieren und die Geschichten auswählen, für die jede Person interessiert ist. Zusätzlich zu den großtechnischen Lernproblemen arbeiten wir Auf, ein weiterer primärer Bereich der Forschung ist das Verständnis der Wert, den wir für Menschen schaffen und sicherstellen, dass unsere Zielfunktion ist in Übereinstimmung mit dem, was die Menschen wollen. 14.30 ndash 15.00 Bildsuche bei Seznam. cz Seznam. cz ist unter anderem ein wichtiger Akteur auf dem Suchmaschinenmarkt in der Tschechischen Republik. Vor ein paar Jahren haben wir unseren Bildsuchdienst von einem Drittanbieter zu unserer eigenen Inhouse-Lösung umgestellt. Es begann als eine einfache Änderung unserer Volltext-Suchmaschine. Aber durch die Zeit hat es sich allmählich zu einem eigenständigen System entwickelt. Der Vortrag konzentriert sich auf die Entwicklung der Suche, die Hindernisse, mit denen wir konfrontiert sind, und die Lösungen, die wir umgesetzt haben. Nun kurz diskutieren die Modelle, Maschinen Lerntechniken und Funktionen, die in der Bildsuche Pipeline verwendet werden. Der Fokus liegt vor allem auf unserer Erforschung des tiefen Lernens, um die Relevanz des Systems weiter zu verbessern. 15.00 ndash 15.30 Topic Modeling mit latenter Dirichlet-Allokation Freier Text stellt eine besondere Herausforderung für Datenwissenschaftler dar: Speziell, wie man nützliche Informationen extrahiert, ohne dass Google-ähnliche Kräfte der semantischen Analyse erforderlich sind. In diesem Vortrag verwenden wir Latent Dirichlet Allocation, um Themen im Text der Filmrezensionen zu entdecken, dann verwenden Sie diese Themen, um Filmbewertungen vorherzusagen. Wir diskutieren auch kurz die Stimmungsanalyse mit VADER, einem einfachen, regelbasierten Modell. 15.30 ndash 16.00 TensorFlow amp Deep Learning TensorFlow ist eine Open-Source-Python-Bibliothek für maschinelles Lernen und neuronale Netze. Mit diesem neuen Tool, tiefen Maschinen Lernen Übergänge aus einem Bereich der Forschung in die Realm Mainstream-Software-Engineering. In dieser Sitzung erfahren Sie, wie Sie TensorFlow nutzen können, um wartbare, leistungsstarke Maschinenlernsysteme zu machen. DGX-1 und SATURNV. Der weltweit leistungsstärkste Supercomputer für AI und Deep Learning Der NVIDIA DGX SATURNV erschließt die Rechenleistung von 125 NVIDIA Pascal-powered DGX-1 Server-Knoten, um neue Levels von tiefen Lern - und AI-Analytics zu treiben. 1.000 NVIDIA Tesla P100 Rechenzentrums-Beschleuniger, gepaart mit NVIDIAs tiefen Lern-Software-Stack, bieten leistungsstarke tiefe Lern-Training über mehrere Frameworks, um die besten Ergebnisse in der kürzesten Zeit zu liefern. Wir werden Einblicke und Details über diesen Sprung in Richtung Exascale Computing geben. 10.00 ndash 10.30 Deep Learning in den Life-Sciences Wir beschreiben Methoden für die Gestaltung von Feedforward und wiederkehrende neuronale Architekturen und ihre effektiven Anwendungen für vielfältige Probleme in den Life Sciences. Insbesondere werden wir tiefe Lernanwendungen für die Vorhersage der Eigenschaften von kleinen und großen Molekülen (Proteinen) in der Bioinformatik, die Analyse von zirkadianen Rhythmen in der Systembiologie und den Nachweis von Krebs und anderen Pathologien in der biomedizinischen Bildgebung demonstrieren. 10.30 ndash 11.00 Kaffeepause 11.00 ndash 11.30 Saatgut-programmiertes selbstverbesserndes maschinelles Lernen Ein wichtiger Grund für die Erstellung einer Maschinenintelligenz ist es, neue unvorhergesehene Herausforderungen zu bewältigen. Ein System, das dies über längere Zeiträume autonom machen kann, entspricht einer wichtigen Voraussetzung für das, was wir allgemeine Intelligenz nennen. Vorhersagen und Versprechungen trotzdem sind Maschinen mit allgemeiner Intelligenz und hohem Autonomie-Niveau langsamer geworden, und es gibt Grundsätze für die Gestaltung solcher Systeme. In diesem Vortrag werde ich neue methodische und ingenieurtechnische Grundsätze für die Gestaltung einer Maschine vorstellen, die sich immer besser in verhaltenen Umständen mit Erfahrung, zielgerichtet, kontinuierlich, am Arbeitsplatz, mit minimaler Front-Front-Information verhält. Ausgehend von einer winzigen Menge von designer-spezifizierten Code ein Samen die Maschine rekursiv selbst-verbessert, letztlich wächst ihr Wissen zu großen Vielfachen der Samen. Ich werde ein Beispiel dafür zeigen, wie eine solche Maschine eine komplexe Aufgabe wie ein Interview im TV-Stil erlernen kann. Wenn man nichts über Satzstruktur oder Grammatik, Interviews, multimoale Gesten oder Umdrehungen kennt, lernt es in einer unbeaufsichtigten Weise, wie man multimodale Gesten und Sprache mühelos koppelt und koordiniert, wie man komplexe grammatisch korrekte Sätze aufbaut, komplexe gesprochene Äußerungen richtig interpretiert, anaphora auflöst , Multimodale Gesten zu interpretieren, abwechselnd glatt zu gehen, um das Ziel des kooperativen Dialogs zu erreichen, und ordnungsgemäß und angemessen ein ganzes Interview im Live-Interagieren mit einem Menschen zu gestalten. 11.30 ndash 12.00 Anpassung von adaptiven Welten, in denen Menschen Phantasie erleben Das Gespräch wird interaktive maschinelle Lernsysteme in realen Umgebungen ansprechen, in denen das menschlich zentrierte Design von AI-Verhaltensweisen entscheidend ist, da die Roboter entsprechend den menschlichen Erwartungen und Verhaltensweisen reagieren müssen. Die Schaufenster solcher adaptiven Systeme werden die Bereiche der Unterhaltungs - und Ausbildungsstätten abdecken, in denen physikalische oder virtuelle Roboter explizit für die Mensch-Roboter-Interaktion entwickelt werden, um die menschliche Interaktion zu unterstützen: von Robotern, die als Tutoren in Schulen und als Unterstützung bei älterer Betreuung eingesetzt werden Virtuelle Roboter wie 3D Augmented Reality Dinosaurier in einem Zoo oder AI Charaktere in PC Spiele. Maria stellt die Vision von MATSUKO vor: eine Plattform für gemischte Realität intelligente Begleiter zu schaffen, Lerncharaktere zu erlernen, die in die natürliche Welt integriert sind. 12.00 ndash 12.30 Auf dem Weg zu guter AI Viele Wissenschaftler, Futurologen und Philosophen haben vorausgesagt, dass die Menschheit einen technologischen Durchbruch erlangen und künstliche allgemeine Intelligenz (AGI) schaffen wird. Es wurde vorgeschlagen, dass AGI ein positiver oder negativer Faktor für das globale katastrophale Risiko sein kann. Um ein gefährliches AGI-System zu mildern, ist es wichtig zu verstehen, wie das System in einem solchen Zustand war. In diesem Vortrag werde ich eine Reihe von Wegen übersehen, klassifizieren und analysieren, was zur Ankunft einer gefährlichen AGI führen könnte. 12.30 ndash 14:00 Die Anmeldegebühren decken Vorträge im wunderschönen Lucerna-Kino mit über 100 Jahren Geschichte (eine der ältesten Kino-Hallen, die in ganz Europa und der Welt noch in Betrieb sind), praktische praktische Workshops und Vitrinen des neuesten maschinellen Lernens Lösungen in den Ständen unserer Partner. Zwei erstaunliche Partys. Eines nach den Workshops und das zweite im La Loca Club im Stadtzentrum am Samstag. Tolle Locations nur für uns Essen von Freshland und Bakeland, ein Familienunternehmen, das mit traditionellen Familienrezepten aus den 30er Jahren des letzten Jahrhunderts backt. Und natürlich können wir den Kaffee aus Doubleshot nicht verpassen. Studenten und Startups Aufruf für Blitzgespräche Die meisten Gespräche werden von renommierten Referenten gegeben. Wir möchten aber auch Studierenden und Startups Gelegenheit geben, ihre Arbeit und Forschung zu präsentieren. Es wird in Form von kurzen Blitzgesprächen realisiert werden. Jeder Sprecher bekommt ein kostenloses Ticket für die Konferenz. Wenn Sie daran interessiert sind, ein Blitzlautsprecher zu werden, schicken Sie uns bitte ein kurzes Papier (weniger als 1000 Wörter), das Ihr maschinelles Lernprojekt beschreibt. Unser Komitee wählt bis zu 10 Sprecher für die Blitzsitzung aus. Einreichungsfrist: 28. Februar 2017 Benachrichtigung: 15. März 2017 Freiwillige Wir verstehen, dass die Studierenden in der Regel begrenzte Budget für Konferenzgebühren haben. Deshalb bieten wir mehrere freiwillige Stellen an. Wir suchen nach Konferenzen, einem erfahrenen Fotografen und einem Kameramann. Wenn Sie daran interessiert sind, uns zu helfen und ein kostenloses Ticket zu bekommen, kontaktieren Sie uns bitte. Diese Post wird detailliert, was ich getan habe, um ca. 500k vom Hochfrequenzhandel von 2009 bis 2010. Da ich völlig unabhängig handelte und nicht mehr mein Programm Irsquom gerne alles erzähle. Mein Handel war vor allem in Russel 2000 und DAX Futures-Kontrakte. Der Schlüssel zu meinem Erfolg, glaube ich, war nicht in einer anspruchsvollen finanziellen Gleichung, sondern in der Gesamt-Algorithmus-Design, die zusammengebunden viele einfache Komponenten und verwendet Maschinen Lernen zu optimieren für maximale Rentabilität. Sie müssen nicht wissen, jede anspruchsvolle Terminologie hier, denn wenn ich mein Programm einrichten, war es alles auf Intuition basiert. (Andrew Ngrsquos erstaunliche Maschine Lernkurs war noch nicht verfügbar - btw, wenn Sie auf diesen Link klicken Sie zu Ihrem aktuellen Projekt: CourseTalk, eine Rezension Website 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. Dies bedeutete das zufällige Glück von jedem einzelnen Handel gemittelt ziemlich schnell. Das Ergebnis war, dass ich niemals mehr als 2000 an einem Tag verloren hatte und nie einen verlorenen Monat hatte: (EDIT. Diese Zahlen sind nach Bezahlung von Provisionen) Und Herersquos ein Diagramm, um dir ein Gefühl der täglichen Variation zu geben. Beachten Sie, dass dies die letzten 7 Monate ausschließt, weil - da die Figuren aufgehört haben - ich habe meine Motivation verloren, sie zu betreten. Mein Trading Hintergrund Vor der Einrichtung meiner automatisierten Trading-Programm Irsquod hatte 2 Jahre Erfahrung als ldquomanualrdquo Tag Händler. Dies war wieder im Jahr 2001 - es war die frühen Tage des elektronischen Handels und es gab Möglichkeiten für ldquoscalpersrdquo, um gutes Geld zu machen. Ich kann nur beschreiben, was ich tat so ähnlich wie ein Videospiel spielen mit einem angeblichen Rand. Erfolgreich zu sein bedeutet, schnell zu sein, diszipliniert zu sein und eine gute intuitive Mustererkennung zu haben. Ich konnte rund 250k machen, meine Studentenkredite auszahlen und Geld übrig haben. Win In den nächsten fünf Jahren würde ich zwei Startups starten und dabei einige Programmierkenntnisse abholen. Es würde bis Ende 2008 sein, dass ich wieder in den Handel zurückkehren würde. Mit Geld läuft niedrig aus dem Verkauf meiner ersten Startup, Trading angeboten Hoffnungen auf einige schnelle Bargeld, während ich herausgefunden, meine nächste Bewegung. Im Jahr 2008 war ich ldquomanuallyrdquo Tag Handel Futures mit Software namens T4. Irsquod wünschte einige kundenspezifische Auftragseingabe-Hotkeys, also nach der Entdeckung von 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, hatte ich bald größere Bestrebungen: Ich wollte den Computer lehren, um 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 senden - alles was ich tun musste, war die Logik in der Mitte zu schaffen. Unten ist ein Screenshot eines T4-Handelsfensters. Was war cool war das, wenn ich mein Programm arbeitete, konnte ich den Computerhandel auf dieser exakt gleichen Schnittstelle sehen. Das Aufpassen von echten Ordnungen, die in und aus (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 sein könnte Irsquod Geld verdienen, bevor es jemals irgendwelche Live-Trades macht. Um dies zu erreichen, musste ich ein Trading-Simulations-Framework aufbauen, das - so genau wie möglich - den Live-Handel simulieren würde. Während der Handel im Live-Modus erforderlich Verarbeitungs-Markt-Updates durch die API gestreamt, Simulations-Modus erforderlich Lesung Markt Updates aus einer Datei-Datei. 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 landete mit 4 Wochen im Wert von aktuellen Marktdaten zu trainieren und testen mein System auf. Mit einem Grundrahmen stand ich immer noch die Aufgabe, herauszufinden, wie man ein profitables Handelssystem macht. Wie sich herausstellt, würde mein Algorithmus in zwei verschiedene Komponenten zerfallen, die Irsquoll nacheinander erforscht: Preisbewegungen vorhersagen und gewinnbringend handeln Vorhersage der Preisbewegungen Vielleicht ist ein offensichtlicher Bestandteil eines jeden Handelssystems in der Lage, vorherzusagen, wo sich die Preise bewegen werden. Und meine war keine Ausnahme. Ich habe den aktuellen Preis als den Durchschnitt des Innengebots und des Innenangebots definiert und ich habe das Ziel der Vorhersage, wo der Preis in den nächsten 10 Sekunden wäre. Mein Algorithmus müsste diese Vorhersage morgens über den Handelstag heraufkommen. Erstellen von Amp-Optimierungsindikatoren Ich habe eine Handvoll von Indikatoren erstellt, die eine sinnvolle Fähigkeit zur Vorhersage kurzfristiger Kursbewegungen 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 übereinstieg und eine negative Zahl entsprach mit dem Markt nach unten. Mein System erlaubte mir, schnell zu bestimmen, wieviel prädiktive Fähigkeit irgendein Indikator so war, dass ich mit vielen verschiedenen Indikatoren experimentieren konnte, 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 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, den ich handelte, sowie die Märkte der korrelierten Wertpapiere. Genaue Preisbewegungen vorhersagen Mit Indikatoren, die einfach eine Aufwärts - oder Abwärtsbewegungsbewegung vorhergesagt haben, war gar nicht genug. Ich musste genau wissen, wie viel Preisbewegung von jedem möglichen Wert jedes Indikators vorhergesagt wurde. Ich brauchte eine Formel, die einen Indikatorwert zu einer Preisvorhersage umwandeln würde. Um dies zu erreichen, verfolgte ich die vorhergesagten Preisbewegungen in 50 Eimern, die von der Reichweite abhingen, die der Indikatorwert einfiel. Dies erzeugte einzigartige Vorhersagen für jeden Eimer, den ich dann in Excel grafisch darstellen konnte. Wie Sie sehen können, steigt die erwartete Preisänderung mit steigendem Indikatorwert. Basierend auf einem Graphen wie diesem war ich in der Lage, eine Formel zu machen, um die Kurve zu passen. Am Anfang habe ich diese ldquocurve fittingrdquo manuell, aber ich schrieb bald einen Code, um diesen Prozess zu automatisieren. Beachten Sie, dass nicht alle Indikatorkurven die gleiche Form hatten. Beachten Sie auch, dass die Eimer logarithmisch verteilt wurden, um die Datenpunkte gleichmäßig zu verbreiten. Schließlich ist zu beachten, dass negative Indikatorwerte (und ihre entsprechenden Abwärtspreisvorhersagen) umgedreht und mit den positiven Werten kombiniert wurden. (Mein Algorithmus behandelt genau und unten genau das gleiche.) Kombinieren von Indikatoren für eine einzelne Vorhersage Eine wichtige Sache zu berücksichtigen war, dass jeder Indikator war nicht völlig unabhängig. Ich konnte 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 wurde. Dies war nicht schwer zu implementieren, aber es bedeutete, dass, wenn ich ldquocurve passend wäre, um mehrere Indikatoren zur gleichen Zeit musste ich vorsichtig ändern, würde man die Vorhersagen eines anderen beeinflussen. Um ldquocurve fitrdquo alle Indikatoren zur gleichen Zeit Ich setze den Optimierer zu Schritt nur 30 der Weg in Richtung der neuen Vorhersage Kurven mit jedem Pass. Mit diesem 30 Sprung habe ich festgestellt, dass sich die Vorhersagekurven innerhalb einiger Pässe stabilisieren würden. Mit jedem Indikator jetzt geben uns itrsquos zusätzliche Preisvorhersage Ich könnte einfach addieren sie bis zu einer einzigen Vorhersage, wo der Markt wäre in 10 Sekunden 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 man muss bedenken, dass der Markt aus Angeboten und Angeboten besteht - itrsquos nicht nur einen Marktpreis. Erfolg im Hochfrequenzhandel kommt auf gute Preise und itrsquos nicht so einfach. Die folgenden Faktoren machen das Schaffen eines rentablen Systems schwierig: Mit jedem Handel musste ich Provisionen sowohl an meinen Makler als auch an den Austausch bezahlen. Die Ausbreitung (Differenz zwischen Höchstgebot und niedrigem Angebot) bedeutete, dass ich, wenn ich einfach zufällig kaufen und verkaufen würde, Irsquod 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 könnte. Zu der Zeit, als mein Kaufauftrag an die Börse kam, war es sehr möglich, dass dieses Angebot storniert wurde. Als kleiner Marktspieler gab es keine Möglichkeit, mit der Geschwindigkeit allein zu konkurrieren. Aufbau einer vollständigen Trading-Simulation So hatte ich einen Rahmen, der mir erlaubt, Backtest und Optimierung Indikatoren. Aber ich musste darüber hinausgehen - ich brauchte einen Rahmen, der es mir erlaubte, ein volles Trading System zu backtest und zu optimieren, wo ich Aufträge abschickte und in Positionen kam. In diesem Fall wird Irsquod für die Gesamt-PampL und in gewissem Maße die durchschnittliche Pampl pro Handel optimieren. Das 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, mit denen ich zu tun hatte: Als ein Auftrag in der Simulation auf den Markt 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 die Bestellung senden, ca. 20 Millisekunden warten und dann nur dann, wenn das Angebot noch da war, wurde es als ein ausgeführter Handel betrachtet. Dies war ungenau, weil die reale Verzögerungszeit inkonsistent und nicht gemeldet war. Als ich Angebote oder Angebote platzierte, musste ich den Handelsausführungsstrom (von der API zur Verfügung gestellt) betrachten und diese nutzen, um zu messen, wann meine Bestellung hingerichtet 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 konnte ich das nicht perfekt machen, aber ich habe eine optimale Annäherung gemacht. Um meine Auftragsausführungssimulation zu verfeinern, habe ich meine Log-Dateien aus dem Live-Trading über die API genommen und sie mit Log-Dateien verglichen, die von simuliertem Trading aus genau dem gleichen Zeitraum erstellt wurden. Ich konnte meine Simulation auf den Punkt bringen, dass es ziemlich genau war und für die Teile, die unmöglich waren, genau zu modellieren, stellte ich sicher, dass ich zumindest Ergebnisse erzähle, die statistisch ähnlich waren (in den Metriken, die ich für wichtig hielt). Profitables Handeln Mit einem Bestellsimulationsmodell konnte ich jetzt im Simulationsmodus Aufträge senden und eine simulierte PampL sehen. Aber wie würde mein System wissen, wann und wo zu kaufen und zu verkaufen Die Preisbewegungsvorhersagen waren ein Ausgangspunkt, aber nicht die ganze Geschichte. Was ich tat, war ein Scoring-System für jedes von 5 Preisniveaus auf dem Angebot und Angebot. Diese beinhalteten eine Ebene über dem Innengebot (für einen Kaufauftrag) und eine Ebene unter dem Innenangebot (für einen Verkaufsauftrag). Wenn die Punktzahl zu einem bestimmten Preisniveau über einer bestimmten Schwelle lag, würde das mein System ein aktives Bidoffer dort haben - unterhalb der Schwelle, dann sollten alle aktiven Aufträge storniert 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, dies zu minimieren, da es sich um die Klappe handelt, die auf den Bildschirm mit menschlichen Augen - mit mir auf den Bildschirm schaut - die Preisniveau-Scores wurden auf der Grundlage der folgenden Faktoren berechnet: Die Preisbewegungsvorhersage (die wir früher besprochen haben). Das Preisniveau in Frage. (Innere Ebenen bedeuteten größere Preisbewegungsvorhersagen 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 diente dazu, ldquosaferdquo Plätze zu bieten, um zu bieten. Die Preisbewegungsvorhersage allein war nicht ausreichend, weil es nicht darauf hinwies, dass bei der Abgabe eines Gebots ich 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 von jemandem, der mir zu einem bestimmten Preis verkaufte, die statistischen Chancen des Handels änderte. Die in diesem Schritt verwendeten Variablen wurden 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 PampL. Was mein Programm ignoriert Beim Handel als Menschen haben wir oft starke Emotionen und Bias, die zu weniger als optimalen Entscheidungen führen können. Klar, ich wollte diese Vorurteile nicht kodifizieren. Hier sind einige Faktoren mein System ignoriert: Der Preis, dass eine Position eingegeben wurde - In einem Handelsbüro itrsquos ziemlich häufig zu sprechen Gespräch über den Preis, bei dem jemand ist lang oder kurz, als ob das sollte ihre zukünftige Entscheidungsfindung zu beeinflussen. 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. Deshalb hat mein Programm diese Informationen völlig ignoriert. Itrsquos das gleiche Konzept wie ignoriert versenkt Kosten. Gehen Sie kurz, um eine lange Position zu verlassen - Typischerweise würde ein Händler unterschiedliche Kriterien haben, die bestimmen, wo man eine lange Position versus, wo man kurz gehen kann. Aber aus meiner Algorithmenperspektive gab es keinen Grund, sich zu unterscheiden. Wenn mein Algorithmus erwartete, dass ein Abwärtsbewegungsverkauf eine gute Idee war, unabhängig davon, ob es momentan lang, kurz oder flach war. Eine ldquodoubling uprdquo Strategie - Dies ist eine gemeinsame Strategie, in der Händler mehr Lager kaufen werden, falls der ursprüngliche Handel gegen sie geht. Dies führt dazu, dass Ihr durchschnittlicher Kaufpreis niedriger ist und es bedeutet, wann (oder wenn) die Aktie um Ihr Geld herum dreht, um Ihr Geld zurück in kürzester Zeit zu machen. Meiner Meinung nach ist das wirklich eine schreckliche Strategie, wenn nicht Ihr Warren Buffet. Du hast in das Denken geträumt, dass es dir gut geht, denn die meisten deiner Trades werden Gewinner sein. Das Problem ist, wenn Sie verlieren verlieren Sie groß. Der andere Effekt ist es macht es schwer zu beurteilen, ob Sie tatsächlich einen Rand auf dem Markt haben oder einfach nur Glück haben. In der Lage zu überwachen und zu bestätigen, dass mein Programm in der Tat eine Kante war ein wichtiges Ziel war. Da mein Algorithmus Entscheidungen auf die gleiche Weise getroffen hat, unabhängig davon, wo er in einen Handel eingetreten ist oder ob es momentan lang oder kurz war, setzte er gelegentlich einige große, verlorene Trades (neben einigen großen Gewinnen). Aber du solltest nicht glauben, dass es kein Risikomanagement gab. Um das Risiko zu bewältigen, habe ich eine maximale Positionsgröße von 2 Verträgen zu einem Zeitpunkt erzwungen, gelegentlich auf hohe Volumen Tage gestoßen. Ich hatte auch eine maximale tägliche Verlustgrenze, um gegen unerwartete 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 noch keine signifikanten Probleme gefunden. Das Ausführen des Algorithmus Von dem Moment an, als ich anfing, an meinem Programm zu arbeiten, dauerte es ungefähr 6 Monate, bevor ich es auf den Punkt der Profitabilität erhielt und damit begonnen habe, es zu leben. Obwohl es eine angemessene Menge an Zeit war, eine neue Programmiersprache zu lernen. Als ich arbeitete, um das Programm zu verbessern, sah ich erhöhte Gewinne für jedes der nächsten vier Monate. Jede Woche würde ich mein System auf der Grundlage der vorherigen 4 Wochen im Wert von Daten umschulen. 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 immer mehr Zeit, ich spaltete 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 verschmolzen. Der Höhepunkt meines Handels war Oktober 2009, als ich fast 100k machte. Danach setzte ich fort, die nächsten vier Monate zu verbringen, um mein Programm trotz des verringerten Gewinns jeden Monat zu verbessern. Leider habe ich an diesem Punkt vermutet, dass Irsquod alle meine besten Ideen umgesetzt hat, weil nichts, was ich versuchte, viel zu helfen schien. Mit der Frustration, nicht in der Lage zu sein, Verbesserungen zu machen und kein Gefühl des Wachstums zu haben, begann ich, über eine neue Richtung nachzudenken. Ich emailed 6 verschiedene Hochfrequenz-Handelsfirmen zu sehen, ob theyrsquod daran interessiert sind, meine Software zu kaufen und mich einzustellen, um für sie zu arbeiten. Niemand antwortete. Ich hatte einige neue Startup-Ideen, an denen ich arbeiten wollte, also habe ich nie weiter gefolgt. UPDATE - Ich habe das auf Hacker News geschrieben 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 schlauen Menschen mit einer Reihe von Erfahrungen, um jede Hoffnung auf Konkurrenz zu haben. Sogar als ich das tat, glaube ich, dass es sehr selten für Einzelpersonen war, Erfolg zu erzielen (obwohl ich von anderen gehört hatte). Es gibt einen Kommentar an der Oberseite der Seite, der manipulierte Statistiken erwähnt und bezieht sich auf mich als ldquoretail investorrdquo, das kommt Würde ldquogleeful pick offrdquo. Dies ist ein ziemlich unglücklicher Kommentar, der in der Wirklichkeit einfach nicht basiert. Abgesehen davon, dass beiseite einige interessante Kommentare: news. ycombinatoritemid4748624 UPDATE 2 - Irsquove hat eine Follow-up-FAQ, die einige häufige Fragen beantwortet Irsquove von Händlern über diesen Beitrag erhalten. Besser Strategien 5: Ein kurzfristiges Maschinelles Lernsystem It8217s Zeit für den 5. Und letzten Teil der Build Better Strategies Serie. In Teil 3 haben wir den Entwicklungsprozess eines modellbasierten Systems erörtert und folglich die Serie mit der Entwicklung eines Data-Mining-Systems abzuschließen. Die Grundsätze des Data Mining und des maschinellen Lernens sind das Thema Teil 4. Für unser kurzfristiges Handelsbeispiel verwenden wir einen tiefen Lernalgorithmus. Ein gestapeltes Autoencoder, aber es wird auf die gleiche Weise mit vielen anderen maschinellen Lernalgorithmen arbeiten. Mit today8217s Software-Tools sind nur etwa 20 Zeilen Code für eine maschinelle Lernstrategie erforderlich. I8217ll try to explain all steps in detail. Our example will be a research project 8211 a machine learning experiment for answering two questions. Does a more complex algorithm 8211 such as, more neurons and deeper learning 8211 produce a better prediction And are short-term price moves predictable by short-term price history The last question came up due to my scepticism about price action trading in the previous part of this series. I got several emails asking about the 8220trading system generators8221 or similar price action tools that are praised on some websites. There is no hard evidence that such tools ever produced any profit (except for their vendors) 8211 but does this mean that they all are garbage We8217ll see. Our experiment is simple: We collect information from the last candles of a price curve, feed it in a deep learning neural net, and use it to predict the next candles. My hypothesis is that a few candles don8217t contain any useful predictive information. Of course, a nonpredictive outcome of the experiment won8217t mean that I8217m right, since I could have used wrong parameters or prepared the data badly. But a predictive outcome would be a hint that I8217m wrong and price action trading can indeed be profitable. Machine learning strategy development Step 1: The target variable To recap the previous part. a supervised learning algorithm is trained with a set of features in order to predict a target variable . So the first thing to determine is what this target variable shall be. A popular target, used in most papers, is the sign of the price return at the next bar. Better suited for prediction, since less susceptible to randomness, is the price difference to a more distant prediction horizon . like 3 bars from now, or same day next week. Like almost anything in trading systems, the prediction horizon is a compromise between the effects of randomness (less bars are worse) and predictability (less bars are better). Sometimes you8217re not interested in directly predicting price, but in predicting some other parameter 8211 such as the current leg of a Zigzag indicator 8211 that could otherwise only be determined in hindsight. Or you want to know if a certain market inefficiency will be present in the next time, especially when you8217re using machine learning not directly for trading, but for filtering trades in a model-based system. Or you want to predict something entirely different, for instance the probability of a market crash tomorrow. All this is often easier to predict than the popular tomorrow8217s return. In our price action experiment we8217ll use the return of a short-term price action trade as target variable. Once the target is determined, next step is selecting the features. Step 2: The features A price curve is the worst case for any machine learning algorithm. Not only does it carry little signal and mostly noise . it is also nonstationary and the signalnoise ratio changes all the time. The exact ratio of signal and noise depends on what is meant with 8220signal8221, but it is normally too low for any known machine learning algorithm to produce anything useful. So we must derive features from the price curve that contain more signal and less noise. Signal, in that context, is any information that can be used to predict the target, whatever it is. All the rest is noise. Thus, selecting the features is critical for success 8211 much more critical than deciding which machine learning algorithm you8217re going to use. There are two approaches for selecting features. The first and most common is extracting as much information from the price curve as possible. Since you do not know where the information is hidden, you just generate a wild collection of indicators with a wide range of parameters, and hope that at least a few of them will contain the information that the algorithm needs. This is the approach that you normally find in the literature. The problem of this method: Any machine learning algorithm is easily confused by nonpredictive predictors. So it won8217t do to just throw 150 indicators at it. You need some preselection algorithm that determines which of them carry useful information and which can be omitted. Without reducing the features this way to maybe eight or ten, even the deepest learning algorithm won8217t produce anything useful. The other approach, normally for experiments and research, is using only limited information from the price curve. This is the case here: Since we want to examine price action trading, we only use the last few prices as inputs, and must discard all the rest of the curve. This has the advantage that we don8217t need any preselection algorithm since the number of features is limited anyway. Here are the two simple predictor functions that we use in our experiment (in C): The two functions are supposed to carry the necessary information for price action: per-bar movement and volatility. The change function is the difference of the current price to the price of n bars before, in relation to the current price. The range function is the total high-low distance of the last n candles, also in relation to the current price. And the scale function centers and compresses the values to the -100 range, so we divide them by 100 for getting them normalized to -1 . We remember that normalizing is needed for machine learning algorithms. Step 3: Preselectingpreprocessing predictors When you have selected a large number of indicators or other signals as features for your algorithm, you must determine which of them is useful and which not. There are many methods for reducing the number of features, for instance: Determine the correlations between the signals. Remove those with a strong correlation to other signals, since they do not contribute to the information. Compare the information content of signals directly, with algorithms like information entropy or decision trees. Determine the information content indirectly by comparing the signals with randomized signals there are some software libraries for this, such as the R Boruta package. Use an algorithm like Principal Components Analysis (PCA) for generating a new signal set with reduced dimensionality. Use genetic optimization for determining the most important signals just by the most profitable results from the prediction process. Great for curve fitting if you want to publish impressive results in a research paper. For our experiment we do not need to preselect or preprocess the features, but you can find useful information about this in articles (1), (2), and (3) listed at the end of the page. Step 4: Select the machine learning algorithm R offers many different ML packages, and any of them offers many different algorithms with many different parameters. Even if you already decided about the method 8211 here, deep learning 8211 you have still the choice among different approaches and different R packages. Most are quite new, and you can find not many empirical information that helps your decision. You have to try them all and gain experience with different methods. For our experiment we8217ve choosen the Deepnet package, which is probably the simplest and easiest to use deep learning library. This keeps our code short. We8217re using its Stacked Autoencoder ( SAE ) algorithm for pre-training the network. Deepnet also offers a Restricted Boltzmann Machine ( RBM ) for pre-training, but I could not get good results from it. There are other and more complex deep learning packages for R, so you can spend a lot of time checking out all of them. How pre-training works is easily explained, but why it works is a different matter. As to my knowledge, no one has yet come up with a solid mathematical proof that it works at all. Anyway, imagine a large neural net with many hidden layers: Training the net means setting up the connection weights between the neurons. The usual method is error backpropagation. But it turns out that the more hidden layers you have, the worse it works. The backpropagated error terms get smaller and smaller from layer to layer, causing the first layers of the net to learn almost nothing. Which means that the predicted result becomes more and more dependent of the random initial state of the weights. This severely limited the complexity of layer-based neural nets and therefore the tasks that they can solve. At least until 10 years ago. In 2006 scientists in Toronto first published the idea to pre-train the weights with an unsupervised learning algorithm, a restricted Boltzmann machine. This turned out a revolutionary concept. It boosted the development of artificial intelligence and allowed all sorts of new applications from Go-playing machines to self-driving cars. In the case of a stacked autoencoder, it works this way: Select the hidden layer to train begin with the first hidden layer. Connect its outputs to a temporary output layer that has the same structure as the network8217s input layer. Feed the network with the training samples, but without the targets. Train it so that the first hidden layer reproduces the input signal 8211 the features 8211 at its outputs as exactly as possible. The rest of the network is ignored. During training, apply a 8216weight penalty term8217 so that as few connection weights as possible are used for reproducing the signal. Now feed the outputs of the trained hidden layer to the inputs of the next untrained hidden layer, and repeat the training process so that the input signal is now reproduced at the outputs of the next layer. Repeat this process until all hidden layers are trained. We have now a 8216sparse network8217 with very few layer connections that can reproduce the input signals. Now train the network with backpropagation for learning the target variable, using the pre-trained weights of the hidden layers as a starting point. The hope is that the unsupervised pre-training process produces an internal noise-reduced abstraction of the input signals that can then be used for easier learning the target. And this indeed appears to work. No one really knows why, but several theories 8211 see paper (4) below 8211 try to explain that phenomenon. Step 5: Generate a test data set We first need to produce a data set with features and targets so that we can test our prediction process and try out parameters. The features must be based on the same price data as in live trading, and for the target we must simulate a short-term trade. So it makes sense to generate the data not with R, but with our trading platform, which is anyway a lot faster. Here8217s a small Zorro script for this, DeepSignals. c : We8217re generating 2 years of data with features calculated by our above defined change and range functions. Our target is the return of a trade with 3 bars life time. Trading costs are set to zero, so in this case the return is equivalent to the price difference at 3 bars in the future. The adviseLong function is described in the Zorro manual it is a mighty function that automatically handles training and predicting and allows to use any R-based machine learning algorithm just as if it were a simple indicator. In our code, the function uses the next trade return as target, and the price changes and ranges of the last 4 bars as features. The SIGNALS flag tells it not to train the data, but to export it to a. csv file. The BALANCED flag makes sure that we get as many positive as negative returns this is important for most machine learning algorithms. Run the script in Train mode with our usual test asset EURUSD selected. It generates a spreadsheet file named DeepSignalsEURUSDL. csv that contains the features in the first 8 columns, and the trade return in the last column. Step 6: Calibrate the algorithm Complex machine learning algorithms have many parameters to adjust. Some of them offer great opportunities to curve-fit the algorithm for publications. Still, we must calibrate parameters since the algorithm rarely works well with its default settings. For this, here8217s an R script that reads the previously created data set and processes it with the deep learning algorithm ( DeepSignal. r ): We8217ve defined three functions neural. train . neural. predict . and neural. init for training, predicting, and initializing the neural net. The function names are not arbitrary, but follow the convention used by Zorro8217s advise(NEURAL. ) function. It won8217t matter now, but will matter later when we use the same R script for training and trading the deep learning strategy. A fourth function, TestOOS . is used for out-of-sample testing our setup. The function neural. init seeds the R random generator with a fixed value (365 is my personal lucky number). Otherwise we would get a slightly different result any time, since the neural net is initialized with random weights. It also creates a global R list named 8220Models8221. Most R variable types don8217t need to be created beforehand, some do (don8217t ask me why). The 8216ltlt-8216 operator is for accessing a global variable from within a function. The function neural. train takes as input a model number and the data set to be trained. The model number identifies the trained model in the 8220 Models 8221 list. A list is not really needed for this test, but we8217ll need it for more complex strategies that train more than one model. The matrix containing the features and target is passed to the function as second parameter. If the XY data is not a proper matrix, which frequently happens in R depending on how you generated it, it is converted to one. Then it is split into the features ( X ) and the target ( Y ), and finally the target is converted to 1 for a positive trade outcome and 0 for a negative outcome. The network parameters are then set up. Some are obvious, others are free to play around with: The network structure is given by the hidden vector: c(50,100,50) defines 3 hidden layers, the first with 50, second with 100, and third with 50 neurons. That8217s the parameter that we8217ll later modify for determining whether deeper is better. The activation function converts the sum of neuron input values to the neuron output most often used are sigmoid that saturates to 0 or 1, or tanh that saturates to -1 or 1. We use tanh here since our signals are also in the -1 range. The output of the network is a sigmoid function since we want a prediction in the 0..1 range. But the SAE output must be 8220linear8221 so that the Stacked Autoencoder can reproduce the analog input signals on the outputs. The learning rate controls the step size for the gradient descent in training a lower rate means finer steps and possibly more precise prediction, but longer training time. Momentum adds a fraction of the previous step to the current one. It prevents the gradient descent from getting stuck at a tiny local minimum or saddle point. The learning rate scale is a multiplication factor for changing the learning rate after each iteration (I am not sure for what this is good, but there may be tasks where a lower learning rate on higher epochs improves the training). An epoch is a training iteration over the entire data set. Training will stop once the number of epochs is reached. More epochs mean better prediction, but longer training. The batch size is a number of random samples 8211 a mini batch 8211 taken out of the data set for a single training run. Splitting the data into mini batches speeds up training since the weight gradient is then calculated from fewer samples. The higher the batch size, the better is the training, but the more time it will take. The dropout is a number of randomly selected neurons that are disabled during a mini batch. This way the net learns only with a part of its neurons. This seems a strange idea, but can effectively reduce overfitting. All these parameters are common for neural networks. Play around with them and check their effect on the result and the training time. Properly calibrating a neural net is not trivial and might be the topic of another article. The parameters are stored in the model together with the matrix of trained connection weights. So they need not to be given again in the prediction function, neural. predict . It takes the model and a vector X of features, runs it through the layers, and returns the network output, the predicted target Y . Compared with training, prediction is pretty fast since it only needs a couple thousand multiplications. If X was a row vector, it is transposed and this way converted to a column vector, otherwise the nn. predict function won8217t accept it. Use RStudio or some similar environment for conveniently working with R. Edit the path to the. csv data in the file above, source it, install the required R packages (deepnet, e1071, and caret), then call the TestOOS function from the command line. If everything works, it should print something like that: TestOOS reads first our data set from Zorro8217s Data folder. It splits the data in 80 for training ( XY. tr ) and 20 for out-of-sample testing ( XY. ts ). The training set is trained and the result stored in the Models list at index 1. The test set is further split in features ( X ) and targets ( Y ). Y is converted to binary 0 or 1 and stored in Y. ob . our vector of observed targets. We then predict the targets from the test set, convert them again to binary 0 or 1 and store them in Y. pr . For comparing the observation with the prediction, we use the confusionMatrix function from the caret package. A confusion matrix of a binary classifier is simply a 22152 matrix that tells how many 08217s and how many 18217s had been predicted wrongly and correctly. A lot of metrics are derived from the matrix and printed in the lines above. The most important at the moment is the 62 prediction accuracy . This may hint that I bashed price action trading a little prematurely. But of course the 62 might have been just luck. We8217ll see that later when we run a WFO test. A final advice: R packages are occasionally updated, with the possible consequence that previous R code suddenly might work differently, or not at all. This really happens, so test carefully after any update. Step 7: The strategy Now that we8217ve tested our algorithm and got some prediction accuracy above 50 with a test data set, we can finally code our machine learning strategy. In fact we8217ve already coded most of it, we just must add a few lines to the above Zorro script that exported the data set. This is the final script for training, testing, and (theoretically) trading the system ( DeepLearn. c ): We8217re using a WFO cycle of one year, split in a 90 training and a 10 out-of-sample test period. You might ask why I have earlier used two year8217s data and a different split, 8020, for calibrating the network in step 5. This is for using differently composed data for calibrating and for walk forward testing. If we used exactly the same data, the calibration might overfit it and compromise the test. The selected WFO parameters mean that the system is trained with about 225 days data, followed by a 25 days test or trade period with no training. In the literature you8217ll sometimes find recommendations to retrain a machine learning system after any trade, or at least any day. But this does not make much sense to me. When you used almost 1 year8217s data for training a system, it can obviously not deteriorate after a single day. Or if it did, and only produced positive test results with daily retraining, I would strongly suspect that the results are artifacts by some coding mistake. Training a deep network takes really a long time, in our case about 10 minutes for a network with 3 hidden layers and 200 neurons. Since this is repeated at any WFO cycle, using multiple cores is recommended for training many cycles in parallel. The NumCores variable at -1 activates all CPU cores but one. Multiple cores are only available in Zorro S, so a complete walk forward test with all WFO cycles can take several hours with the free version. In the script we now train both long and short trades. For this we have to allow hedging in Training mode, since long and short positions are open at the same time. Entering a position is now dependent on the return value from the advise function, which in turn calls either the neural. train or the neural. predict function from the R script. So we8217re here entering positions when the neural net predicts a result above 0.5. The R script is now controlled by the Zorro script (for this it must have the same name, NeuralLearn. r . only with different extension). It is identical to our R script above since we8217re using the same network parameters. Only one additional function is needed for supporting a WFO test: The neural. save function stores the Models list 8211 it now contains 2 models for long and for short trades 8211 after every training run in Zorro8217s Data folder. Since the models are stored for later use, we do not need to train them again for repeated test runs. This is the WFO equity curve generated with the script above (EURUSD, without trading costs): Although not all WFO cycles get a positive result, it seems that there is some predictive effect. The curve is equivalent to an annual return of 89, achieved with a 50-100-50 hidden layer structure. We8217ll check in the next step how different network structures affect the result. Since the neural. init . neural. train . neural. predict . and neural. save functions are automatically called by Zorro8217s adviseLongadviseShort functions, there are no R functions directly called in the Zorro script. Thus the script can remain unchanged when using a different machine learning method. Only the DeepLearn. r script must be modified and the neural net, for instance, replaced by a support vector machine. For trading such a machine learning system live on a VPS, make sure that R is also installed on the VPS, the needed R packages are installed, and the path to the R terminal set up in Zorro8217s ini file. Otherwise you8217ll get an error message when starting the strategy. Step 8: The experiment If our goal had been developing a strategy, the next steps would be the reality check, risk and money management, and preparing for live trading just as described under model-based strategy development. But for our experiment we8217ll now run a series of tests, with the number of neurons per layer increased from 10 to 100 in 3 steps, and 1, 2, or 3 hidden layers (deepnet does not support more than 3). So we8217re looking into the following 9 network structures: c(10), c(10,10), c(10,10,10), c(30), c(30,30), c(30,30,30), c(100), c(100,100), c(100,100,100). For this experiment you need an afternoon even with a fast PC and in multiple core mode. Here are the results (SR Sharpe ratio, R2 slope linearity): We see that a simple net with only 10 neurons in a single hidden layer won8217t work well for short-term prediction. Network complexity clearly improves the performance, however only up to a certain point. A good result for our system is already achieved with 3 layers x 30 neurons. Even more neurons won8217t help much and sometimes even produce a worse result. This is no real surprise, since for processing only 8 inputs, 300 neurons can likely not do a better job than 100. Conclusion Our goal was determining if a few candles can have predictive power and how the results are affected by the complexity of the algorithm. The results seem to suggest that short-term price movements can indeed be predicted sometimes by analyzing the changes and ranges of the last 4 candles. The prediction is not very accurate 8211 it8217s in the 58..60 range, and most systems of the test series become unprofitable when trading costs are included. Still, I have to reconsider my opinion about price action trading. The fact that the prediction improves with network complexity is an especially convincing argument for short-term price predictability. It would be interesting to look into the long-term stability of predictive price patterns. For this we had to run another series of experiments and modify the training period ( WFOPeriod in the script above) and the 90 ISOOS split. This takes longer time since we must use more historical data. I have done a few tests and found so far that a year seems to be indeed a good training period. The system deteriorates with periods longer than a few years. Predictive price patterns, at least of EURUSD, have a limited lifetime. Where can we go from here There8217s a plethora of possibilities, for instance: Use inputs from more candles and process them with far bigger networks with thousands of neurons. Use oversampling for expanding the training data. Prediction always improves with more training samples. Compress time series f. i. with spectal analysis and analyze not the candles, but their frequency representation with machine learning methods. Use inputs from many candles 8211 such as, 100 8211 and pre-process adjacent candles with one-dimensional convolutional network layers. Use recurrent networks. Especially LSTM could be very interesting for analyzing time series 8211 and as to my knowledge, they have been rarely used for financial prediction so far. Use an ensemble of neural networks for prediction, such as Aronson8217s 8220oracles8221 and 8220comitees8221. Papers Articles I8217ve added the C and R scripts to the 2016 script repository. You need both in Zorro8217s Strategy folder. Zorro version 1.474, and R version 3.2.5 (64 bit) was used for the experiment, but it should also work with other versions. Results below were generated by revised version of DeepSignals. r 8211 only change was use of LSTM net from the rnn package on CRAN. The authors of the package regard their LSTM implementation as 8220experimental8221 and do not feel it is as yet learning properly, so hopefully more improvement to come there. (Spent ages trying to accomplish the LSTM element using the mxnet package but gave up as couldn8217t figure out the correct input format when using multiple training features.) Will post results of full WFO when I have finished LSTM version of DeepLearn. r Confusion Matrix and Statistics Reference Prediction 0 1 0 1641 1167 1 1225 1701 Accuracy. 0.5828 95 CI. (0.5699, 0.5956) No Information Rate. 0.5002 P-Value Acc gt NIR. lt2e-16 Kappa. 0.1657 Mcnemar039s Test P-Value. 0.2438 Sensitivity. 0.5726 Specificity. 0.5931 Pos Pred Value. 0.5844 Neg Pred Value. 0.5813 Prevalence. 0.4998 Detection Rate. 0.2862 Detection Prevalence. 0.4897 Balanced Accuracy. 0.5828 039Positive039 Class. 0 Results of WFO test below. Again, only change to original files was the use of LSTM in R, rather than DNNSAE. Walk-Forward Test DeepLearnLSTMV4 EURUSD Simulated account AssetsFix Bar period 1 hour (avg 87 min) Simulation period 15.05.2014-07.06.2016 (12486 bars) Test period 04.05.2015-07.06.2016 (6649 bars) Lookback period 100 bars (4 days) WFO test cycles 11 x 604 bars (5 weeks) Training cycles 12 x 5439 bars (46 weeks) Monte Carlo cycles 200 Assumed slippage 0.0 sec Spread 0.0 pips (roll 0.000.00) Contracts per lot 1000.0 Gross winloss 3628 -3235 (5199p) Average profit 360year, 30month, 1.38day Max drawdown -134 34 (MAE -134 34) Total down time 95 (TAE 95) Max down time 5 weeks from Aug 2015 Max open margin 40 Max open risk 35 Trade volume 5710964 (5212652year) Transaction costs 0.00 spr, 0.00 slp, 0.00 rol Capital required 262 Number of trades 6787 (6195year, 120week, 25day) Percent winning 57.6 Max winloss 16 -14 Avg trade profit 0.06 0.8p (12.3p -14.8p) Avg trade slippage 0.00 0.0p (0.0p -0.0p) Avg trade bars 1 (1 -2) Max trade bars 3 (3 hours) Time in market 177 Max open trades 3 Max loss streak 17 (uncorrelated 11) Annual return 137 Profit factor 1.12 (PRR 1.08) Sharpe ratio 1.79 Kelly criterion 2.34 R2 coefficient 0.435 Ulcer index 13.3 Prediction error 152 Confidence level AR DDMax Capital 10 143 128 252 20 129 144 278 30 117 161 306 40 107 179 336 50 101 190 355 60 92 213 392 70 85 232 425 80 77 257 466 90 64 314 559 95 53 383 675 100 42 495 859 Portfolio analysis OptF ProF WinLoss Wgt Cycles EURUSD .219 1.12 39072880 100.0 XXX EURUSD:L .302 1.17 18301658 65.0 EURUSD:S .145 1.08 20771222 35.0 Interesting For a still experimental LSTM implementation that result looks not bad. Could you help me answering some questions I have few question below: 1.I want to test Commission mode. If I use interactive broker, I should set Commission . in normal case. 2.If I press the 8220trade8221 button, I see the log the script will use DeepLearnEURUSD. ml. So real trade it will use DeepLearnEURUSD. ml to get the model to trade And use neural. predict function to trade 3.If I use the slow computer to train the data , I should move DeepLearnEURUSD. ml to the trade computer I test the real trade on my interactive brokers and press the result button. Can I use Commission0.60 to train the neural and get the real result Thank you. Result button will show the message below: Trade Trend EURUSD Bar period 2 min (avg 2 min) Trade period 02.11.2016-02.11.2016 Spread 0.5 pips (roll -0.020.01) Commission 0.60 Contracts per lot 1000.0 Commission should be normally not set up in the script, but entered in the broker specific asset list. Otherwise you had to change the script every time when you want to test it with a different broker or account. IB has different lot sizes and commissions, so you need to add the command to the script when you want to test it for an IB account. Yes, DeepLearnEURUSD. ml is the model for live trading, and you need to copy it to the trade computer. Dear jcl Do I write assetList(AssetsIB. csv) in the right place So below code8217s result includes Commission I test the result with Commission that seems pretty good. Annual 93 3177p function run() StartDate 20140601 BarPeriod 60 1 hour LookBack 100 WFOPeriod 25224 1 year DataSplit 90 NumCores -1 use all CPU cores but one assetList(8220AssetsIB. csv8221) set(RULES) Spread RollLong RollShort Commission Slippage 0 LifeTime 3 if(Train) Hedge 2 if(adviseLong(NEURALBALANCED,0, change(1),change(2),change(3),change(4), range(1),range(2),range(3),range(4)) gt 0.5) enterLong() if(adviseShort() gt 0.5) enterShort() Problem 1: I run the DeepLearn. c in the IB paper trade. The code 8220LifeTime 3 prediction horizon8221 seems to close the position that you open after 3 bars(3 hours). But I can8217t see it close the position on third bar close. I see the logs below: Closing prohibited 8211 check NFA flag EURUSD::L4202 Can8217t close 11.10995 at 09:10:51 Problem 2: In my IB paper trade, it the default order size is 1k on EURUSD. How to change the order size in paper trade Thank you very much. IB is an NFA compliant broker. You can not close trades on NFA accounts. You must set the NFA flag for opening a reverse position instead. And you must enable trading costs, otherwise including the commission has no effect. I don8217t think that you get a positive result with trading costs. Those account issues are not related to machine learning, and are better asked on the Zorro forum. Or even better, read the Zorro manual where all this is explained. Just search for 8220NFA8221. I do some experiment to change the neural8217s parameter with commission. The code is below: function run() StartDate 20140601 BarPeriod 60 1 hour LookBack 100 WFOPeriod 25224 1 year DataSplit 90 NumCores -1 use all CPU cores but one assetList(8220AssetsIB. csv8221) set(RULES) Spread RollLong RollShort Slippage 0 LifeTime 3 if(Train) Hedge 2 if(adviseLong(NEURALBALANCED,0, change(1),change(3),change(5),change(7),change(9), range(1),range(3),range(5),range(7),range(9)) gt 0.7) enterLong() if(adviseShort() gt 0.7) enterShort() I get the result with commission that Annual Return is about 23. But I don8217t complete understand the zorro8217s setting and zorro8217s report. Vielen Dank. The result: Annual 23 661p Walk-Forward Test DeepLearn EURUSD Simulated account AssetsIB. csv Bar period 1 hour (avg 86 min) Simulation period 15.05.2014-09.09.2016 (14075 bars) Test period 23.04.2015-09.09.2016 (8404 bars) Lookback period 100 bars (4 days) WFO test cycles 14 x 600 bars (5 weeks) Training cycles 15 x 5401 bars (46 weeks) Monte Carlo cycles 200 Simulation mode Realistic (slippage 0.0 sec) Spread 0.0 pips (roll 0.000.00) Commission 0.50 Contracts per lot 20000.0 Gross winloss 24331 -22685 (914p) Average profit 1190year, 99month, 4.58day Max drawdown -1871 114 (MAE -1912 116) Total down time 92 (TAE 41) Max down time 18 weeks from Dec 2015 Max open margin 2483 Max open risk 836 Trade volume 26162350 (18916130year) Transaction costs 0.00 spr, 0.00 slp, 0.00 rol, -1306 com Capital required 5239 Number of trades 1306 (945year, 19week, 4day) Percent winning 52.5 Max winloss 375 -535 Avg trade profit 1.26 0.7p (19.7p -20.3p) Avg trade slippage 0.00 0.0p (0.0p -0.0p) Avg trade bars 2 (2 -3) Max trade bars 3 (3 hours) Time in market 46 Max open trades 3 Max loss streak 19 (uncorrelated 10) Annual return 23 Profit factor 1.07 (PRR 0.99) Sharpe ratio 0.56 Kelly criterion 1.39 R2 coefficient 0.000 Ulcer index 20.8 Confidence level AR DDMax Capital 10 29 1134 4153 20 27 1320 4427 30 26 1476 4656 40 24 1649 4911 50 23 1767 5085 60 22 1914 5301 70 21 2245 5789 80 19 2535 6216 90 16 3341 7403 95 15 3690 7917 100 12 4850 9625 Portfolio analysis OptF ProF WinLoss Wgt Cycles EURUSD .256 1.07 685621 100.0 XXXXXXXXXXXX EURUSD:L .476 1.16 294278 94.5 EURUSD:S .026 1.01 391343 5.5

No comments:

Post a Comment