Mdfa forex




Mdfa forexHigh-Frequency Financial Trading auf FOREX mit MDFA und R: Ein Beispiel mit dem japanischen Yen Dieser letzte Eintrag von Chris ist besonders in dem Sinne, dass er auf meinem Open-Source-MDFA-Paket (und nicht auf iMetrica) basiert, um Handelssignale zu erzeugen Daher sind die Ergebnisse reproduzierbar. Chris machte eine gro?e Replikation Anstrengung, siehe unten: Mittwoch 20: Ich fugte den R-Code wie von Chris geandert, um zur Replikation zu gehen. Was folgt, ist Chris8217email, schneiden und pastete von meinem Server: "Ich habe gerade die lang erwartete Intro-Tutorial auf, wie man Trading-Signale mit MDFA und R fur Hochfrequenz-Daten zu bauen. There8217s nicht zu viele Geheimnisse, zum hier zu verstecken, da, was ich in R mit Ihrem Code tat, ist in erster Linie die gleiche Routine, die ich nehme, um meine Handelssignale in iMetrica zu bauen (au?er dass ich Sachen viel viel viel schneller in den letzten8230 und ok dort tun kann Sind nur ein paar kleine geheime Saucen, die I8217m verwenden und noch nicht bereit sind, auslaufen, bis I8217m beschaftigt). Aber soweit dieses Beispiel mit dem Yen geht, sollte alles (sollte) zu Hause mit einer (leicht modifizierten) Version Ihres Codes reproduzierbar sein. Hier ist der Artikel 1. Eine Herausforderung, die ich bei der Erstellung dieser Beispiele konfrontiert, kam aus dem Vergleich mit meinen Ergebnissen, die ich in iMetrica. Leider waren die Ergebnisse zunachst nicht die gleichen. Nachdem ich etwas frustriert wurde, nahm ich die muhevolle Bemuhung, herauszufinden, warum meine MDFA-Routinen in C unterscheiden sich von Ihnen in R. Mine sind in einer viel optimierter und effizienter Weise zu erreichen, die schnellste Geschwindigkeit moglich (dank einer schnellen Apophenie-Optimierung Paket, um Matrizen zusammenzubauen und Koeffizienten zu losen). Allerdings sollten die Endergebnisse gleichwertig sein. Nach einem Tag der Navigation durch beide oder unsere MDFA-Implementierungen, fand ich heraus, warum sie nicht gleichwertig sind (und ich anderte sie in Ihrem Code). Hier sind die Unterschiede (die ich mich erinnern kann) aus meiner Implementierung und deiner (ab Release November): 8211 Berechnung der DFTs. Aus irgendeinem Grund, bei der Nullfrequenz, verwenden Sie don8217t den Mittelwert der Daten. Sie setzen es einfach auf Null. Nicht sicher, ob Sie dies auf Unfall oder mit Absicht verlassen, aber ich benutze den Mittelwert. Au?erdem teile ich die DFT-Werte durch die Konstante (pin), wobei n die Anzahl der Beobachtungen in Zeitreihen sind. 8211 In der Definition des Decay1-Parameters scheinen Sie nicht die tan-Funktionszuordnung zu verwenden. Ich tat. 8211 Der gro?te Unterschied besteht in der Definition der Glattungsfunktion (definiert durch expweight). Zuerst teilen Sie expweight durch 2, ich teilen durch 10. Nicht ein sehr gro?es Abkommen. Das gro?e Angebot ist das. Meine Definition der verschobenen Leistungsfunktion ist eine Funktion des Frequenzwertes (also von 0 bis zu 3.14). Yours ist eine Funktion der Position des Frequenzwertindex, zwischen 0 und K. Dies macht einen gro?en Unterschied. Ich bevorzuge die Definition der Leistungsfunktion in Bezug auf den Haufigkeitswert und nicht den Index. Nachdem ich diese geandert habe waren die Ergebnisse ziemlich gleich, aber nicht genau. Beim Betrachten der endgultigen Matrix (bei der Losung von Axb fur die Koeffizienten) nach Anwendung von Regularisierung und Anpassung scheint es, da? die Werte innerhalb der Matrix A auf einen Faktor von etwa 10 ausgeschaltet sind. Meine Intuition ist, dass die komplexen exp-Funktionen in R und C etwas anders berechnet werden (besserer Genauigkeit, ich wei? nicht). So I8217m nicht sicher, ob dies etwas, was wir jemals in der Lage zu losen. Aber I8217m nicht beunruhigt, da die Endergebnisse so nah sind. In der Tat, es didn8217t irgendwelche der Trades in meinen Beispielen ich zeigen, sie waren die gleichen in iMetrica. Und das ist das Wichtigste. Sowieso kann ich Ihnen meine Version Ihres Codes senden, wenn Sie wunschen, damit Leute es herunterladen konnen, um die Beispiele zu versuchen. Oder Sie konnen diese Anderungen zu betrachten und sie dauerhaft in zukunftigen Versionen von MDFA. Lassen Sie mich wissen, und genie?en Sie den Artikel. Du arbeitest zu hart, alter Junge. Ihr Haar wurde R-farbige R-Weberei und R-Bursten in den Sinn kommt. By the way, ist die Konsistenz in umgekehrter Richtung gemessen: iMetrica sollte in der Lage sein, I-MDFA, die die Referenz ist zu replizieren. Mein MDFA-Code wie von Chris modifiziert (siehe oben Kommentare) DFT. r. I8217m immer arbeitet mit zentrierten Serie daher die DFT in Frequenz Null ist Null (it8217s proportional zum Mittelwert). Chris scheint nicht mit zentrierten Serien zu arbeiten: seine DFT unterscheidet sich von Null in freq. Null. I-MDFAnew. r. Es scheint, dass die expweight Amplitude-Gewichtung wurde geandert und ich denke, der Lambda-Zerfall Begriff wurde auch geandert. Beachten Sie, dass ich meine letzte I-MDFA-Version nicht andern kann: Die obigen Anderungen sind nutzlich, wenn Sie Chris8217-Ergebnisse replizieren mochten (aber ich bleibe nach meiner Version). Um Replikation durchzufuhren, mussen Sie die Daten von ihm verlangen. Lassen Sie eine Antwort Antworten abbrechenMonatliche Archive: Februar 2013 Hier ist es, die neuen Elemente-Vade-Mecum (angesichts der Lange des Dokuments ist es kaum ein Papier mehr): Feb. 09: Ich habe einen neuen Abschnitt 11.9 auf Datenrevisionen, die beruht Auf einem hier erschienenen 2011-Papier. Dieses Problem kann durch das neue Kointegrations-Framework angegangen werden, da Daten-Releases durch den Kointegrationsvektor (1, -1) paarweise verknupft werden konnen. 11. Marz: Ich korrigierte den Fehler in den Definitionen 23 und 24 (dank eines aufmerksamen Studenten). Alles, was Sie schon immer uber (Co) Integration und Echtzeit-Filterung wissen wollte, ist in den Abschnitten 9 und 11 verpackt Oh lieben Sie dieses neue Material. Gegenuber universellen (tautologischen) Zahlenidentitaten, die unabhangig von Annahmen stehen, geht es auch um ein singulares statistisches Ergebnis, namlich Superkonsistenz und Effizienz. Ein Kampf zwischen dem platonischen Ideal und dem mercantilen Opportunismus: Vermutung, auf welcher Seite ich8217m positioniert8230 Ich habe einen ersten Entwurf der Elemente-Papier bereit. Aber Holly-Golden-Kuh: Das war ein harter Kampf Dieses neue Material fuhrt zu einer sehr umfangreichen Revision der Elemente Papier: die alten Teile bleiben unberuhrt 8211 sie sind zu gut, um verandert werden8230 8211 aber ich musste eine erhebliche Menge an Technische mathematische Details, um das MDFA aus einer tieferen philosophischen8217 (die die mathematische8217) Perspektive umfasst zu rechtfertigen. Ich brauche etwas Zeit, um die Dinge einzulosen: wenn ich bereit bin, poste ich das neue Papier. Bald. Sehr bald. Oh mein Gott, das war hart. Wenn es so schwer zu schreiben, fur mich, dann wird es sein, dass schwer zu lesen, fur you8230 Das Papier auf uber 80 Seiten aufgeblasen. Es wird ein Buch8230 Und das ist genau meine Absicht. Nach 2005 und 2008 ist es Zeit fur ein neues Buch. Nachstes Jahr. Und das Element-Papier wird ein Buch-Entwurf. Ginters Buss von der Lettischen Nationalbank hat eine interessante Lekture uber I-MDFA, siehe 1. Und hier8217s eine direkte Verbindung zu dem Papier zu SEFBlog:.Figure 1: In-Sample (Beobachtungen 1-250) und Out-of-Sample Performance von Das Trading-Signal in diesem Tutorial mit MDFA gebaut. (Top) Der Logarithmus des Yen (FXY) in 15-Minuten-Intervallen und die durch das Trading-Signal erzeugten Trades. Hier schwarze Linie ist ein Kauf (lang), blau ist verkaufen (Short-Position). (Bottom) Die vom Handel erzielten Renditen (in bar), in Prozentgewinn oder - verlust. In meinem vorherigen Artikel uber Hochfrequenzhandel in iMetrica auf der FOREXGLOBEX. Ich habe in iMetrica mit dem multidimensionalen Direct Filter Ansatz (MDFA) einige robuste Signalextraktionsstrategien eingefuhrt, um Hochleistungssignale fur den Handel am Devisen - und Futures-Markt zu generieren. In diesem Artikel nehme ich eine kurze Abwesenheit von meiner Welt der Entwicklung von finanziellen Handelssignalen in iMetrica und migrieren in eine uber-populare Sprache verwendet in der Finanzierung aufgrund seiner uppigen Palette von Paketen, schnelle Daten-Management und Grafik-Handling und von Naturlich die Tatsache, dass es frei (wie in Sprache und Bier) auf fast jedem Computer-Plattform in der Welt. Dieser Artikel gibt ein Intro-Tutorial zur Verwendung von R fur den Hochfrequenzhandel auf dem FOREX-Markt unter Verwendung des R-Pakets fur MDFA (angeboten von Herrn Doktor Marc Wildi von Bern) und einige Strategien, die I8217v fur die Generierung von finanziell robusten Handelssignalen entwickelt hat. Fur dieses Tutorial betrachte ich das zweite Beispiel in meinem vorherigen Artikel, wo ich ein Trading-Signal fur 15-Minuten-Log-Ruckkehr des japanischen Yen (von Offnung Glocke auf Markt schlie?en EST) entwickelt. Dies stellte etwas neue Herausforderungen als vorher, da die nahezu offenen Sprungvariationen viel gro?er sind als jene, die durch stundliche oder tagliche Renditen erzeugt werden. Aber wie ich gezeigt habe, stellten diese gro?eren Schwankungen auf dem offenen Preis keine Probleme fur die MDFA. In der Tat, es nutzte diese Sprunge und machte gro?e Gewinne durch die Vorhersage der Richtung des Sprungs. Abbildung 1 am Anfang dieses Artikels zeigt, dass die Leistung des Filters I im ersten Teil dieses Tutorials in der Probe (Beobachtungen 1-250) und au?erhalb der Probe (Beobachtungen 251) lauft. In diesem Tutorial versuche ich, diese Ergebnisse zu replizieren, die ich in iMetrica erstellt habe und erweitere sie ein wenig mit der R-Sprache und der Implementierung der MDFA, die hier verfugbar ist. Die Daten, die wir betrachten sind 15-Minuten-Log-Ruckkehr der Yen vom 4. Januar bis 17. Januar und ich habe sie gespeichert als. RData-Datei von ldfxyinsamp gegeben. Ich habe eine zusatzliche erklarende Reihe, die in die. RData Akte eingebettet wird, die I8217m verwenden, um den Preis des Yen vorherzusagen. Daruber hinaus werde ich auch mit pricefxyinsamp, die die Log-Preis von Yen, verwendet, um die Performance (buysells) des Handels-Signal zu berechnen. Die ldfxyinsamp wird als In-Sample-Daten verwendet, um das Filter - und Trading-Signal fur FXY zu konstruieren. Um diese Daten zu erhalten, konnen Sie diese Beispiele zu Hause ausfuhren, E-Mail senden und I8217ll senden Sie alle erforderlichen. RData-Dateien (die In-Sample und Out-of-Sample-Daten) in einer ZIP-Datei. Wenn wir einen schnellen Blick auf die ldfxyinsamp-Daten werfen, sehen wir Log-Returns des Yen alle 15 Minuten beginnend am Markt geoffnet (Zeitzone UTC). Die Zieldaten (Yen) befinden sich in der ersten Spalte zusammen mit den beiden Erlauterungsreihen (Yen und ein anderes mit der Yen-Bewegung integriertes Asset). Gt head (ldfxyinsamp), 1, 2, 3 2013-01-04 13:30:00 0.0000000000 2013-01-04 13:45:00 4.763412d-03 4.763412d-03 0.0033465833 2013-01-04 14:00:00 -8,966599d-05 -8,966599d-05 0,0040635638 2013-01-04 14:15:00 2.597055d-03 2.597055d-03 -0.0008322064 2013-01-04 14:30:00 -7.157556d - 04 -7.157556d-04 0.0020792190 2013-01-04 14:45:00 -4.476075e-04 -4.476075e-04 -0.0014685198 Immer weiter, um mit dem Bau des ersten Handelssignals fur den Yen zu beginnen, beginnen wir mit dem Hochladen der Daten Unsere R-Umgebung definieren einige Anfangsparameter fur den MDFA-Funktionsaufruf und berechnen dann die DFTs und das Periodogramm fur den Yen. Wie ich in meinen fruheren Artikeln erwahnt habe, beginnt meine Schritt-fur-Schritt-Strategie fur den Aufbau von Handelssignalen immer mit einer schnellen Analyse des Periodogramms des Vermogens, auf dem gehandelt wird. Mit dem Schlussel, um einen Einblick in die Eigenschaften der Asset Trades zu erhalten, ist das Periodogramm ein wesentliches Werkzeug fur die Navigation, wie der Extraktor gewahlt wird. Hier suche ich prinzipielle Spektralpeaks, die im Zeitbereich entsprechen, wie und wo mein Signal buysell-Trades auslost. Abbildung 2 zeigt das Periodogramm der 15-minutigen Protokolleinstellungen des japanischen Yen wahrend der Stichprobenperiode vom 4. Januar bis zum 17. Januar 2013. Die Pfeile zeigen auf die spektralen Hauptspitzen, die ich suche Wird meine Funktion definieren. Die schwarzen gestrichelten Linien zeigen die beiden Frequenzunterbrechungen an, die ich in diesem Beispiel betrachten werde, das erste Wesen und das zweite an. Beachten Sie, dass beide Cutoffs direkt nach einem spektralen Peak gesetzt werden, was ich sehr empfehlen kann. Im Hochfrequenzhandel auf dem FOREX mit MDFA, wie wir sehen, ist der Trick, den spektralen Hochststand zu suchen, der fur die nahezu offene Veranderung des Preises der Fremdwahrung verantwortlich ist. Wir wollen diese spektrale Spitze nutzen, da hier die gro?en Gewinne im Devisenhandel mit MDFA auftreten werden. Abbildung 2: Periodogramm von FXY (japanischer Yen) mit spektralen Peaks und zwei verschiedenen Frequenzunterbrechungen. In unserem ersten Beispiel betrachten wir die gro?ere Frequenz als Cutoff, indem wir sie auf (die rechte Linie in der Figur des Periodogramms) einstellen. Ich habe dann zunachst die Aktualitat und Glatte Parameter und expweight auf 0 zusammen mit der Einstellung aller Regularisierung Parameter auf 0 als auch. Dies wird mir ein Barometer fur wo und wie viel die Filter-Parameter einstellen. Bei der Auswahl der Filterlange haben meine empirischen Untersuchungen uber zahlreiche Experimente bei der Erstellung von Handelssignalen mit iMetrica gezeigt, dass eine Auswahl von 8216good8217 zwischen 14 und 15 der gesamten Stichprobenlange der Zeitreihendaten liegen kann. Naturlich hangt die Lange von der Haufigkeit der Datenbeobachtungen (d. h. 15 Minuten, stundlich, taglich usw.) ab, aber im allgemeinen werden Sie hochstwahrscheinlich niemals mehr als gro?er als die Gro?e der Stichprobe benotigen. Andernfalls kann die Regularisierung zu umstandlich werden, um effektiv zu handeln. In diesem Beispiel ist die Gesamtlange in der Probe 335 und somit setze ich die I8217ll fur den Rest dieses Tutorials. In jedem Fall ist die Lange des Filters nicht der wichtigste Parameter, um beim Aufbau guter Handelssignale zu berucksichtigen. Fur eine gute robuste Auswahl der Filterparameter Paare mit entsprechender Erlauterungsreihe sollten sich die Ergebnisse des Trading-Signals im Vergleich zum Beispiel kaum unterscheiden. Wenn ja, dann ist die Parametrierung nicht robust genug. Nach dem Hochladen der In-Sample-Log-Return-Daten zusammen mit dem entsprechenden Log-Preis des Yen zur Berechnung der Trading-Performance gehen wir in R vor, um die Filtereinstellungen fur die MDFA-Routine festzulegen und dann den Filter mit der Funktion IMDFAcomp zu berechnen. Dies gibt sowohl die imdfaamp-Objektkoeffizienten, die Frequenzantwortfunktionen als auch die Statistik des Filters zusammen mit dem fur jede erlauternde Reihe erzeugten Signal zuruck. Wir kombinieren diese Signale, um das endgultige Handelssignal zu erhalten. All dies geschieht in R wie folgt: Die resultierenden Frequenzantwortfunktionen des Filters und die Koeffizienten sind in der folgenden Abbildung aufgetragen. Abbildung 3: Die Frequenzantwortfunktionen des Filters (oben) und der Filterkoeffizienten (unten) Beachten Sie, dass die noch vorhandene Rauschen die Grenzfrequenz uberschritten hat. Dies wird durch Erhohung des expweight smoothness-Parameters bewaltigt. Die Koeffizienten fur jede erlauternde Reihe zeigen eine gewisse Korrelation in ihrer Bewegung, wenn die Verzogerungen zunehmen. Die Glatte und der Abfall der Koeffizienten lassen jedoch viel zu wunschen ubrig. Wir werden dies durch die Einfuhrung von Regularisierungsparametern abhelfen. Die Plots des In-Sample-Trading-Signals und die Performance in-Sample des Signals sind in den beiden folgenden Abbildungen dargestellt. Beachten Sie, dass sich das Handelssignal sehr gut in der Stichprobe verhalt. Jedoch konnen Blicke tauschen. Diese stellare Leistung ist zu einem gro?en Teil zu einer Filterung Phanomen genannt Overfitting. Man kann daraus schlie?en, dass Uberbeulen der Schuldige ist, indem man einfach die Ungleichheit der Koeffizienten zusammen mit der Zahl der eingefrorenen Freiheitsgrade betrachtet, die in diesem Beispiel etwa 174 (von 174) viel zu hoch ist. Wir wollen diese Zahl bei etwa der Halfte der Gesamtheit der Freiheitsgrade (Anzahl der erlauternden Reihen x L) erhalten. Abbildung 4: Das Handelssignal und die Log-Return-Daten des Yen. Die In-Sample-Performance dieses Filters demonstriert die Art der Ergebnisse, die wir gerne sehen wurden, nachdem die Regularisierung angewendet wurde. Aber jetzt kommt fur die ernuchternden Auswirkungen der Uberbearbeitung. Wir wenden diese Filterkoeffizienten auf 200 15-minutige Beobachtungen des Yen und der erlauternden Reihe vom 18. Januar bis 1. Februar 2013 an und vergleichen mit den Merkmalen in der Probe. Um dies in R zu tun, laden wir zuerst die Out-of-Sample-Daten in die R-Umgebung und wenden Sie dann den Filter auf die Out-of-Sample-Daten, die ich als xout definiert. Das Diagramm in 5 zeigt das Out-of-Sample-Handelssignal. Beachten Sie, dass das Signal nicht annahernd so glatt ist wie in der Probe. Auch die Uberschreitung der Daten in einigen Bereichen ist offensichtlich vorhanden. Obwohl die Out-of-Sample-Overfitting-Eigenschaften des Signals nicht schrecklich misstrauisch sind, wurde ich nicht vertrauen diesem Filter zu produzieren stellaren Renditen auf lange Sicht. Abbildung 5. Filter auf 200 15-Minuten-Beobachtungen von Yen out-of-Probe, um Trading-Signal zu erzeugen (blau dargestellt) Nach der vorherigen Analyse der mittlere quadratische Losung (keine Anpassung oder Regularisierung), jetzt gehen wir auf die Reinigung der Problem der Uberbeanspruchung, die in den Koeffizienten bei gleichzeitiger Beruhigung des Rauschens im Stoppband (Frequenzen nach) deutlich wurde. Um die Parameter fur die Glattung und die Regularisierung zu wahlen, wird zuerst der Glatteparameter zuerst angewendet, da dies im allgemeinen die Koeffizienten wahrend des Handelns als 8216pre8217-Regulator ausgleicht und dann zur Auswahl geeigneter Regularisierungskontrollen vorruckt. Bei Betrachtung der Koeffizienten (Abbildung 3) konnen wir sehen, dass eine angemessene Glattung notwendig ist, mit nur geringem Zerfall. Um diese beiden Parameter in R auszuwahlen, ist eine Option, den Trochaner-Optimierer (hier gefunden) zu finden, um eine passende Kombination zu finden (Ich habe einen geheimen Sauce-Algorithmus, den ich fur iMetrica entwickelt habe, um optimale Kombinationen von Parametern bei einem Extraktor und einer Leistungsindikator zu wahlen , Obwohl it8217s lange (auch in GNU C) und muhsam zu bedienen, so dass ich in der Regel lieber die Strategie in diesem Tutorial diskutiert). In diesem Beispiel begann ich mit dem Setzen des Lambdasmas auf .5 und dem Abfall auf (.1, .1) zusammen mit einem auf 8.5 eingestellten expweight Smoothness-Parameter. Nachdem ich die Koeffizienten betrachtete, war es noch genugend Glatte, so fuhr ich fort, endlich mehr zu erreichen .63, was den Trick machte. Ich wahlte dann lambda auszugleichen die Effekte der Glattung expweight (Lambda ist immer der letzte Ort Tweaking-Parameter). Fig. 6 zeigt die resultierende Frequenzantwortfunktion fur beide erklarende Reihen (Yen in rot). Man beachte, da? der gr?te spektrale Peak, der unmittelbar vor der Frequenzgrenze gefunden wurde, hervorgehoben und leicht gemildert wird (Wert nahe 0,8 statt 1,0). Die anderen spektralen Peaks unten sind ebenfalls vorhanden. Fur die Koeffizienten wurde gerade genug Glattung und Zerfall angewandt, um die Verzogerung, zyklische und korrelierte Struktur der Koeffizienten intakt zu halten, aber jetzt sehen sie viel schoner in ihrer geglatteten Form. Die Zahl der eingefrorenen Freiheitsgrade wurde auf etwa 102 reduziert. Abbildung 6: Die Frequenzantwortfunktionen und die Koeffizienten nach der Regulierung und Glattung wurden angewendet (oben). Die geglatteten Koeffizienten mit leichtem Zerfall am Ende (unten). Die Zahl der eingefrorenen Freiheitsgrade betragt etwa 102 (von 172). Zusammen mit verbesserten gefrorenen Freiheitsgraden und ohne sichtbare Verwustung der Uberfischung wenden wir diesen Filter out-of-sample auf die 200 Out-of-Probe-Beobachtungen an, um die Verbesserung der Struktur der Filterkoeffizienten zu uberprufen (siehe unten) Fig. 7). Beachten Sie die enorme Verbesserung der Eigenschaften des Handelssignals (verglichen mit Abbildung 5). Das Uberschwingen der Daten ist beseitigt und die Gesamtglatte des Signals hat sich deutlich verbessert. Dies ist auf die Tatsache zuruckzufuhren, dass wir das Vorhandensein von Uberfaltung beseitigt haben. Abbildung 7: Out-of-Sample-Handelssignal mit Regularisierung. Bei allen Indikationen eines Filters, der genau die Eigenschaften besitzt, die wir fur die Robustheit benotigen, wenden wir jetzt das Handelssignal sowohl in Probe als auch au?erhalb der Probe an, um die Buysell-Trades zu aktivieren und die Performance des Handelskontos in bar zu sehen. Wenn das Signal unter Null geht, verkaufen wir (Short-Position) und wenn das Signal uber Null steigt, kaufen wir (Long-Position eingeben). Das obere Diagramm von 8 ist der logarithmische Preis des Yen fur die 15-Minuten-Intervalle, und die gepunkteten Linien stellen genau dar, wo das Handelssignal erzeugte Geschafte (Kreuzung null) erzeugt. Die schwarzen gestrichelten Linien reprasentieren einen Kauf (Long-Position) und die blauen Linien zeigen einen Verkauf (und Short-Position). Beachten Sie, dass das Signal alle nah beieinander liegenden Sprunge fur den Yen vorhergesagt hat (teilweise dank der erklarenden Serie). Dies ist genau das, was wir streben, wenn wir Regularisierung und Anpassung an den Filter hinzufugen. Das Cash-Konto der Trades uber die Stichprobenperiode ist nachfolgend dargestellt, wobei die Transaktionskosten auf 0,05 Prozent festgelegt wurden. In-Probe, das Signal verdient etwa 6 Prozent in 9 Handelstagen und ein 76 Prozent Handelserfolgsquote. Abbildung 8: In-Sample-Performance des neuen Filters und der generierten Trades. Jetzt fur den ultimativen Test, um zu sehen, wie gut der Filter bei der Herstellung eines erfolgreichen Handelssignals durchfuhrt, haben wir den Filter auf die 200 15-minutige Out-of-Probe-Beobachtung des Yen und der erlauternden Reihe vom 18. Januar bis zum 1. Februar angewendet Trades basierend auf dem Nulldurchgang. Die Ergebnisse sind unten in Fig. 9 gezeigt. Die schwarzen Linien reprasentieren die Kaufe und blauen Linien die Verkaufe (Shorts). Beachten Sie den Filter ist noch in der Lage, die Nah-zu-offenen Sprunge sogar out-of-Probe durch die Regularisierung vorherzusagen. Der Filter erleidet nur drei winzige Verluste mit weniger als 0,08 Prozent zwischen den Beobachtungen 160 und 180 und einem kleinen Verlust am Anfang, wobei eine Out-of-Sample-Trade-Erfolgsquote mit 82 Prozent und einem ROI von knapp uber 4 Prozent gegenuber stand Die 9-Tage-Intervall. Abbildung 9: Out-of-Sample-Performance des regulierten Filters bei 200 Renditen des Yen von 200 Minuten. Der Filter erzielte einen ROI von 4 Prozent uber die 200 Beobachtungen und eine Erfolgsquote von 82 Prozent. Vergleichen Sie dies mit den Ergebnissen in iMetrica mit den gleichen MDFA-Parametereinstellungen. In Fig. 10 sind sowohl die In-Probe - als auch die Out-of-Sample-Leistung gezeigt. Die Leistung ist nahezu identisch. Abbildung 10: In-Probe - und Out-of-Sample-Performance des Yen-Filters in iMetrica. Fast identisch mit der Leistung, die in R. erhalten wird. Jetzt nehmen wir einen Stab an der Herstellung eines anderen Handelsfilters fur den Yen, nur dieses Mal wollen wir nur die niedrigsten Frequenzen identifizieren, um ein Handelssignal zu generieren, das weniger oft ablauft und nur die gro?ten Zyklen sucht. Wie bei der Leistung des vorherigen Filters wollen wir immer noch auf die Frequenzen abzielen, die fur die gro?en, nahezu offenen Schwankungen des Yenpreises verantwortlich sein konnten. Um dies zu tun, wahlen wir unsere Cutoff zu sein, die effektiv halten die gro?te drei Spektralpeaks intakt in der Tiefpass-Band von. Fur diesen neuen Filter halten wir die Dinge einfach, indem wir fortfahren, die gleichen Regularisierungsparameter zu verwenden, die in dem vorherigen Filter ausgewahlt wurden, da sie scheinbar gute Ergebnisse au?erhalb des Samples zu erzeugen schienen. Fur die neuen Rauschunterdruckungsanforderungen im Stopband und die Phaseneigenschaften im kleineren Durchla?bereich mussen jedoch die Anpassungsparameter von und expweight angepa?t werden. Somit steigere ich den Glattungsparameter und verringere den Timeliness-Parameter (der nur das Durchla?band betrifft), um diese Anderung zu berucksichtigen. Die neuen Frequenzantwortfunktionen und Filterkoeffizienten fur dieses kleinere Tiefpass-Design sind unten in Fig. 11 gezeigt. Man beachte, da? der zweite spektrale Peak berucksichtigt und nur unter den neuen Anderungen nur leicht beruhigt wird. Die Koeffizienten haben noch die spurbare Glatte und Zerfall bei den gro?ten Verzogerungen. Abbildung 11: Frequenzgangfunktionen der beiden Filter und deren Koeffizienten. Um die Effektivitat dieses neuen, niedrigeren Handelsfrequenzdesigns zu testen, wenden wir die Filterkoeffizienten auf die 200 Out-of-Sample-Beobachtungen der 15-minutigen Yen-Log-Returns an. Die Leistung ist unten in Abbildung 12 gezeigt. In diesem Filter sehen wir deutlich, dass der Filter noch gelingt, richtig zu prognostizieren die gro?en Nah-zu-offenen Sprunge in den Preis des Yen. Wahrend des 9-tagigen Zeitraums werden nur drei Gesamtverluste beobachtet. Die Gesamtleistung ist nicht so ansprechend wie die bisherige Filterkonstruktion, da weniger Abschlusse mit einem ROI von nahezu 2 Prozent und einer Erfolgsquote von 76 Prozent erzielt werden. Allerdings konnte dieses Design passen die Prioritaten fur einen Handler viel empfindlicher auf Transaktionskosten. Abbildung 12: Out-of-sample Leistung des Filters mit unterer Cutoff. Fazit Die Bestatigung und Kreuzvalidierung ist wichtig, so wie es der interessanteste Mensch der Welt sagen wird. Der Punkt dieses Tutorials war, einige der Hauptkonzepte und - strategien zu zeigen, die ich durchmache, wenn ich das Problem des Aufbauens eines robusten und hoch effizienten Handelssignals fur irgendein gegebenes Vermogen bei jeder Frequenz erlebe. Ich wollte auch sehen, ob ich vergleichbare Ergebnisse mit dem R MDFA Paket als iMetrica Softwarepaket erzielen konnte. Die Ergebnisse endete bis nahezu parallel mit einigen kleinen Unterschiede. Die wichtigsten Punkte, die ich hervorheben wollte, waren das erste Analysieren des Periodogramms, um die wichtigen Spektralpeaks (wie etwa diejenigen, die mit offenen Variationen assoziieren) zu suchen, und um zu zeigen, wie die Wahl des Cutoffs den systematischen Handel beeinflusst. Hier8217s eine schnelle Zusammenfassung auf gute Strategien und Hacks im Auge zu behalten. Zusammenfassung der Strategien fur den Aufbau eines Handelssignals mittels MDFA in R: Wie ich bereits erwahnt habe, ist das Periodogramm Ihr bester Freund. Wenden Sie den Cutoff direkt nach jedem Spektralbereich an, den Sie berucksichtigen mochten. Diese Peaks sind, was die Trades zu generieren. Verwenden Sie eine Filterlange von nicht mehr als 14. Alles, was gro?er ist, ist unnotig. Beginnen Sie mit der Berechnung des Filters im mittleren quadratischen Sinne, dh ohne jegliche Anpassung oder Regularisierung und genau zu sehen, was genehmigt werden muss, indem man die Frequenzantwortfunktionen und Koeffizienten fur jede erlauternde Reihe betrachtet. Eine gute Leistung des Trading-Signals in der Stichprobe (und sogar au?erhalb der Stichprobe in den meisten Fallen) ist bedeutungslos, wenn die Koeffizienten keine soliden robusten Eigenschaften sowohl im Frequenzbereich als auch im Lag-Bereich aufweisen. Ich empfehle, beginnend mit Optimierung der Glatte Anpassung Parameter expweight und die Lambdasmooth Regularisierung Parameter zuerst. Anschlie?end mit nur geringen Anpassungen der Lambdadecay-Parameter fortfahren. Schlie?lich, als letztes Mittel, die Lambda-Anpassung. Ich habe wirklich nie die Muhe, sich auf lambdacross. Es hat selten in einer bedeutenden Weise geholfen. Da die Daten, die wir zum Targeting und zur Erstellung von Handelssignalen verwenden, Log-Returns sind, brauchen wir uns nicht mit i1 und i2 zu befassen. Diese sind fur die wirklich fortgeschrittenen und Patientensignalextraktoren und sollten nur fur die mit iMetrica gelassen werden gelassen werden Wenn Sie irgendwelche Fragen haben oder die Hochfrequenz Yen Daten haben, die ich in diesen Beispielen verwendet habe, fuhlen Sie sich frei, mit mir in Verbindung zu treten und I8217ll zu senden Sie Ihnen. Bis zum nachsten Mal, gluckliches Extrahieren 8220Bei einem schnellen Blick auf die ldfxyinsamp-Daten sehen wir Log-Ruckkehr des Yen alle 15 Minuten beginnend am Markt geoffnet (Zeitzone UTC). Die Zieldaten (Yen) befinden sich in der ersten Spalte zusammen mit den beiden Erlauterungsreihen (Yen und einem anderen Asset, das mit der Bewegung von Yen zusammen integriert ist) .8221 Also in der Datei in der Eingabe verwenden Sie das Log (close-returns) zweimal (col1 Und 2) und ein anderes Asset Konnen Sie mir mehr uber dieses weitere Asset cointegred erzahlen. Wie Sie es finden Wahrend es8217s nicht so offensichtlich, um eine Reihe von erlauternden Variablen, die Signal (und Handel) Leistung verbessern wird, entwickelte ich ein Werkzeug namens Fundamentalfrequenzkomponenten-Analyse, die mir helfen, wahlen Sie Serien mit starken Lag s Korrelationen bei bestimmten Frequenzen I8217m interessiert Die Methode scheint nach meiner Erfahrung ziemlich gut zu funktionieren. Vielen Dank Chris, haben Sie andere Thread in den kommenden Wochen geplant Ja, ich habe viele neue Ideen fur Artikel, und wird bald ein Schreiben. I8217ve beschaftigt waren die letzten paar Monate Verbesserung der Methodik noch mehr, so dass es noch robuster fur den Finanzhandel. Das Problem ist, ich beginne zu verschenken zu viele meiner Geheimnisse und wird schlie?lich verlieren meine Wettbewerbsvorteile, so muss ich ein bisschen kryptisch bleiben Was Ihre Favoriten Zeitrahmen. 15 Minuten Ich denke, 15 Minuten ist ein guter Bereich, je niedriger die Frequenz desto besser und robuster das Signal sein wird. Jedoch in der Praxis I8217m derzeit mit 5 min Ruckkehr mit einem proprietaren Handelsunternehmen in Chicago auf Index-Futures. Sie filtre die Zeit in Ihren Daten. Sie handeln nur von 13:30 Uhr bis 20:00 Uhr Sie uber Nacht Handel