Friday 24 November 2017

Trading System Validierung


Eine regelmäßige Systemprüfung und Validierung des CCSM ist erforderlich, um sicherzustellen, dass Modellqualität und Integrität während des gesamten Entwicklungsprozesses erhalten bleiben. In diesem Abschnitt werden die Standards für die Systemprüfung und die Verfahren zur Überprüfung der Normen festgelegt. Es wird davon ausgegangen, dass Komponentenmodellentwicklungsteams ihre Komponente getestet haben, bevor sie für Systemtests verfügbar gemacht werden. Siehe Abschnitt) für weitere Informationen zum Testen einzelner Komponenten und zum Testen einzelner Subroutinen und Module innerhalb der Komponenten. Es gibt zwei allgemeine Kategorien von Modellauswertungen: häufig kurze Testläufe und seltene lange Validierungsintegrationen. Modelltest bezieht sich auf kurze (3 bis 31 Tage) Modellläufe entwickelt, um zu überprüfen, dass die zugrunde liegende Mechanik und Leistung des gekoppelten Modells weiterhin Spezifikationen entsprechen. Dies umfasst die Überprüfung, dass das Modell tatsächlich gestartet wird und ausgeführt wird, die Modellleistung und den relativen Geschwindigkeitskosten jeder Modellkomponente zu messen und zu überprüfen, ob das Modell exakt neu gestartet wird. Diese Tests werden auf jeder der Zielplattformen durchgeführt. Die Modellprüfung prüft nicht, ob die Modellantwort korrekt ist, sie überprüft lediglich, dass sie mechanisch wie angegeben arbeitet. Die Modellvalidierung erfordert längere (mindestens 1 Jahr) Integrationen, um sicherzustellen, dass die Ergebnisse des Modells in akzeptabler Übereinstimmung mit früheren Modellklimastatistiken liegen Eigenschaften des realen Klimasystems. Die Modellvalidierung erfolgt mit jeder kleineren CCSM-Version (d. h. CCSM2.1, CCSM2.2) oder auf Anfrage der CCSM-Wissenschaftler und Arbeitsgruppen. Auf Wunsch wird die Modellvalidierung nur durchgeführt, nachdem die CCSM-Wissenschaftler konsultiert wurden und die Modelltestphase erfolgreich abgeschlossen wurde. Die Ergebnisse der Modellvalidierung werden auf einer öffentlich beurteilbaren Webseite dokumentiert (cesm. ucar. edumodelsccsm2.0betatestingstat. html). Die Portvalidierung ist definiert als Überprüfung, dass die Unterschiede zwischen zwei ansonsten identischen Modellsimulationen, die auf verschiedenen Maschinen oder unter Verwendung unterschiedlicher Umgebungen erhalten werden, nur durch Maschinenrundfehler verursacht werden. Für jede markierte Version des Modells ist eine formale Prüfung des CCSM erforderlich. Der CCSM-Qualitätssicherungsleiter ist dafür verantwortlich, dass diese Tests durchgeführt werden, entweder durch persönliches Handeln oder durch eine qualifizierte Person. Wenn eine Modellkomponente als ein Problem identifiziert wird, wird erwartet, dass die Verbindung für diese Komponente das Lösen dieses Problems mit ihrer höchsten Priorität bewirkt. Die Ergebnisse des Tests und des Benchmarkings werden in das markierte Modell aufgenommen, um die Laufeigenschaften des Modells zu dokumentieren. Die eigentlichen Test - und Analyse-Scripts werden Teil des CCSM-CVS-Repository sein, um die Nutzung durch externe Benutzer zu fördern. Erfolgreicher Aufbau CCSM wird auf jeder der Zielplattformen ohne Änderungen an den Skripten, Codes oder Datensätzen kompilieren. Erfolgreicher Startup CCSM startet von einem Anfangszustand und läuft für 10 Tage. Der erfolgreiche Neustart von CCSM startet von einem anfänglichen Zustand und stoppt nach 5 Tagen, startet dann neu und fährt von Tag 6 zu Tag 10 fort. Erfolgreicher Zweig CCSM wird von einem anfänglichen Zustand anfangen und nach 5 Tagen anhalten, dann einen Zweigfall mit nur einem ausführen Fall-Namensänderung und laufen von Tag 6 bis Tag 10. Exakter Neustart Eine Bit-für-Bit-Übereinstimmung muss zwischen dem 10-tägigen Initialisierungslauf und dem Neustartlauf und Abzweigungsläufen unter Verwendung derselben Anzahl von Prozessoren auftreten. Signal Trapping Ein Signal Trapping Test sollte durchgeführt werden, wenn die Umgebungsvariable DEBUG im Makefile auf true gesetzt ist. Sonstige Diagnose Ein Diagnosetest wird mit Infodbug auf Ebene 2 im Koppler-Eingang durchgeführt. Port-Diagnose Ein Port-Diagnosetest wird durchgeführt, wenn die Infobox im Koppler-Eingang auf Level 3 eingestellt ist und ein 10-tägiger Durchlauf durchgeführt wird. Performance-Benchmarking Die gesamte CPU-Zeit, Speicherauslastung, Ausgabevolumen, GAU-Kosten, Speicherplatzverbrauch und Wanduhrzeit für den 10-Tage-Lauf werden aufgezeichnet. Die relativen Kosten jeder Komponente werden ebenfalls aufgezeichnet. Testbericht Die Ergebnisse aller oben genannten Schritte sind in einem Testbericht mit Schwerpunkt auf Ergebnissen, Vergleiche mit dem vorherigen Test und Verbesserungsempfehlungen zu dokumentieren. Alle festgestellten Mängel oder Mängel sind zu vermerken und der für die betreffende Komponente und den Software-Ingenieur zuständigen Verbindungsstelle zur Kenntnis zu bringen. Smoke-Test Ein wesentliches Kriterium für die Bewertung der Wirksamkeit eines Testverfahrens ist die Zeitdauer, die seit dem letzten Systemtest verstrichen ist. Um für System - oder Softwareänderungen zu testen, wird an jedem Wochenende ein automatisierter Sechs-Tage-Testlauf mit der neuesten CCSM-Distribution auf jeder der unterstützten Plattformen durchgeführt. Ein Neustart wird am ersten Wochenende eines jeden Monats durchgeführt. Prüfbericht Die Ergebnisse der Schritte 1 werden automatisch in einem Prüfbericht dokumentiert.13.2 Modellvalidierungsverfahren für das CCSM-Modell Die Validierung erfolgt mit jeder kleineren CCSM-Version (zB CCSM2.1, CCSM2.2) oder auf Anfrage der CCSM-Wissenschaftler und Arbeitsgruppen. Vor Beginn eines Validierungslaufs konsultiert die CCSM Qualitätssicherungsleitung die CCSM-Wissenschaftler, um das Validierungsexperiment zu entwerfen. Pre-Validation Run-Schritte: Tests erfolgreich Die Validierung führt die oben beschriebenen Testschritte erfolgreich durch. Wissenschaftleranmeldung Die CCSM-Wissenschaftler müssen sich bereit erklären, die Ergebnisse des Laufs während des Laufes informell zu analysieren und die Ergebnisse innerhalb einer Woche nach Fertigstellung des Vorlaufs mit vorherigen Modellläufen formell zu überprüfen. Ergebnis stimmt mit früheren Modellversuchen überein Vergleich mit Beobachtetes Klima Ergebnis stimmt mit der beobachteten Klimaport-Validierung überein, als Bestätigung, dass die Unterschiede zwischen zwei ansonsten identischen Modellsimulationen, die auf verschiedenen Maschinen oder unter Verwendung unterschiedlicher Umgebungen erhalten werden, nur durch Maschinenrundfehler verursacht werden. Abrundungsfehler können durch die Verwendung von zwei Maschinen mit unterschiedlicher interner Gleitpunktdarstellung oder durch die Verwendung einer unterschiedlichen Anzahl von Verarbeitungselementen auf derselben Maschine verursacht werden, die eine bekannte Neuordnung von Berechnungen oder die Verwendung verschiedener Compiler-Versionen oder Optionen Auf einer Maschine oder verschiedenen Maschinen), die interne Berechnungen unterschiedlich analysieren. Das folgende Papier bietet eine primäre Referenz für Port-Validierung (nachstehend als RW bezeichnet): Rosinski, J. M. und D. L. Williamson: Die Akkumulation von Rundungsfehlern und Portvalidierung für globale atmosphärische Modelle. Zeitschrift für anorganische und allgemeine Chemie. 18, Nr. 2, März 1997. Wie in RW etabliert, müssen drei Bedingungen des Modelllösungsverhaltens erfüllt sein, um einen Hafen von atmosphärischen allgemeinen Kreislaufmodellen erfolgreich zu validieren: Während der ersten paar Takte sollten Unterschiede zwischen den ursprünglichen und portierten Lösungen bestehen Ein bis zwei Größenordnungen der Maschinenrundung während der ersten Tage, sollte das Wachstum der Differenz zwischen den ursprünglichen und portierten Lösungen nicht das Wachstum einer anfänglichen Störung, die in die niedrigstwertigen Bits der ursprünglichen Lösung eingeführt wird, die Statistik einer langen überschreiten Simulation muss repräsentativ für das Klima des Modells, wie durch den ursprünglichen Code produziert werden. Das Ausmaß, in dem diese Bedingungen für andere Modelle als ein atmosphärisches Modell gelten, ist noch nicht festgelegt. Beachten Sie auch, dass die dritte Bedingung nicht im Mittelpunkt dieses Abschnitts steht (siehe Abschnitt 13.2). Die Validierung des gesamten CCSM-Systems, definiert als die Kombination aller aktiven Modellkomponenten, die an der Vollberechnung teilnehmen, ist ein zweistufiger Prozess: Validieren jedes Modells als eigenständiges System Validieren des gekoppelten Systems Die Validierung jedes einzelnen Komponentenmodells sollte allein durchgeführt werden Die Modell-Entwickler, und es kann nicht erforderlich sein, die Standalone-Tests als Teil der regelmäßigen, häufigen Validierungstests durchzuführen. Um das vollständig gekoppelte CCSM zu validieren, besteht das Ziel darin, ein Verfahren zu etablieren, das es ermöglicht, sicher zu schließen, dass der Port des vollständigen Systems (alle Komponenten aktiv) gültig ist. Allerdings gibt es mindestens zwei mögliche Probleme, die beachtet werden sollten: Wird das Verfahren ausreichen, um die Schlussfolgerungen sicher zu ziehen. Das heißt, es muss wenig Potenzial haben, einen guten Hafen zu schließen, wenn der Hafen in der Tat schlecht ist. Nach einer Schlussfolgerung, dass der Port schlecht ist, ist es wahrscheinlich, dass keine Informationen verfügbar sein werden, um festzustellen, welche Komponente des vollständigen Systems verdächtig ist. Das allgemeine Verfahren für die Portvalidierung des vollständigen CCSM besteht darin, das Wachstum der Unterschiede zwischen zwei Lösungen über eine geeignete Anzahl von integralen Zeitsteps zu untersuchen. Dieses Fehlerwachstum kann mit dem Wachstum der Unterschiede zwischen zwei Lösungen auf einer einzigen Maschine verglichen werden, wobei die unterschiedliche Lösung durch Einführen einer zufälligen Störung der kleinsten Amplitude, die durch das Modell mit der Genauigkeit der Maschine zu spüren ist, erzeugt wurde. Es wird empfohlen, dass das Verfahren das Wachstum von Differenzen in einer Zustandsvariable untersucht, die sich an der primären physikalischen Schnittstelle (dh der Oberfläche) befindet, wo die Akkumulation von Fehlern in allen Komponenten schnell wirkt und wo die Wirkung des CCSM-Kopplers ist Auch signifikant (z. B. Rastermapping). Es wird auch empfohlen, dass die Prozedur an einem gekoppelten System durchgeführt wird, bei dem der Austausch von Informationen zwischen aktiven Komponenten häufig ist. Der Austausch von Informationen an einem Modelltaggrenzwert kann die Erkennung eines ungültigen Ports maskieren, da die Grße der Fehlerdifferenzen vor einem Datenaustausch Rundungssättigungspegel erreichen könnte. Siehe Beispiel 5 in Abschnitt 13.3.4. Das Rezept für die CCSM-Validierung lautet wie folgt: Führen Sie das CCSM auf einer ausgewählten Maschine aus, auf der das Vertrauen in die Lösung aufgebaut wurde. Führen Sie das CCSM auf derselben Maschine erneut aus und führen Sie eine anfängliche Fehlerstörung in der atmosphärischen Modell-3D-Temperatur mit Hilfe von Prozedur, die im CCM verfügbar ist (siehe - eine Webverknüpfung verwenden), führen Sie das CCSM auf dem Zielcomputer mit demselben Code, denselben Modell-Eingabe-Namendateien und denselben Modell-Eingabedatendateien aus und vergleichen Sie das Fehlerwachstum in der gestörten Lösung Fehlerwachstum in der portierten Lösung. Die Fehler sollten die ersten beiden Bedingungen erfüllen, die in RW beschrieben sind. Spezifische Empfehlungen für eine Portvalidierung von CCSM: RMS-Felddifferenz, flächengemittelt Beachten Sie, dass das zu untersuchende Feld mit der vollen Maschinengenauigkeit verarbeitet werden muss. Das Feld muss während des Modellgeschichtsarchivierungsschrittes mit voller Maschinengenauigkeit gespeichert werden und die Fehlerstatistik muss mit voller Maschinengenauigkeit berechnet werden. 13.3.4 Portvalidierungsbeispiele Beispiel 1. Perturbationsfehlerwachstum Ein typisches Störungsfehlerwachstum der global gemittelten RMS-Differenz der Oberflächentemperatur unter Verwendung einer Steuerung und einer Bit-Perturbation von CCM auf 16ps der IBM SP. Es werden zwei Tage (144 atm) angezeigt. Beachten Sie, dass die ersten paar timesteps die erste Bedingung von RW erfüllen. Beispiel 2. Maschinenanschluss Die schwarze Linie ist das Störungsfehlerwachstum auf der Originalmaschine (wie in Beispiel 1). Rote Linie ist die wachsende Unterschiede zwischen der Simulation auf der ursprünglichen Maschine und die Simulation auf 64pes eines SGI Origin 2000, und die blaue Linie ist der wachsende Unterschied von einer Simulation auf 32pes einer IBM SP. Beachten Sie, dass die ersten zwei Tage (144 timesteps) die zweite Bedingung von RW erfüllen. Beispiel 3. Falscher Anschluss I Gleich wie Beispiel 2, aber blaue Linie ist ein Anschluss, bei dem die Standard-Treibhausgaskonzentration versehentlich im atmosphärischen Quellcode geändert wurde. Die ersten und zweiten Bedingungen von RW werden verletzt. Beispiel 4. Schlechter Anschluss II Gleich wie Beispiel 2, aber blaue Linie ist ein Port, bei dem der Diffusionskoeffizient zweiter Ordnung um 15 im atmosphärischen Modellnameneingang erhöht wurde. Die ersten und zweiten Bedingungen von RW werden verletzt. Beispiel 5. Häufigkeit des Modelldatenaustauschs Wie im Beispiel 2, aber die blaue Linie ist ein Port, bei dem der vertikale Diffusionskoeffizient des Ozeanmodells absichtlich gesenkt wurde. Während die ersten und zweiten RW-Bedingungen erfüllt sind, war der Port gezwungen, schlecht gewesen zu sein. Das Problem ist, dass der Ozean und die Atmosphäre gerichtet waren, um Daten nur an den Tagesgrenzen (72 atmosphärische Zeitsteps) auszutauschen, und somit hat der Koppler die Ozeanlösung nicht der Atmosphäre bis zum Beginn des zweiten Tages mitgeteilt. Der Fehler in der Ozeanmodell-Lösung hatte bereits die Rundungssättigung erreicht, als das atmosphärische Modell die Information erhielt. Für die Portvalidierung zeigt dieses Beispiel, dass der Austausch von Daten zwischen Komponenten häufiger erfolgen muss als die Zeitskala, bei der der Rundungsfehler einen (gesättigten) Wert erreicht. Deterministisches Maschinendesign von Handelssystemen mit strikter Validierung SPY wurde mithilfe einer deterministischen Methode und einem einfachen Prädiktor des Preises entworfen. Die Auswertung der In-Sample-Ergebnisse erfolgte bei Out-of-Samples von SPY und einer anti-korrelierten Sicherheit. Die Ergebnisse zeigen, dass hohe Win-Rate-Trading-Systeme mit angemessenen Risiko: Reward-Verhältnis bearbeitet werden können, die sogar profitabel sind auf einem Anti-korrelierten Markt. Deterministisches Maschinendesign von Handelssystemen ist ein Prozess, der jedes Mal das gleiche Ergebnis erzeugt, wenn er dieselben Daten mit den gleichen Designparametern abbaut. Dies ist ein Verfahren, das mit den Anforderungen der wissenschaftlichen Tests und Analysen kompatibel ist. Beachten Sie, dass die meisten Maschinendesign-Algos, die auf neuronalen Netzwerken oder genetischen Algorithmen basieren, im Allgemeinen nicht dasselbe Ergebnis erzeugen, wenn sie mit gleichen Daten und gleichen Parametern aufgrund der Zufälligkeit in Anfangsbedingungen gespeist werden. Validierung ist der Prozess der Beurteilung, wie die Ergebnisse der Maschinen-Design auf einem unabhängigen Datensatz für die Zwecke der Bewachung gegen Typ III Fehler durchgeführt. D. h. das Testen von Hypothesen, die durch die Daten vorgeschlagen werden. Im Falle der Maschinengestaltung ist es jedoch bekannt, dass eine einfache Validierung aufgrund mehrfacher Hypothesenprüfung und Daten-Snooping nicht ausreichend ist. Weitergehende Validierungsprozeduren sind erforderlich, um die Bedeutung von Handelssystemen zu ermitteln, die über das Maschinendesign entwickelt wurden. In diesem Blog wird zusätzlich zu dem Out-of-Sample-Test ein anderer strenger Test auf eine Anti-korrelierte Sicherheit während der gleichen nicht sichtbaren Datenperiode durchgeführt. Maschinendesign-Prozess Datensatz und In-Sample-Performanceparameter Wir werden Price Action Lab verwenden, um ein Handelssystem für SPY zu entwerfen, das aus einer Reihe von kurzfristigen Preisverläufen besteht. Das Schließen der täglichen Bars wird als Prädiktor des Preises mit einer maximalen Rückblickperiode von 9 bar verwendet werden. Der verfügbare Datenabtastwert vom Beginn dieser ETF wird wie folgt aufgeteilt: In-sample: 01291993 8211 12312008 Out-of-sample 01022009 8211 04022015 Die minimale erforderliche Gewinnrate für jedes der Muster beträgt 85. Das Gewinnziel wird auf 2 gesetzt, weil Möchten wir so viel wie möglich passende Ausgänge zu den Daten vermeiden. Der Stopverlust wird auf 4 gesetzt, basierend auf dem Erfordernis eines minimalen Profitfaktors von 1,5 pro Muster, das in der In-Probe identifiziert wurde. Wir verlangen auch, dass jedes Muster in der In-Probe mehr als 20 Trades und nicht mehr als 7 aufeinander folgende Verlierer hat. Unten ist der Arbeitsbereich für die In-Sample-Maschine Design: Jede Zeile auf die Ergebnisse entspricht einem Preismuster, das die Performance-Parameter erfüllt, die durch den Benutzer. Trade on ist der Einstiegspunkt, in diesem Fall der Open of next bar. P ist die Erfolgsrate des Musters, PF ist der Profitfaktor, Trades ist die Anzahl der historischen Trades, CL ist die maximale Anzahl an aufeinanderfolgenden Verlierern, Typ ist LONG für lange Muster und SHORT für kurze Muster, Ziel ist das Gewinnziel, Stop ist die Stop-Loss und C zeigt oder Punkte für die Ausgänge, in diesem Fall ist es. Letztes Datum und Erstes Datum sind das letzte und das erste Datum in der historischen Datendatei. Price Action Lab identifiziert 30 verschiedene Muster, die die Kriterien auf dem Arbeitsbereich, 23 lang und 7 kurz. Da eine gute Leistung in der In-Sample-Ausführung durch Design garantiert wird, werden wir mit Out-of-Sample-Tests fortsetzen. Wir werden nur erwähnen, dass in der in-Probe die zusammengesetzte jährliche Rendite 22 und Sharpe Ratio 2,57 war. Als nächstes wurde Amibroker-Code für die Preismuster generiert und sie wurden mit dem ODER-Operator zu einem abschließenden Handelssystem kombiniert. Die Backtest-Ergebnisse in der Out-of-Stichprobe sind nachfolgend dargestellt: Die Equity-Kurve ist akzeptabel, wenn auch unterhalb von Buy-and-Hold (nicht bereinigte Daten). Allerdings sollten wir nicht erwarten, dass ein einziges System überlegen und halten, vor allem, wenn es einen starken Trend in den letzten zwei Jahren. Die zusammengesetzte jährliche Rendite beträgt 9,84, die Netto-Rendite beträgt 79,76, max. Ist der Gewinnfaktor -14,92, der Gewinnfaktor 1,47 und die Sharpe-Ratio 1. Insgesamt wurden 150 Trades im Out-of-Sample, 109 Long und 41 Short generiert. Short Trades trug etwa 4,8 auf die zusammengesetzte jährliche Rendite. Beachten Sie, dass Provision von 0,01 pro Aktie in die Prüfung einbezogen wurde und das Anfangskapital 100K war. Das Eigenkapital wurde an jeder neuen Position voll investiert. Die annehmbaren Ergebnisse im Out-of-Sample reichen nicht aus, um gegen Typ-III-Fehler zu schützen. Dies trifft zu, da das Maschinendesign viele Systeme in der In-Probe getestet hat, bevor es ein Endergebnis anbietet. Zusätzliche Tests sind erforderlich. Da k-fach Kreuz-Validierung und andere Daten-Partitionierung Methoden sind schwierig, im Falle von Handelssystemen gelten, werden wir auf Randomisierung Tests und Tests auf vergleichbare, aber anti-korrelierte Wertpapiere. Im Folgenden ist die Verteilung der Nettoerträge von 20.000 zufälligen Longshort SPY-Handelssysteme, die Positionen am Ende der täglichen Bar in der Out-of-Stichprobe basierend auf dem Ergebnis einer fairen Münze werfen (Köpfe lange, Schwanz kurz) zu initiieren. Lange Positionen sind geschlossen, wenn Schwänze kommen und kurze Positionen sind geschlossen, wenn die Köpfe erscheinen. Starting Equity ist 100K, Provision ist auf 0,01 pro Aktie gesetzt und das Eigenkapital ist voll investiert an jeder Position: Die Netto-Rendite von 79,76 in der Out-of-Stichprobe des Systems Maschine für SPY-Scores höher als 96,09 der zufälligen Systeme, resultierend In einem p-Wert von 0,0391. Daher ist die Wahrscheinlichkeit des Erhaltens der getesteten Rückkehr in dem Out-of-Sample durch Zufall, wenn die Nullhypothese wahr ist, ungefähr 4. Aber ist es wirklich Die Antwort ist, dass es vielleicht nicht ist und sie tatsächlich höher ist. Wir benötigen zusätzliche Validierung. Ein strenger Kreuzvalidierungstest Da unser System im Wesentlichen durch die Durchführung mehrerer Tests entwickelt wurde, ist die obige Randomisierungsanalyse ein erster Schritt, um Typ-III-Fehler zu beheben, aber es genügt nicht. Wir können diese Analyse verwenden, um Zeit in dem Sinne zu sparen, dass, wenn der p-Wert höher als 0,05 ist, wir dann das System zurückweisen können. Ein hoher p-Wert schließt jedoch nicht ein System aus, das durch mehrfache Tests, d. h. ein System, das das Glück hatte, den Randomisierungstest zu bestehen, ausgeschlossen war. Um die Chancen zu erhöhen, dass unser Ergebnis nicht störend ist, werden wir eine Antikorrelations-Sicherheit im Out-of-Sample-Zeitraum identifizieren und das System testen. Ein guter Kandidat für diesen Test ist TLT, wie unten gezeigt: Die durchschnittliche 120-tägige Korrelation von SPY und TLT während der Out-of-Sample-Periode betrug -0,34 mit einer Periode von fast zwei Jahren, die in der Tabelle markiert ist Hohe Antikorrelation. Unten ist die Eigenkapital-Performance des Systems für SPY auf TLT-Daten im gleichen Zeitraum außerhalb der Stichprobe: Im Fall von TLT das System übertrifft Kauf und halten mit zusammengesetzten jährlichen Rendite von 9,43 und Netto-Rendite von 75,60. Max. Drawdown ist -11,14 und Sharpe ist 1,06 mit Gewinnfaktor gleich 1,49. Dies ist ein signifikantes Ergebnis. Ein für SPY entwickeltes System arbeitet sogar noch besser auf TLT, einer anti-korrelierten Sicherheit. Somit ist die Wahrscheinlichkeit, dass die Muster, die während des Maschinenentwurfs identifiziert wurden, prädiktive Leistung aufweisen, hoch. Beachten Sie jedoch, dass dieser Test nur einmal durchgeführt werden muss. Wenn die Ergebnisse nicht zufrieden stellend sind, wird die Suche nach einer anderen anti-korrelierten Sicherheit, die ein positives Ergebnis liefern wird, oder für ein anderes System, das ein positives Ergebnis mit demselben Test liefern wird, eine Daten-Snooping-Bias einführt und die Signifikanz dieser Tests ungültig macht. Das gleiche gilt für jeden Prozess, der Daten zur Durchführung von Tests in einem Out-of-Sample erneut verwendet. Wenn die Daten oft wiederverwendet werden, ist Datenfischerei zusammen mit falschen Ergebnissen garantiert. Anscheinend ist dies, was die Bemühungen vieler Systementwickler, die neuronale Netze und genetische Algorithmen verwenden, um Kanten zu mähen, plagen. Das ist auch der Grund, warum der Determinismus wichtig ist: Wird bei jedem neuen Test ein anderes System abgebaut, oder es gibt viele verschiedene Systeme mit guter Performance, erleichtert dies das Data-Snooping. Jedoch ist dies bei Price Action Lab nicht möglich, da mit denselben Parametern dasselbe System gefunden wird und alle Muster verwendet werden, um das endgültige System zu entwickeln, d. h. es gibt keine Auswahlvorspannung. Im Folgenden ist die Verteilung der Nettoerträge von 20.000 zufälligen Longshort TLT Handelssysteme, die Positionen am Ende jeder Tagesbar in der Out-of-Sample auf der Grundlage der Ergebnisse einer fairen Münze werfen (Köpfe lange, kurze Schwänze) zu initiieren. Das Eigenkapital beträgt 100K, die Provision beträgt 0,01% und das Eigenkapital ist an jeder Position voll investiert: Die Nettorendite von 75,60 der Maschine, die das System für TLT entworfen hat, beträgt mehr als 97,47 der zufälligen Systeme, was einen p-Wert von 0,0253 ergibt . Daher ergibt sich, da die Nullhypothese wahr ist, die Wahrscheinlichkeit des Erhaltens des Systems, daß das Out-of-sample durch Zufall etwa 2,5 beträgt. Simple Prädiktoren der Preisaktion, wie das Ende der täglichen Bars, noch besitzen Vorhersagekraft trotz einer kontinuierlichen Arbitrage von Chancen in den Märkten. Dies wurde in diesem Blog demonstriert. Es ist wichtig, dass das Maschinendesign, das einen einfachen Prädiktor verwendet, um ein Algo zu entwickeln, deterministisch ist, ansonsten müssen komplexe Tests verwendet werden, um gegen Typ-III-Fehler und Datenfischerei vorzugehen. Die Komplexität der geforderten Tests macht die Anwendung des Maschinenentwurfs auf der Grundlage von zufälligen Anfangsbedingungen extrem schwierig im Falle der Entwicklung des Handelssystems. Aufgrund der deterministischen Beschaffenheit des in diesem Beispiel verwendeten Maschinendesignalgorithmus wurde ein einfacherer, aber strenger Test auf der Grundlage der Leistungsfähigkeit des Systems auf einer anti-korrelierten Sicherheit verwendet. Jedoch macht jeder Missbrauch dieser Art von Tests sie unwirksam bei der Bewachung gegen Typ-III-Fehler. Offensichtlich ist Handelssystem-Entwicklung nicht einfach und es wird immer schwieriger, wie die Technik fortschreitet. Trader haben zwei Optionen bei der Entwicklung von Systemen: Die erste Option basiert auf der Konzeption einer Hypothese zu testen, die einzigartig sein muss. Sonst kann es ein Artefakt der Data-Mining-Bias sein. Die zweite Option beinhaltet die Verwendung von Maschinen-Design. Beide Optionen haben Fallstricke. Die erste Option erfordert Eindeutigkeit und die zweite Option erfordert effektive Cross-Validierungstests. Es kann der Fall sein, dass das Aufkommen mit einer einzigartigen Hypothese hat niedrige Chancen aufgrund der unerbittlichen Data-Mining in den letzten 25 Jahren mit Computern und Backtesting. Hier können Sie Benachrichtigungen zu neuen Beiträgen per E-Mail abonnieren. 2015 Michael Harris. Alle Rechte vorbehalten. Wir gewähren eine widerrufliche Erlaubnis, einen Hyperlink zu diesem Blog unter bestimmten Bedingungen zu erstellen. Jegliche unerlaubte Vervielfältigung, Vervielfältigung, Verbreitung, Veröffentlichung, Anzeige, Veränderung oder Übertragung eines Teils dieses Blogs ist ohne vorherige schriftliche Zustimmung streng verboten.

No comments:

Post a Comment