Tuesday 4 April 2017

Mdfa Forex

Real-Time-Signalextraktion (MDFA) und Algorithmic Trading Präsentation zum Thema: Real-Time-Signalextraktion (MDFA) und Algorithmic Trading Präsentationstranskript: 1 Real-Time-Signalextraktion (MDFA) und Algorithmic Trading marc. wildizhaw. ch blog. zhaw. chidpsefblog idp. Zhaw. chusri idp. zhaw. chMDFA-XT idp. zhaw. chsef 2 Hintergrund Hybrid mathecon. IDP-ZHAW-Projekte mit econ. Partnerschaften Vorhersage Gesundheitswesen (Kostenaufwand) Makro (Echtzeit-Wirtschaftsindikatoren: EURI Eurostat-Projekt) Finanzierung (MDFA-XT, Großhedge-Fonds) Engineering (Telecom, Lastprognosen) Eklektisch verteiltes Anwendungsspektrum Gemeinsamer methodischer Ansatz (en) Eigene Entwicklungen: (M) DFA R-Paket Signalextraktion auf CRAN 3 Ein klassischer Algorithmischer Trading Approach Timing System SP500 Tägliche Verschlüsse MA (200), gleich gewichtet 6 Warum Trader häufig AdoptPrefer Filter Crossings Filter Eigenschaften Warum MDFA blog. zhaw. chidpsefblogindex. phparchives54- Intermezzo-Why-do-Traders-Oft-Consider-Crossings-of - Trading-Filter-Pairs. html 8 Filtermerkmale Amplitudenfunktion: Welches Signal wird extrahiert Zeitverschiebung: Wie groß ist die Verzögerung 11 Schlussfolgerungen Crossing-Regeln (Bandpass) haben kleine Zeitverzögerungen Warum MDFA Flexibles, effizientes Echtzeit - (Bandpass) Design Schnell und glatt 16 Fazit Feuchtigkeit oder vermeiden Sie alle massiven Rezessionsentwürfe effektiv Ideal für Risiko (Pensionsfonds) Fundamental Trading: wirklich aus der Stichprobe Fokus auf Makro-Daten (Finanzdaten ignoriert) NBER Nachteil: unzureichend aktiv Texto: Schwierig, die Gebühren zu rechtfertigen 25 Schlussfolgerung Höhere Handelsfrequenzen sind mit Bandpass verknüpft, die nach rechts verschoben werden Als traditionelle Filterkreuzungen Kleinere Verzögerungsverlagerungen 27 Einstellung Gesamt degenerative Handelskosten von 0,3 pro Auftrag (kleiner Fonds) Lange nur keine risikofreien Zinsen 33 Schlussfolgerungen Höhere Handelsfrequenzen sind mit einer leichten Leistungsreduzierung verbunden Größere Abzinsungen USRI würde vermeiden, Downs und dann die Performance verbessern würde Erhöhte Marktaktivität (Gebühren) Kombination mit USRI möglich (empfohlen) Filter werden online verfügbar Ende Juli 35 Excel-Tutorial auf SEF-Blog blog. zhaw. chidpsefblogindex. php archives65-Real-Time - Detection-of-Turning-Points-a-Tutorial-Teil-I-Mean - Square-Error-Norm. htmlblog. zhaw. chidpsefblogindex. php archives65-Real-Time-Erkennung-of - Turning-Points-a-Tutorial - Teil-I-Mean-Square-Error-Norm. html blog. zhaw. chidpsefblogindex. php archives67-Real-Time-Detection-of - Turning-Punkte-a-Tutorial-Teil-II - Betonung-Turning-Points. htmlblog. Zhaw. chidpsefblogindex. php archives67-Real-Time-Detection-of - Turning-Points-a-Tutorial-Teil-II - Emphasizing-Turning-Points. html 36 Ziele Yoga-Übungen, um von der Hauptstrom-Maximalwahrscheinlichkeit Welt zu lösen Erste Blog - Einstieg: Wie traditioneller ökonometrischer Ansatz funktioniert Intuitiv einfach Gute (optimale) mittlere quadratische Aufführungen Menschen sind faulgesinnter Zweiter Blog-Eintrag: Die Früherkennung von Wendepunkten Ist eine (stark) kontraintuitive Übung Schafft scheinbar (stark) fehlgeschlagene Filterdesigns Warnung Learning (Illumination) 40 Standard Econometric Approach Vorgehen: Identifizieren eines Zeitreihenmodells (ARIMAstate Space) Erweiterung der Serie durch optimale Prognosen Bewerben Sie den symmetrischen Filter auf die erweiterte Zeitreihe X-12-ARIMA, TRAMO, STAMP, RS Claim: One - (Mittlere quadratische Erfassung) Annahme: DGPtrue-Modell 47 A Scheinbar tugendhaftes Design (Peak Correlation) Korrelation zwischen Echtzeit-Schätzung und Zyklus als Funktion der Zeitverzögerung k 57 Schlussfolgerungen Scheinbar fehlgeschlagenes Design ist schneller glatter (weniger falsch TPs oder Alarme) Nicht Mittel-Quadrat optimal Viel besser in einer TP-Perspektive 58 Von Excel zu MDFA Tweak Filterparameter von Hand in Excel Tutorial Unzulänglichkeit des Beispiels Unrealistisch einfache künstliche Simulationsübung In der Praxis: komplexere Beeinträchtigungen undSignale Inklusive Informationen von mehr als Einmalige Reihe (multivariate Framework) Wunsch: ein formales Optimierungskriterium Willkommen bei DFA und MDFA 61 Optimierungskriterium (I (0)) Minimieren Sie eine (gleichmäßig) superkonsistente Schätzung einer (gleichmäßig) effizienten Schätzung des Filtermittelquadratfehlers (Customized ) Effizienz tritt explizit in die Gestaltung des Optimierungskriteriums ein 62 Hast du gesprochen und meines Periodogramms Periodogramm ist ein typisches Beispiel für statistisch-bashing Inkonsistente Schätzung der spektralen Dichte Glättung (parametrisch oder nicht parametrisch) Periodogramm hat wunderbare statistische Eigenschaften Suffizienz (Larry Brethorst) Man kann nett formale Effizienzergebnisse in Echtzeit-Signalextraktion ableiten. Arbeiten an einer Reihe neuer Blog-Einträge zum Thema, um bis zu einem gewissen Grad zu rehabilitieren - das Periodogramm 63 Aufführungen (Effizienz von Univariate DFA) Business Survey Data (KOF, FED, 2004.2005 ) X-12-ARIMA, TramoSeats MSE-Gewinn 30 US - und Euro-BIP (2008): CF-Wendepunkte von 1-2 Quartalen erwartet ESI (2006): Kläger TPs entdeckt 2-3 Monate früher 64 Aufführungen (Effizienz) Durch Verlassen des Periodogramms TP-Filter gewann NN3 (2007) und NN5 (2008) Prognose Wettbewerbe (60 Teilnehmer) IIF und University of Lancaster Monatliche Makro - und Finanzdaten (111 Zeitreihen) und tägliche Finanzdaten (111 Zeitreihen) Outperformed Sieger und Vizemeister des renommierten M3-Wettbewerbs, X-12-ARIMA, Tramo, Prognose-Pro, Autobox, Exponentielle Glättung: Einfache, Holt, Damped, Neuronale Netze, künstliche Intelligenz blog. zhaw. chidpsefblogblog. zhaw. chidpsefblog 66 Controlling der Zeitverzögerung (Anpassung) 1: Betonung der Zeitverzögerung im Passband 1: Best Level Filter 1: Betonung der Zeitverzögerung im Passband 1: Best Level FiltertitelControlling der Time Delay (Customization) 1: Betont die Zeitverzögerung Im Passband 1: Best-Level-Filter 67 Anpassung: Zeitverzögerung und Glätte steuern Stärkere Dämpfung von Hochfrequenzrauschen im Stoppband Kleine Zeitverzögerungen im Passband W () ist monoton (zunehmend) und 1 1 titleKommunikation: Controlling Zeitverzögerung und Glätte Stärkere Dämpfung von Hochfrequenzrauschen im Stopband Kleine Zeitverzögerungen im Passband W () ist monoton (zunehmend) und 1 74 Wirkungsgrad (Theorem 4.1, Wildi2008, WildiSturm2008) Der Fehlertermin e T ist am kleinsten möglich Einheitlich Einheitliche Effizienz Anpassung 75 Optimale (effiziente) Kriterium unter Kointegration (Rang1) Filterbeschränkungen sind erfüllt 76 Aufführungen MDFA Output-Lücke US - und Euro-BIP (2008): CF und multivariate CF-Wendepunkte von 1-2 Quartalen erwartet USRI Outperformed Markov-Switching (Chauvet, ChauvetPiger), Dynamische Faktormodelle (CFNAI), Staatsraummodelle (ADS), Hodrick-Prescott (OECD-CLI), Christiano-Fitzgerald SEF-Blog MDFA-XT EURI 77 WARNUNG. DAS IST NICHT EIN PUSH-THE-BUTTON-ANFAHRT Formel-1-Rennfahrer: Es kann schnell (Ferrari) und zuverlässig (Mercedes) sein, aber du musst es sorgfältig optimieren: FerradesMercearri Filter-Design (ZPC) Filter-Constraints (Hervorhebung Frequenz Null) Understanding Interpretation: Intelligenz 2008-Buch: idp. zhaw. chsefidp. zhaw. chsef Glücklich, Unterstützung bei finanziellen Anreizen zu gewähren 79 marc. wildizhaw. ch blog. zhaw. chidpsefblog Veranschaulichen Sie methodische Fragen, indem Sie sich auf reale Projekte mit Wirtschaftspartnern verlassen. Idp. zhaw. chusri Real - Zeit US-Rezession Indikator idp. zhaw. chMDFA-XT Experimentelle Trader für MSCI Emerging Markets Filters on-line Ende Juli idp. zhaw. chsef Signal Extraktion Forecasting Site Bücher, Artikel, SoftwareHigh-Frequency Financial Trading auf FOREX mit MDFA und R: An 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, siehe 1. Daher sind die Ergebnisse reproduzierbar. Chris hat eine große Replikationsanstrengung gemacht, siehe unten: Mittwoch 20: Ich habe den von Chris modifizierten R-Code hinzugefügt, um die Replikation fortzusetzen. Was folgt, ist Chris8217email, schneide und pasted von meinem Server: quotSo Ich habe gerade das lang erwartete Intro Tutorial auf, wie man Trading-Signale mit MDFA und R für Hochfrequenz-Daten zu bauen. Es gibt nicht allzu viele Geheimnisse, um sich hier zu verstecken, wie das, was ich in R mit deinem Code gemacht habe, ist in erster Linie die gleiche Routine, die ich nehme, um meine Trading-Signale in iMetrica zu bauen (außer dass ich Sachen viel viel viel schneller in der letzteren machen kann Sind nur ein paar kleine geheime saucen, die I8217m mit und noch nicht bereit zu lecken, bis I8217m beschäftigt). Aber so weit wie dieses Beispiel mit dem Yen geht, 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 vorgestellt habe, kam aus dem Vergleich mit meinen Ergebnissen, die ich in iMetrica bekomme. Leider waren die Ergebnisse zunächst nicht gleich. Nachdem ich etwas frustriert war, nahm ich das sorgfältige Bestreben, herauszufinden, warum meine MDFA-Routinen in C anders sind als Sie in R. Mine sind in einer viel optimierteren und effizienteren Weise kodiert, um die schnellste Geschwindigkeit zu erreichen (dank einer schnellen Apophenie-Optimierung Paket zum Zusammenbau von Matrizen und zur Lösung von Koeffizienten). Allerdings sollten die Endergebnisse immer noch gleichwertig sein. Nach einem Tag der Navigation durch beide oder unsere MDFA-Implementierungen, fand ich heraus, warum sie nicht gleichwertig sind (und ich habe sie in Ihrem Code geändert). Hier sind die Unterschiede (die ich mich erinnern kann) von meiner Implementierung und deiner (wie von deinem November Release): 8211 Computing the DFTs. Aus irgendeinem Grund, bei der Nullfrequenz, verwenden Sie den Mittelwert der Daten. Sie setzen es einfach auf Null. Nicht sicher, ob du das bei Unfall oder mit Absicht verlassen hast, 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 Zerfalls1-Parameters scheinst du die tan-Funktionszuordnung zu verwenden. Ich tat. 8211 Der größte Unterschied liegt in der Definition der Glättungsfunktion (definiert durch Expweight). Erstens, Sie teilen Expweight von 2, ich teile von 10. Nicht ein großes Geschäft. Das große Geschäft ist das. Meine Definition der verschobenen Leistungsfunktion ist eine Funktion des Frequenzwertes (also von 0 bis zu 3.14). Ihr ist eine Funktion der Lage des Frequenzwertindexes zwischen 0 und K. Das macht einen großen Unterschied. Ich ziehe es vor, die Leistungsfunktion in Bezug auf den Frequenzwert und nicht den Index zu definieren. Nachdem ich das geändert habe, waren die Ergebnisse ziemlich gleich, aber nicht genau. Bei der Betrachtung der endgültigen Matrix (bei der Lösung von Axb für die Koeffizienten) nach der Anwendung von Regularisierung und Anpassung scheint es, dass die Werte innerhalb der Matrix A auf einen Faktor von etwa 10 liegen. Meine Intuition ist, dass die komplexen exp-Funktionen in R und C etwas anders berechnet werden (besserer Präzision, ich weiß nicht). Also bin ich nicht sicher, ob das etwas ist, was wir jemals lösen können. Aber ich bin nicht besorgt, da die Endergebnisse so nah sind. In der Tat, es hat keinen Einfluss auf die Trades in meinen Beispielen, die ich zeige, sie waren die gleichen in iMetrica. Und das ist das Wichtigste. Jedenfalls kann ich dir meine Version deines Codes schicken, wenn du willst, damit die Leute es herunterladen können, um die Beispiele zu probieren. Oder Sie können diese Änderungen berücksichtigen und sie in zukünftigen Versionen von MDFA dauerhaft machen. Lass es mich wissen und genieße den Artikel. Sie arbeiten zu hart, alter Kerl. Ihr Haar ist R-farbig R-Weben und R-Bürsten kommt auch in den Sinn. Übrigens wird die Konsistenz umgekehrt gemessen: iMetrica sollte in der Lage sein, I-MDFA zu replizieren, was die Referenz ist. Mein MDFA-Code wie von Chris geändert (siehe oben Kommentare) DFT. r. I8217m immer mit zentrierten Serien arbeiten also 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 expuring Amplitude-Gewichtung geändert wurde und ich denke, der Lambda-Zerfall Begriff wurde auch geändert. Beachten Sie, dass ich meine letzte I-MDFA-Version nicht modifiziere: Die obigen Änderungen sind nützlich, wenn Sie Chris8217 Ergebnisse replizieren möchten (aber ich bleibe bei meiner Version). Um die Replikation durchzuführen, müssen Sie die Daten von ihm erfordern. Hinterlassen Sie eine Antwort Abbrechen replyMonthly Archives: Februar 2013 Hier ist es, die neuen Elemente-Vade-Mecum (angesichts der Länge des Dokuments ist es kaum ein Papier mehr): Feb. 09: Ich habe einen neuen Abschnitt 11.9 auf Datenrevisionen, die beruht Auf einem 2011-papier posted here 0. Dieses Problem kann durch das neue Kointegrations-Framework angegangen werden, da Daten-Releases paarweise durch den Kointegrationsvektor (1, -1) verknüpft werden können. 11. März: Ich habe den Fehler in den Definitionen 23 und 24 (dank einem aufmerksamen Schüler) korrigiert. Alles, was Sie schon immer über die Co-Integration und die Echtzeit-Filterung wissen wollten, ist in die Abschnitte 9 und 11 gepackt. Oh, Sie werden dieses neue Material lieben. Es handelt sich um universelle (tautologische) Zahlenidentitäten, die unabhängig von den Annahmen auch über ein singuläres statistisches Ergebnis, nämlich überconsistenz und it8217s über Effizienz, halten. Ein Kampf zwischen dem platonischen Ideal und dem Mercantile Opportunismus: Vermutung, auf welcher Seite I8217m position8230 Ich habe einen ersten Entwurf der Elemente-Papier bereit. Aber Holly-Golden-Kuh: Das war ein harter Kampf Dieses neue Material führt zu einer sehr umfangreichen Revision der Elemente Papier: die alten Teile bleiben unberührt 8211 sie sind zu gut um verändert zu werden8230 8211 aber ich musste eine erhebliche Menge an liefern Technische mathematische Details, um die MDFA aus einer tieferen philosophischen8217 (die die mathematisch8217) Perspektive umfasst zu rechtfertigen. Ich brauche etwas Zeit, um die Dinge abzulassen: Wenn ich mich bereit fühle, schicke ich das neue Element. Bald. Sehr bald. Oh mein Gott, das war hart Wenn es so schwer war zu schreiben, für mich, dann wird es so schwer zu lesen, für Sie8230 Das Papier auf über 80 Seiten aufgeblasen. Es wird ein Buch8230 Und das ist genau meine Absicht. Nach 2005 und 2008 ist es Zeit für ein neues Buch. Nächstes Jahr. Und die Elemente werden zu einem Buchentwurf. Ginters Buss von der lettischen Nationalbank hat ein interessantes Papier über I-MDFA, siehe 1. Und hier8217s eine direkte Verbindung zum Papier auf SEFBlog:.Figure 1: In-Probe (Beobachtungen 1-250) und Out-of-Probe Leistung von Das Trading-Signal in diesem Tutorial mit MDFA gebaut. (Top) Der Log-Preis des Yen (FXY) in 15-Minuten-Intervallen und die Trades, die durch das Trading-Signal erzeugt werden. Hier ist schwarze Linie ein Kauf (lang), blau ist verkaufen (kurze Position). (Unten) Die aus dem Handel erwirtschafteten Erträge (Barmittel), in Prozentsatz gewonnen oder verloren. In meinem früheren Artikel zum Hochfrequenzhandel in iMetrica auf der FOREXGLOBEX. Ich habe in iMetrica mit dem multidimensionalen Direct-Filter-Ansatz (MDFA) einige robuste Signal-Extraktionsstrategien eingeführt, um leistungsstarke Signale für 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 migrate in eine uber-populäre Sprache, die in der Finanzierung aufgrund seiner üppigen Reihe von Paketen, schnelle Datenverwaltung und Grafik-Handling und von Kurs die Tatsache, dass it8217s frei (wie in Sprache und Bier) auf fast jedem Computer-Plattform in der Welt. Dieser Artikel gibt ein Intro-Tutorial zur Verwendung von R für den Hochfrequenzhandel auf dem FOREX-Markt mit dem R-Paket für MDFA (angeboten von Herrn Doktor Marc Wildi von Bern) und einigen Strategien, die I8217ve für die Erzeugung von finanziell robusten Handelssignalen entwickelt hat. Für dieses Tutorial betrachte ich das zweite Beispiel in meinem vorherigen Artikel, wo ich ein Trading-Signal für 15-minütige Log-Returns des japanischen Yen (von der Eröffnung der Glocke zum Markt in der Nähe EST). Dies zeigte etwas neue Herausforderungen als bisher, da die nahezu offenen Sprungvariationen viel größer sind als die, die durch stündliche oder tägliche Renditen erzeugt werden. Aber wie ich gezeigt habe, stellten diese größeren Variationen auf dem nahen offenen Preis keine Probleme für die MDFA. In der Tat, nutzte diese Sprünge und machte große Gewinne durch die Vorhersage der Richtung des Sprungs. Abbildung 1 an der Oberseite dieses Artikels zeigt die in-Probe (Beobachtungen 1-250) und out-of-Probe (Beobachtungen 251 weiter) Leistung des Filters werde ich im ersten Teil dieses Tutorials aufbauen. In diesem Tutorial versuche ich, diese Ergebnisse zu replizieren, die ich in iMetrica gebaut habe und erweitern sie ein bisschen mit der R-Sprache und der Implementierung des MDFA, das hier verfügbar ist. Die Daten, die wir betrachten, sind 15-minütige Log-Returns des Yen vom 4. Januar bis 17. Januar und ich habe sie als. RData-Datei gespeichert, die von ldfxyinsamp gegeben wird. Ich habe eine zusätzliche erklärende Serie eingebettet in die. RData-Datei, die I8217m verwenden, um den Preis des Yen vorherzusagen. Darüber hinaus werde ich auch mit pricefxyinsamp, die der Log-Preis von Yen, verwendet, um die Leistung (buysells) des Trading-Signals zu berechnen. Der ldfxyinsamp wird als In-Sample-Daten verwendet, um den Filter und das Trading-Signal für FXY zu konstruieren. Um diese Daten zu erhalten, können Sie diese Beispiele zu Hause ausführen, per E-Mail und I8217ll senden Sie alle notwendigen. RData-Dateien (die In-Probe und Out-of-Sample-Daten) in einer ZIP-Datei. Wenn wir einen kurzen Blick auf die ldfxyinsamp-Daten werfen, sehen wir die Log-Returns des Yen alle 15 Minuten ab Marktoffen (Zeitzone UTC). Die Zieldaten (Yen) befinden sich in der ersten Spalte zusammen mit den beiden Erklärungsreihen (Yen und ein weiteres Asset, das mit der Bewegung von Yen integriert ist). Gt Kopf (ldfxyinsamp), 1, 2, 3 2013-01-04 13:30:00 0.000000e00 0.000000e00 0.0000000000 2013-01-04 13:45:00 4.763412d-03 4.763412d-03 0.0033465833 2013-01-04 14:00:00 -8,966599e-05 -8.966599e-05 0.0040635638 2013-01-04 14:15:00 2.597055e-03 2.597055e-03 -0.0008322064 2013-01-04 14:30:00 -7.157556e - 04 -7.157556e-04 0.0020792190 2013-01-04 14:45:00 -4.476075e-04 -4.476075e-04 -0.0014685198 Um mit dem Aufbau des ersten Handelssignals für den Yen zu beginnen, beginnen wir mit dem Hochladen der Daten Unsere R-Umgebung, definieren einige Anfangsparameter für den MDFA-Funktionsaufruf und berechnen dann die DFTs und das Periodogramm für den Yen. Wie ich in meinen früheren Artikeln erwähnt habe, beginnt meine Schritt-für-Schritt-Strategie für den Aufbau von Handelssignalen immer mit einer schnellen Analyse des Periodogramms des gehandelten Vermögenswertes. Mit dem Schlüssel, um einen Einblick in die Eigenschaften zu geben, wie der Vermögensgegenstand handelt, ist das Periodogramm ein wesentliches Werkzeug für die Navigation, wie der Extraktor ausgewählt wird. Hier suche ich nach prinzipiellen spektralen Spitzen, die im Zeitbereich entsprechen, wie und wo mein Signal auslöst Buysell Trades. Abbildung 2 zeigt das Periodogramm der 15-minütigen Log-Retouren des japanischen Yen während der In-Sample-Periode vom 4. Januar bis 17. Januar 2013. Die Pfeile zeigen auf die wichtigsten Spektralspitzen, die ich suche und gibt einen Leitfaden für wie ich Wird meine Funktion definieren. Die schwarzen, gepunkteten Linien zeigen die beiden Frequenzabgrenzungen an, die ich in diesem Beispiel, dem ersten Wesen und dem zweiten annehmen werde. Beachten Sie, dass beide Cutoffs direkt nach einem spektralen Peak gesetzt sind, was ich sehr empfehlen kann. Im Hochfrequenzhandel auf dem FOREX mit MDFA, wie wir sehen können, ist der Trick, den spektralen Peak zu suchen, der für die nahezu offene Variation des Preises der Fremdwährung verantwortlich ist. Wir wollen diesen spektralen Gipfel nutzen, da hier die großen Gewinne im Devisenhandel mit MDFA auftreten werden. Abbildung 2: Periodogramm von FXY (Japanischer Yen) zusammen mit spektralen Peaks und zwei verschiedenen Frequenzabschaltungen. In unserem ersten Beispiel betrachten wir die größere Frequenz als Cutoff, indem wir sie auf (die genaueste Zeile in der Figur des Periodogramms) setzen. Ich habe dann zunächst die Aktualität und Glätte Parameter gesetzt, und expweight auf 0 zusammen mit Einstellung aller Regularisierung Parameter auf 0 als auch. Dies gibt mir ein Barometer für wo und wie viel, um die Filterparameter anzupassen. Bei der Auswahl der Filterlänge haben meine empirischen Untersuchungen über zahlreiche Experimente beim Aufbau von Handelssignalen mit iMetrica gezeigt, dass eine Wahl von 816 good8217 zwischen 14 und 15 der gesamten Sample-Länge der Zeitreihendaten liegt. Natürlich hängt die Länge von der Häufigkeit der Datenbeobachtungen ab (d. H. 15 Minuten, stündlich, täglich usw.), aber im Allgemeinen werden Sie höchstwahrscheinlich nie mehr als größer als 14 die Stichprobengröße benötigen. Andernfalls kann die Regularisierung zu schwerfällig werden, um effektiv zu handeln. In diesem Beispiel ist die Gesamtlänge in der Stichprobe 335 und so setze ich fest, welche I8217ll für den Rest dieses Tutorials halten soll. In jedem Fall ist die Länge des Filters nicht der wichtigste Parameter, um bei der Erstellung guter Handelssignale zu berücksichtigen. Für eine gute, robuste Auswahl der Filterparameter paaren sich die entsprechenden Erklärungsreihen, die Ergebnisse des Handelssignals im Vergleich zum Beispiel sollten sich kaum unterscheiden. Wenn ja, dann ist die Parametrierung nicht robust genug. Nach dem Hochladen sowohl der In-Sample-Log-Return-Daten als auch des entsprechenden Log-Preises des Yen zur Berechnung der Handelsleistung gehen wir in R, um die ersten Filtereinstellungen für die MDFA-Routine einzustellen und dann den Filter mit der IMDFAcomp-Funktion zu berechnen. Dies gibt sowohl die Imdfaamp-Objekt-Haltekoeffizienten, die Frequenzantwortfunktionen als auch die Statistik des Filters zusammen mit dem für jede erläuternde Reihe erzeugten Signal zurück. Wir kombinieren diese Signale, um das endgültige Handelssignal zu erhalten. All dies geschieht in R wie folgt: Die daraus resultierenden Frequenzgangfunktionen des Filters und die Koeffizienten sind in der folgenden Abbildung dargestellt. Abbildung 3: Die Frequenzantwortfunktionen des Filters (oben) und der Filterkoeffizienten (unten) Beachten Sie die Häufigkeit des noch vorhandenen Rauschens über die Cutoff-Frequenz. Dies wird durch die Erhöhung des explosionslosen Parameters erhöht. Die Koeffizienten für jede erläuternde Reihe zeigen eine Korrelation in ihrer Bewegung, wenn die Verzögerungen zunehmen. Die Glätte und Verfall der Koeffizienten lässt jedoch viel zu wünschen übrig. Wir werden dies durch die Einführung von Regularisierungsparametern beheben. 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 verhält. Allerdings kann man sich täuschen. Diese stellaren Leistung ist zum großen Teil auf ein Filterphänomen zurückzuführen, das als Überfüllung bezeichnet wird. Man kann daraus schließen, dass die Überfüllung hier der Schuldige ist, indem man einfach die Nichtigkeit der Koeffizienten mit der Anzahl der gefrorenen Freiheitsgrade betrachtet, die in diesem Beispiel etwa 174 (von 174) viel zu hoch ist. Wir möchten diese Zahl auf etwa die Hälfte der Gesamtheit der Freiheitsgrade (Anzahl der Erklärungsreihen x L) erhalten. Abbildung 4: Das Trading-Signal und die Log-Return-Daten des Yen. Die In-Probe-Performance dieses Filters zeigt die Art der Ergebnisse, die wir nach der Regularisierung sehen möchten. Aber jetzt kommt für die ernüchternden Effekte der Überfüllung. Wir wenden diese Filterkoeffizienten auf 200 15-minütige Beobachtungen des Yen und der Erklärungsreihe 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 dann den Filter auf die Out-of-Sample-Daten an, die ich als xout definiert habe. Die Darstellung in Abbildung 5 zeigt das Out-of-Sample-Trading-Signal. Beachten Sie, dass das Signal nicht annähernd so glatt ist wie in der Probe. Eine Überschreitung der Daten in einigen Bereichen ist ebenfalls offensichtlich vorhanden. Obwohl die Out-of-Sample-Überlagerungseigenschaften des Signals nicht schrecklich misstrauisch sind, würde ich diesem Filter nicht vertrauen, um auf lange Sicht stellare Renditen zu produzieren. Abbildung 5. Filter, der auf 200 15-minütige Beobachtungen von Yen-Out-of-Sample angewendet wurde, um ein Handelssignal zu erzeugen (blau dargestellt). Nach der vorherigen Analyse der Mittel-Quadrat-Lösung (keine Anpassung oder Regularisierung) gehen wir nun auf, Problem der Überfüllung, die in den Koeffizienten sichtbar war, zusammen mit der Behebung des Rauschens im Stoppband (Frequenzen nach). Um die Parameter für Glättung und Regularisierung zu wählen, muss zunächst der Glätteparameter zuerst angewendet werden, da dies die Koeffizienten im Allgemeinen als 8216pre8217-Regulator füllt und dann zur Auswahl geeigneter Regularisierungskontrollen vorangeht. Bei der Betrachtung der Koeffizienten (Abbildung 3) sehen wir, dass eine gerechte Glättung notwendig ist, mit nur einer leichten Berührung des Verfalls. Um diese beiden Parameter in R auszuwählen, besteht eine Option darin, den Troikaner-Optimierer (hier zu finden) zu verwenden, um eine passende Kombination zu finden (ich habe einen geheimen Sauce-Algorithmus-Ansatz, den ich für iMetrica für die Auswahl von optimalen Kombinationen von Parametern bei einem Extraktor und einer Leistungsindikator entwickelt habe , Obwohl it8217s langwierig (auch in GNU C) und umständlich zu bedienen, so dass ich in der Regel bevorzugen die Strategie in diesem Tutorial diskutiert). In diesem Beispiel habe ich angefangen, das Lambdasmooth auf .5 und den Zerfall auf (.1, .1) zusammen mit einem expweight smoothness Parameter auf 8.5 gesetzt. Nach dem Betrachten der Koeffizienten war es immer noch nicht genug Glätte, also fuhr ich fort, endlich mehr zu erreichen .63, was der Trick machte. Ich wählte dann Lambda, um die Effekte des Glättungs-Expeldes auszugleichen (Lambda ist immer der letzte Resort-Tweaking-Parameter). Abbildung 6 zeigt die resultierende Frequenzantwortfunktion für beide Erklärungsreihen (Yen in Rot). Beachten Sie, dass der größte Spektralpeak, der direkt vor dem Häufigkeitsabschluss gefunden wird, hervorgehoben und leicht beeinträchtigt wird (Wert nahe 0,8 statt 1,0). Auch die anderen Spektralspitzen sind vorhanden. Für die Koeffizienten wurde gerade genug Glättung und Verfall angewendet, um die Verzögerung, die zyklische und korrelierte Struktur der Koeffizienten intakt zu halten, aber jetzt sehen sie viel schöner in ihrer geglätteten Form aus. Die Anzahl der gefrorenen Freiheitsgrade wurde auf etwa 102 reduziert. Abbildung 6: Die Frequenzgangfunktionen und die Koeffizienten nach der Regularisierung und Glättung wurden angewendet (oben). Die geglätteten Koeffizienten mit leichtem Zerfall am Ende (unten). Die Anzahl der gefrorenen Freiheitsgrade beträgt ca. 102 (von 172). Zusammen mit einem verbesserten gefrorenen Freiheitsgrad und keiner offensichtlichen Verwüstung der Überfüllung, wenden wir diese Filter-out-of-Probe auf die 200 Out-of-Probe Beobachtungen, um die Verbesserung der Struktur der Filterkoeffizienten (siehe unten in Abbildung 7). Beachten Sie die enorme Verbesserung der Eigenschaften des Handelssignals (verglichen mit Abbildung 5). Das Überschwingen der Daten ist beseitigt und die Gesamtglätte des Signals hat sich deutlich verbessert. Dies ist auf die Tatsache zurückzuführen, dass wir das Vorhandensein von Überfüllung beseitigt haben. Abbildung 7: Out-of-sample Trading-Signal mit Regularisierung. Mit allen Indikationen eines Filters, der mit genau den Merkmalen ausgestattet ist, die wir für Robustheit benötigen, wenden wir nun das Trading-Signal sowohl in-Sample als auch aus der Probe an, um die Buysell-Trades zu aktivieren und die Performance des Handelskontos im Barwert zu sehen. Wenn das Signal unter Null geht, verkaufen wir (geben Sie kurze Position ein) und wenn das Signal über Null steigt, kaufen wir (geben Sie eine lange Position ein). Das obere Diagramm von Abbildung 8 ist der Protokollpreis des Yen für die 15-Minuten-Intervalle und die gepunkteten Linien repräsentieren genau dort, wo das Handelssignal generiert wird (Kreuzung null). Die schwarzen gepunkteten Linien repräsentieren einen Kauf (lange Position) und die blauen Linien zeigen einen Verkauf (und eine kurze Position) an. Beachten Sie, dass das Signal alle nahezu offenen Sprünge für den Yen (teilweise dank der erklärenden Serie) voraussagte. Dies ist genau das, was wir anstreben werden, wenn wir Regularisierung und Anpassung an den Filter hinzufügen. Die Kassenbestände der Geschäfte über dem In-Sample-Zeitraum sind nachfolgend dargestellt, wobei die Transaktionskosten auf 0,05 Prozent festgesetzt wurden. In-Probe, das Signal verdiente rund 6 Prozent an 9 Handelstagen und eine 76 Prozent Handels-Erfolgsquote. Abbildung 8: In-Probe-Leistung des neuen Filters und der Trades, die generiert werden. Jetzt für den ultimativen Test, um zu sehen, wie gut der Filter bei der Herstellung eines Sieger-Trading-Signals durchführt, haben wir den Filter auf die 200-15-minütige Out-of-Sample-Beobachtung des Yen und die Erklärungsreihe vom 18. Januar bis 1. Februar angewendet und machen Trades basierend auf dem Nulldurchgang. Die Ergebnisse sind unten in Abbildung 9 dargestellt. Die schwarzen Linien repräsentieren die Käufe und blauen Linien, die verkauft (Shorts). Beachten Sie, dass der Filter trotz der Regularisierung immer noch in der Lage ist, die nahezu offenen Sprünge auch ohne Probleme zu prognostizieren. Der Filter erliegt nur drei winzigen Verlusten bei weniger als 0,08 Prozent zwischen den Beobachtungen 160 und 180 und einem kleinen Verlust am Anfang, mit einer Out-of-Probe Handels-Erfolgsquote schlagen 82 Prozent und ein ROI von knapp über 4 Prozent über Das 9-tägige Intervall. Abbildung 9: Out-of-Probe Leistung des regulierten Filters auf 200 Out-of-Probe 15 Minuten Rückkehr des Yen. Der Filter erzielte 4 Prozent ROI über die 200 Beobachtungen und eine 82 Prozent Handels-Erfolgsquote. Vergleichen Sie dies mit den Ergebnissen, die in iMetrica mit den gleichen MDFA-Parametereinstellungen erreicht wurden. In Fig. 10 sind sowohl die In-Probe - als auch die Out-of-Probe-Leistung gezeigt. Die Leistung ist fast identisch. Abbildung 10: In-Probe und Out-of-Probe Leistung des Yen-Filters in iMetrica. Fast identisch mit der Leistung, die in R. erhalten wird. Jetzt nehmen wir einen Stich bei der Herstellung eines anderen Handelsfilters für den Yen, nur dieses Mal wollen wir nur die niedrigsten Frequenzen identifizieren, um ein Trading-Signal zu generieren, das weniger oft handelt und nur die größten Zyklen sucht. Wie bei der Performance des bisherigen Filters wollen wir immer noch die Frequenzen ansprechen, die für die großen, nahezu offenen Variationen des Yen-Preises verantwortlich sein könnten. Um dies zu tun, wählen wir unsere Cutoff zu sein, die effektiv halten die größten drei Spektralspitzen intakt in der Tiefpass-Band von. Für diesen neuen Filter halten wir die Dinge einfach, indem wir weiterhin die gleichen Regulierungsparameter verwenden, die in dem vorherigen Filter gewählt wurden, da sie scheinbar gute Ergebnisse aus der Probe zu produzieren schienen. Die und die expilierten Anpassungsparameter müssen jedoch angepasst werden, um die neuen Rauschunterdrückungsanforderungen im Stoppband und die Phaseneigenschaften im kleineren Durchlassband zu berücksichtigen. So steigere ich den Glättungsparameter und verringere den Timeliness-Parameter (der nur das Passband beeinflusst), um diese Änderung zu berücksichtigen. Die neuen Frequenzantwortfunktionen und Filterkoeffizienten für dieses kleinere Tiefpassdesign sind unten in Abbildung 11 dargestellt. Beachten Sie, dass der zweite Spektralpeak berücksichtigt und nur geringfügig unter den neuen Änderungen beruhigt wird. Die Koeffizienten haben immer noch die spürbare Glätte und Verfall bei den größten Verzögerungen. Abbildung 11: Frequenzantwortfunktionen der beiden Filter und deren entsprechende Koeffizienten. Um die Effektivität dieses neuen, niedrigeren Trading-Frequenz-Designs zu testen, wenden wir die Filterkoeffizienten auf die 200 Out-of-Sample-Beobachtungen der 15-minütigen Yen-Log-Returns an. The performance is shown below in Figure 12. In this filter, we clearly see that the filter still succeeds in predicting correctly the large close-to-open jumps in the price of the Yen. Only three total losses are observed during the 9 day period. The overall performance is not as appealing as the previous filter design as less amount of trades are made, with a near 2 percent ROI and 76 percent trade success ratio. However, this design could fit the priorities for a trader much more sensitive to transaction costs. Figure 12: Out-of-sample performance of filter with lower cutoff. Conclusion Verification and cross-validation is important, just as the most interesting man in the world will tell you. The point of this tutorial was to show some of the main concepts and strategies that I undergo when approaching the problem of building a robust and highly efficient trading signal for any given asset at any frequency. I also wanted to see if I could achieve similar results with the R MDFA package as my iMetrica software package. The results ended up being nearly parallel except for some minor differences. The main points I was attempting to highlight were in first analyzing the periodogram to seek out the important spectral peaks (such as ones associate with close-to-open variations) and to demonstrate how the choice of the cutoff affects the systematic trading. Here8217s a quick recap on good strategies and hacks to keep in mind. Summary of strategies for building trading signal using MDFA in R: As I mentioned before, the periodogram is your best friend. Apply the cutoff directly after any range of spectral peaks that you want to consider. These peaks are what generate the trades. Utilize a choice of filter length no greater than 14. Anything larger is unnecessary. Begin by computing the filter in the mean-square sense, namely without using any customization or regularization and see exactly what needs to be approved upon by viewing the frequency response functions and coefficients for each explanatory series. Good performance of the trading signal in-sample (and even out-of-sample in most cases) is meaningless unless the coefficients have solid robust characteristics in both the frequency domain and the lag domain. I recommend beginning with tweaking the smoothness customization parameter expweight and the lambdasmooth regularization parameters first. Then proceed with only slight adjustments to the lambdadecay parameters. Finally, as a last resort, the lambda customization. I really never bother to look at lambdacross. It has seldom helped in any significant manner. Since the data we are using to target and build trading signals are log-returns, no need to ever bother with i1 and i2. Those are for the truly advanced and patient signal extractors, and should only be left for those endowed with iMetrica If you have any questions, or would like the high-frequency Yen data I used in these examples, feel free to contact me and I8217ll send them to you. Until next time, happy extracting 8220Taking a quick glance at the ldfxyinsamp data, we see log-returns of the Yen at every 15 minutes starting at market open (time zone UTC). The target data (Yen) is in the first column along with the two explanatory series (Yen and another asset co-integrated with movement of Yen).8221 So in your file in input you use the log(close-returns) twice (col1 and 2) and a another asset Can you tell me more about this another asset cointegred. how you find it While it8217s not so obvious to determine a set of explanatory variables that will improve signal (and trading) performance, I developed a tool called fundamental frequency component analysis that helps me choose series with strong lag s correlations at certain frequencies I8217m interested in. The method seems to work pretty well so far in my experience. Thanks Chris, have you planned other thread in the coming weeks Yes, I have many new ideas for articles, and will be writing one soon. I8217ve been busy the past couple months improving the methodology even more, making it even more robust for financial trading. The problem is I start to give away too many of my secrets and will eventually lose my competitive advantage, so I need to remain a bit cryptic What your favorites time frame. 15 mins i think 15 minutes is a good range, the lower the frequency the better and more robust the signal will be. However, in practice I8217m currently using 5 min returns with a proprietary trading firm in Chicago on Index Futures. You filtre the time in your data. You trade only of 13:30pm until 20pm You overnight trade


No comments:

Post a Comment