In meinem letzten Beitrag sprach ich über die Verwendung der Cauchy-Schwarz-Ungleichheit, um ähnliche Perioden der Preisgeschichte miteinander zu vergleichen. Dieser Beitrag ist über die strengere Prüfung dieser Idee. Ich beschloss, die Effektgröße als Test der Wahl zu verwenden, für die es hier und hier nette Einführungen gibt. Eine grundlegende Beschreibung der Art und Weise, wie ich den Test implementiert habe, ist wie folgt: - Zufällig wählen Sie einen Abschnitt der Preisentwicklung, die als Preishistorie für den Auswahl-Algorithmus zu entsprechen verwendet werden Nehmen Sie die 5 aufeinander folgenden Bars sofort nach dem oben genannten Abschnitt der Preisentwicklung Und speichern als Ziel Erstellen Sie eine Kontrollgruppe von zufälligen Übereinstimmungen an das obige Ziel durch zufällige Auswahl von 10 separaten 5 Bar Stücke der Preisentwicklung und Berechnung der Cauchy-Schwarz-Werte dieser 10 im Vergleich zum Ziel und den Mittelwert dieser Werte. Wiederholen Sie diesen Schritt N mal, um eine Verteilung von zufällig abgestimmten, durchschnittlichen Ziel-zu-zufällig-Preis-Cauchy-Schwarz-Werten zu erstellen. Aufgrund des zentralen Grenzwertsatzes kann davon ausgegangen werden, dass diese Verteilung annähernd normal ist. Verwenden Sie den passenden Algorithmus (wie im vorigen Beitrag beschrieben), erhalten Sie die nächsten 10 Treffer in der Preishistorie zur Zufallsauswahl aus Schritt 1 Holen Sie sich die 5 aufeinanderfolgenden Balken Unmittelbar nach den 10 Spielen aus Schritt 4 und berechnen ihre Cauchy-Schwarz-Werte viz-a-viz das Ziel und notieren den Mittelwert dieser 10 Werte. Dieser Mittelwert ist der experimentelle Wert Mit dem Mittelwert und der Standardabweichung der Kontrollgruppenverteilung aus Schritt 3 berechnen Sie die Effektgröße des experimentellen Werts und zeichnen diesen Effektgrößenwert auf. Wiederholen Sie alle obigen Schritte M mal, um eine Effektgrößenverteilung zu bilden Die grundlegende Prämisse, die hier getestet wird, ist, dass Muster, zu einem gewissen Grad, wiederholen und dass sie einige prädiktiven Wert für sofort nach Preis Bars haben. Die verwendete Teststatistik ist der Cauchy-Schwarz-Wert selbst, wobei ein hoher Wert eine enge Ähnlichkeit im Preismuster und damit eine Vorhersagbarkeit anzeigt. Der tatsächliche Effekt Größen-Test ist der Unterschied zwischen den Mitteln. Der Code zur Implementierung dieses Tests ist in der Code-Box unten, und ist im Grunde eine Erweiterung des Codes in meinem vorherigen Post. Ergebnisse Das Ausführen des Codes auf dem EURUSD-Forex-Paar und das Plotten von Histogrammen gibt Folgendes: wobei die Fig. 1 und 2 für die Cauchy-Schwarz-Werte sind und die Fig. 3 und 4 Abstandskorrelationswerte für Vergleichszwecke sind und die in diesem Beitrag nicht diskutiert werden. Als ich dies zum ersten Mal sah, war ich etwas überrascht, da ich erwartete, dass die Effektgrößenverteilung annähernd normal war, da alle Testberechnungen auf Durchschnittswerten basieren. Allerdings war es eine angenehme Überraschung aufgrund der Spitze in den Werten auf der rechten Seite, zeigt eine mögliche erhebliche Wirkung Größe. Um die Dinge klarer zu machen, sind die Perzentile der vier Histogramme oben: wobei die erste Spalte die Perzentile enthält und die 2., 3., 4. und 5. Spalte den Figuren 1, 2, 3 und 4 entsprechen und die Effektgrößenwerte enthalten . Betrachtet man die erste Säule, kann man sehen, daß bei Anwendung der Cohens-Skala über 50 der Effektgrößenwerte als groß zu bezeichnen sind, wobei etwa 15 weitere mittelwirksame Effekte sind. Alles in allem ein gelungener Test, der mich ermutigt, die Cauchy-Schwarz-Ungleichheit anzunehmen, aber bevor ich es gibt gibt es noch ein paar Tweaks die ich testen möchte. Dies wird das Thema meiner nächsten Post sein. Sonntag, 6. April 2014 In meinem vorherigen Post sagte ich, dass ich in meinen Code für den dominierenden Zyklus schaute. Meistens mit dem Ziel, entweder meinen Code zu verbessern oder vielleicht den Austausch mit einer anderen Methode zur Berechnung der Zyklusperiode zu ersetzen. Zu diesem Zweck habe ich mich vor kurzem für einen diskreten Zeitsignal - und Systemkurs bei edx angemeldet. Einer der Vorträge war über die Cauchy-Schwarz-Ungleichung. Worum es in diesem Beitrag geht. Die grundlegende Verwendung, die ich im Sinn habe, besteht darin, die Ungleichheit zu verwenden, um Abschnitte der Preisgeschichte zu wählen, die einander am ähnlichsten sind und diese als Trainingsfälle für neuronales Netztraining verwenden. Meine anfängliche Octave-Code ist in der folgenden Code-Box angegeben: - Nach einigen grundlegenden Haushalt Code, um die Preis-Datei von Interesse zu laden und die Preise zu normalisieren, wird ein zufälliger Abschnitt der Preishistorie ausgewählt und dann in einer Schleife die oberen N Streichhölzer In der Geschichte werden unter Verwendung der Ungleichung als Metrik für die Übereinstimmung gefunden. Ein Wert von 0 bedeutet, dass die verglichenen Preisreihen orthogonal sind. Und daher so unähnlich wie möglich, während ein Wert von 1 das Gegenteil bedeutet. Es gibt zwei Arten von Übereinstimmung mit dem Rohpreis, der mit dem Rohpreis übereinstimmt, und einem geglätteten Preis, der mit dem geglätteten Preis übereinstimmt. Zuerst weg, obgleich der oben genannte Code zufällig einen Abschnitt der Preisgeschichte auswählt, um zusammenzupassen, wählte ich bewusst einen Abschnitt, der für Beispielzwecke in diesem Pfosten zusammengebracht wird. Unten ist der Abschnitt, wo der Abschnitt an dem Punkt endet, an dem der vertikale Cursor den Preis kreuzt, und beginnt bei der Höhe gerade unterhalb des horizontalen Cursors für eine Rückblickperiode von 16 bar. Für den Kontext ist hier eine vergrößerte Ansicht. Ich wählte diesen Abschnitt, weil er einen schwierigen Satz von Preisen repräsentiert, d. H. Sich seitwärts am Ende eines Retraktors bewegt und möglicherweise auf eine vorhergehende niedrige Wirkung als Widerstand reagiert, als auch in einer Fibonacci-Retraktionszone. Der erste Satz von Codeausgaben ist dieses Diagramm, das die Cauchy-Schwarz-Werte für den gesamten Bereich der Preisreihe zeigt, wobei der obere Bereich Werte für die Rohpreisanpassung und der untere Bereich die geglättete Preisabstimmung ist. Beachten Sie, dass in dem Code die Werte auf Null gesetzt werden, nachdem die max-Funktion die beste Übereinstimmung ausgewählt hat und somit die Spikes bis auf Null die Zeitpunkte zeigen, zu denen die obere N, in diesem Fall 10 Treffer, genommen wurden. Die nächste Diagrammausgabe zeigt die normalisierten Preise, für die das Matching durchgeführt wird, wobei das Cyan die Originalprobe ist (das gleiche in allen Subplots), wobei das Rote der rohe Preis ist und das Gelb der geglättete Preis ist. Die nächste Übereinstimmung ist der obere linke Teilplot, und dann lesen horizontal und unten zu dem 10. besten in der unteren rechten Subplot. Das nächste Diagramm zeigt die unnormierten Preiskorrekturen für die Rohpreisabstimmung, wobei die ursprüngliche Probe blau ist und als nächstes für die geglättete Abgleichung und schließlich nebeneinander für einen einfachen visuellen Vergleich. Nb Für alle geglätteten Plots oben, obwohl das Matching auf geglättete Preise erfolgt, sind die ungeglätteten, Rohpreise für diese Spiele aufgetragen. Nach dem Auftragen der Code druckt Terminal alle oben, einige Details so: 16 Ergebnisse Lookback 0,95859 0,98856 0,89367 0,86361 0,95733 0,98753 0,93175 0,86839 0,95589 0,98697 0,87398 0,67945 0,95533 0,98538 0,85346 0,83079 0,95428 0,98293 0,91212 0,77225 0,94390 0,98292 0,79350 0,66563 0,93908 0,98150 0,71753 0,77458 0,93894 0,97992 0,86839 0,72492 0,97456 0,97969 0,74456 0,79060 0,93286 0,97940 0,86361 0,61103, die spaltenweise die Cauchy-Schwarz-Werte für die Rohpreisabstimmung und die geglättete Preisabstimmung und die Abstandskorrelationswerte für die Rohpreisabstimmung und die geglättete Preisabstimmung sind. Der Code, der verwendet wird, um die Abstandskorrelation zu berechnen, ist unten angegeben. Diese Ergebnisse zeigen vielversprechende, und ich beabsichtige, eine strengere Prüfung, um sie für das Thema einer zukünftigen Post anzuwenden. Eine neue Methode zur Messung Instantaneous FrequencyPeriods Ein paar Stellen habe ich erklärt, dass ich meine dominante Zyklus-Code neu zu beurteilen und zu diesem Zweck I Haben ein gutes Stück Forschung im Internet und fanden einige wirklich coole Sachen, wie Arbeiten OctaveMATLAB Code für Empirical Mode Decomposition. hier verfügbar. Und ein paar Toolboxen hier und hier. Allerdings ist der Zweck dieser Stelle ist es, eine neue Idee, die durch eine Diplomarbeit, die von Yizheng Liao inspiriert inspiriert einzuführen. Die große Idee, die in dieser Arbeit enthalten ist, ist die Online-Messung der momentanen Frequenz durch Messung der Nulldurchgänge eines Signals und seiner Hilbert-Transformation. Anders bekannt als das analytische Signal. Nachstehend wird eine einfache Demonstration gezeigt, bei der die Cyanlinie das ursprüngliche (Realteil) Signal ist und die Hilbert-Transformation (Imaginärteil) eines verrauschten Sinuswellensignals rot. Die Hilbert-Transformierte von sin (x) ist - cos (x), die das Äquivalent von sin (x-90) ist, und zwar unter Verwendung von Graden statt einer radianen Schreibweise für die Phase von x. Da wir die Phase um jeden Betrag verzögern können, ist es möglich, ein Array von Phasenverzögerungen zu haben, um mehr Nulldurchgänge pro volle Zyklusperiode zu erzeugen, als nur die 4, die nur mit dem analytischen Signal auftreten. Dies ist nachstehend gezeigt, wo nach wie vor das Cyan das verrauschte Sinuswellensignal ist, das Dunkelblau das ursprüngliche glatte Sinuswellensignal ist, dem das Rauschen hinzugefügt wird, das Rot die gemessene Sinuswelle, die aus dem Rauschsignal und dem Grün extrahiert wird , Magentafarbene und gelbe Linien sind Sinuskurven der Phase des roten Sinus, die um 30, 60, 90, 120, 150 und 180 Grad verzögert sind. Diese letzte 180-Grad-Verzögerungslinie ist tatsächlich überflüssig, da sie die Nulllinie zur gleichen Zeit wie das ursprüngliche Signal kreuzt, aber ich zeige sie nur für Vollständigkeit. Die weiße Cursorzeile zeigt die Nulllinie und den Beginn eines kompletten Zyklus. Abgesehen von der Möglichkeit, die Anzahl der messbaren Nulldurchgänge zu erhöhen, ist ein weiterer Vorteil, den ich von der Verwendung dieser Sinuswellenextraktionsmethode sehen kann, darin zu sehen, dass die extrahierten Sinuswellen viel glatter sind als das analytische Signal, daher können die Nulldurchgänge selbst verwendet werden Kreuzungen von Hystereselinien (das Papier lesen), wobei jegliche Verzögerungen aufgrund des Wartens, um die Hystereselinien zu kreuzen, vermieden werden. Für diejenigen, die interessiert sind, ist die Sinuswelle Indikator ich dafür verwendet John Ehlers Sinus-Indikator, eine schöne Ausstellung, die hier und Code zur Verfügung steht hier. Mehr dazu im Laufe der Zeit.
No comments:
Post a Comment