Wednesday 31 May 2017

Pca Trading Strategies

Verwendung von PCA für den Spread-Handel Klassisches Handel mit Paaren umfasst üblicherweise den Aufbau eines Paares, das aus zwei Beinen besteht, die idealerweise marktneutral sein sollten, oder in anderen Worten, die Paarrückkehr sollte eine Null-Korrelation mit den Marktrenditen aufweisen. Der Prozess des Aufbaus eines guten Paares ist ziemlich Standard. Eine typische Art, ein Paar (Verbreitung) aufzubauen, besteht darin, zwei korrelierte Wertpapiere auszuwählen und ein marktneutrales Paar unter Verwendung von Aktien-Betas zu bilden. Mehrbeinige Aufstriche sind fortgeschrittener und sehr schwer zu bauen mit der traditionellen Methode. Allerdings gibt es eine mathematische Methode namens Principal Component Analysis, die leicht verwendet werden, um stabile (handelbare) Spreads zu erstellen. All die lineare Algebra ist zum Glück in der principomp Funktion versteckt, aber wenn youd wie zu verstehen, wie PCA wirklich funktioniert, werfen Sie einen Blick auf dieses Tutorial. Die transformierten Daten können als beschrieben werden. 1-st-Komponente: max Volatility-Portfolio, das in der Regel sehr stark mit dem Markt korreliert ist. 2-nd-Komponente: marktneutrales Portfolio mit maximaler Abweichung. 3-d und weitere Komponenten abnehmende Varianzgrade aufweisen. Es ist zu beachten, dass PCA orthogonale Komponenten erzeugt, was bedeutet, dass alle Portfolios nicht korreliert sind. So sind 2. und weitere Portfolios marktneutral. Hier ist ein Beispiel für die Anwendung von PCA auf einige korrelierte etfs im Energiesektor: Die obere Tabelle zeigt Rohpreise, die unteren Char sind die kumulierten Renditen der wichtigsten Komponenten. Zur Berechnung der Hauptkomponenten habe ich nur die ersten 250 Tage Daten verwendet. Es scheint, dass die Hauptkomponenten, die lineare Kombinationen der einzelnen Sicherheits-Retouren sind ziemlich stabil out-of-Stichprobe, was eine angenehme Überraschung ist. Erste (blaue) Komponente hat die meisten der Varianz, und es ist eindeutig mit der Bewegung der Preise in der oberen Tabelle korreliert. Werfen wir einen genaueren Blick auf die letzten beiden Komponenten: Diese scheinen ziemlich stabil und handelbare sogar weit out-of-sample. Let Sie haben ein multifaktorielles Modell, das als Eingaben über 10 20 exogenen schwach stationären Variablen. Dann können Sie PCA verwenden, um nur 3 4 orthogonale Variablen zu erhalten, um Ihr Modell zu vereinfachen, ohne zu viele Informationen zu verlieren (es vielleicht zuerst 3 4 Hauptkomponenten erklären mehr als 90 der 10 20 ursprünglichen Variablen39 Gesamtabweichung). Zum Beispiel, technische Händler oft viel t. a. Indikatoren wie MACD, RSI, stochastische und so weiter: Es ist wahrscheinlich, dass die erste Hauptkomponente dieser Indikatoren mehr als 95 aller Indikatoren39 Varianz erklärt. Ndash Lisa Ann Mai 2 13 at 9:54 Um Ihre Fragen zu beantworten, müssen wir einen Blick darauf werfen, was es tut. PCA wird mathematisch als orthogonale lineare Transformation definiert, die die Daten in ein neues Koordinatensystem umwandelt, so dass Nachrichtenvektoren Orthogonale sind und den Hauptteil der Varianz des ersten Satzes erklären. Es nahmen eine N x M Matrix als Eingabe, N die differents Wiederholung des Experiments und M die Ergebnisse einer bestimmten Sonde. Es gibt Ihnen Anweisungen (oder Hauptkomponenten), die die Varianz Ihres Datasets erklären. So hängt alles davon ab, was Sie in Ihrem PCA eingeben. Ich verwende PCA, um auf Marktkorrelation zu schauen, also nehme ich M Preise über N Mal ein. Sie können Unterschiede messen (greeks, Futures.) Eines einzelnen Aktien eingeben, um einen Blick auf seine Dynamik. Meine Verwendung wird die Korrelation eines Aktienkurses mit dem Markt, bekannt als beta geben, wird die andere Verwendung Korrelation zwischen den verschiedenen technischen Indikatoren einer Aktie geben. Und gut ich denke, Sie können einige interessante Ergebnisse mit differents Indikatoren über differents Aktien zu bekommen. Vergessen Sie nicht über die Vorverarbeitung. Wie Sie hier sehen können: Datensynchronisation gibt es einige heikle Probleme mit Marktdaten. Es hängt auch davon ab, was Sie mit Ihren Ergebnissen tun. Sie können ein Kriterium verwenden, um Komponenten mit geringer Varianz zu entfernen, um die Dimension Ihres Datasets zu reduzieren. Dies ist das übliche Ziel von PCA. Es gibt Ihnen eine reduzierte Anzahl von Aktien zu einem Portfolio zu bauen, um Gewinn / Risiko-Kurven abzuschätzen. Aber Sie können auch komplexere Nachbehandlung. Hier: th-if. uj. edu. pl/acta/vol36/pdf/v36p2767.pdf Sie sehen eine Verwendung von PCA kombiniert mit zufälliger Matrix-Theorie, um das Rauschen des Marktes zu entfernen. PCA ist ein Werkzeug, ein sehr leistungsfähiges Werkzeug, aber nur ein Werkzeug. Ihre Ergebnisse hängt davon ab, wie Sie es verwenden. Das Risiko besteht darin, es zu viel zu benutzen. Sie wissen, was sie sagten, wenn Sie einen Hammer haben, sieht jedes Problem wie ein Nagel. MatlabTrading Dieser Beitrag ist, wie wichtig es ist, verschiedene Arten von Optimierungsmethoden wie genetische Algorithmen und Parallelisierung verwenden, um Ergebnisse schneller zu erhalten. Genetische Algorithmen Optimierung Trotz der Tatsache, dass das genetische (evolutionäre) Algorithmusprinzip in den MathWorks-Webinars sehr gut erklärt ist, wird es in den Beispielen jedoch nur zur Optimierung der Wahl einer Strategiegruppe aus einem Satz verwendet. Dies ist ein gutes Beispiel für die Verwendung dieser Algorithmen, aber es passiert, dass es notwendig ist, viele Variablen mit erheblichen Intervallen für eine Strategie, die Sie nicht durch mit einer Iteration und die Parallelisierung von Prozessen 8211 Berechnungen kann mehrere Tage dauern . Sicherlich gibt es Strategien in der letzten Phase der Optimierung. Wenn wir fast sicher wissen, dass die Trading-Strategie erfolgreich ist, können wir für mehrere Tage warten oder mieten Sie den gesamten Cluster - das Ergebnis könnte sich lohnen. Allerdings, wenn wir die Ergebnisse einer sperrigen Strategie abschätzen und entscheiden müssen, ob es sich lohnt, die Zeit zu verbringen, dann können genetische Algorithmen perfekt geeignet sein. Wir bieten die Möglichkeit, drei Methoden zur Optimierung der Strategie in WFAToolbox zu verwenden: Lineare Methode 8211 Es ist eine übliche Art der Sortierung, in der Sie alle Zwischenergebnisse (suboptimal) sehen werden. Es gibt maximale Genauigkeit. Parallel-Methode 8211 werden alle Kernel Ihrer CPU verwendet. Es ist nicht erlaubt, Zwischenergebnisse zu sehen, aber erheblich beschleunigt den Betrieb. Es gibt maximale Genauigkeit während Erhöhung der Berechnungsgeschwindigkeit. Genetische Methode 8211 verwendet es den evolutionären Optimierungsalgorithmus. Es erlaubt, suboptimale Werte zu sehen, gibt aber das Ergebnis nahe am besten. Seine nicht eine sehr genaue Methode, aber seine genaue genug für den ersten Lauf der Strategie. Sehr schnell. Wir werden oft gefragt, ob WFAToolbox - Walk-Forward Analysis Toolbox für MATLAB die Möglichkeit hat, die GPU in Berechnungen zu verwenden. Leider ist GPU nicht für alle Aufgaben geeignet und seine Verwendung ist sehr spezifisch. Um es zu benutzen, müssen Sie die Logik und den Code der einzelnen Strategien für Grafikkerne testen. Leider, aufgrund dieser Nicht-Universalität der Methode kann man nicht verwenden GPU in WFAToolbox. Weiterführend Teil 2 der Diskussion von Problemen und Lösungen bei der Prüfung und Analyse der algorithmischen Handelsstrategie in MATLAB, lade ich Sie zu diesem Beitrag über das Problem der Nichtverfügbarkeit der Visualisierung der Prozesse in modernen Software-Lösungen für das Testen von Handelssystemen zu lesen. Visualisierung des Testprozesses In meiner Arbeitserfahrung analysierte ich häufig andere populäre Plattformen für das Trading-Strategie-Testen. Wie zum Beispiel TradeStation. MetaStock. Multicharts etc. und ich war immer überrascht, wie wenig Aufmerksamkeit für die Visualisierung des Testprozesses bezahlt wurde. Die Sache ist, dass, wenn wir nicht sehen, die Ergebnisse der Zwischen-, suboptimale Werte der optimierten Parameter, wir oft wegwerfen Gold zusammen mit dem Schmutz. Die Sache ist, weil eine übermäßig breite Stichprobe, die Strategie passt die Parameter, wie wir entweder sehen, eine perfekte Strategie, die im wirklichen Leben scheitert oder sehen Sie ein oder zwei Angebote, die angeblich die besten sind, weil es solche Zeitintervalldaten, wo die gewählt wurde Beste Handelsstrategie wäre Buy-and-Hold, aber warum sind dann andere Strategien notwendig für die Visualisierung des Trading-Strategie-Testprozess in MATLAB (im Webinar vorgeschlagen) Als Ergebnis, ohne zu sehen, Zwischenergebnisse, müssen wir 171blindly187 ändern Sie die Parameter zu versuchen Um die besseren Daten zu erhalten oder sehen Sie sie in einigen 3D oder 4D (Farbe ist die 4. Dimension), wie in Webinaren vorgeschlagen. Die Analyse der Werte in den N-dimensionalen Räumen kann auf jeden Fall eine Alternative sein, hat aber mehrere Einschränkungen: Was passiert, wenn es mehr als 4 Dimensionen Wenn Sie sehen, welche Signale und mit welcher Frequenz sie in der Preisklasse erscheinen, haben Sie fast alle Notwendige visuelle Darstellung Ihrer Strategie: die Häufigkeit der Transaktionen, ihre Rentabilität (Einkommenskurve), die Genauigkeit der Öffnung, die Ähnlichkeit mit anderen suboptimalen Werten usw., die nicht über die Leistung im N-dimensionalen Raum gesagt werden können, wo alle nützlichen Informationen Ist in der Tat, dass der optimale Wert nicht nur eine ist, sondern es gibt einen ganzen Bereich von suboptimalen Werten in einem oder mehreren Bereichen. Während Optimierung einer Strategie in WFAToolbox 8211 Walk-Forward Analysis Toolbox für MATLAB174. Wenn ein neuer optimaler Wert gefunden wird, erscheinen die Trading-Strategiesignale in der Periode in-sample und out-of-sample sofort auf dem Chart, so dass Sie immer kontrollieren können, welchen Bereich von Optionen Sie zuordnen sollten und auch die Optimierung pausieren können Ohne auf das Ende des Tests warten, wie es klar wird, dass etwas schief ging oder alles in Ordnung ist. Hallo, mein Name ist Igor Volkov. Ich entwickle seit 2006 algorithmische Handelsstrategien und habe in mehreren Hedgefonds gearbeitet. In diesem Artikel möchte ich die Schwierigkeiten auf dem Weg der MATLAB Trading Strategies Entwickler während der Prüfung und Analyse zu diskutieren, sowie mögliche Lösungen zu diskutieren. Seit 2007 nutze ich MATLAB zum Testen von Algorithmusstrategien, und ich bin zu dem Schluss gekommen, dass es sich dabei nicht nur um das geeignetste Forschungswerkzeug handelt, sondern auch um das mächtigste, weil es die Verwendung von komplexen statistischen und ökonometrischen Modellen, Maschine-Lernen, digitale Filter, Fuzzy-Logik, etc, indem Toolbox. Die MATLAB-Sprache ist recht einfach und gut dokumentiert, so dass selbst ein Nichtprogrammierer (wie ich) es beherrschen kann. Wie alles begann. Es war 2008 (wenn ich mich nicht irre), als das erste Webinar über den algorithmischen Handel in MATLAB mit Ali Kazaam veröffentlicht wurde, das das Thema der Optimierung einfacher Strategien basierend auf technischen Indikatoren, etc. trotz eines ziemlich 8220chaotic8221-Codes enthielt, waren Werkzeuge interessant Genug zu bedienen. Sie dienten als Ausgangspunkt für die Erforschung und Verbesserung eines Test - und Analysemodells, das es erlaubte, die ganze Kraft der Werkzeugkästen und die Freiheit der MATLAB-Aktionen während der Schaffung eigener Handelsstrategien zu nutzen und gleichzeitig den Prozess zu kontrollieren Der Tests und die erhaltenen Daten und ihre anschließende Analyse würde ein wirksames Portfolio von robusten Handelssystemen wählen. Anschließend wurden die Mathworks-Webinare jedes Jahr aktualisiert und allmählich mehr und mehr interessante Elemente eingeführt. So wurde im Jahr 2010 das erste Webinar zum Paarenhandel (statistisches Arbitrage) unter Verwendung der Econometric Toolbox abgehalten, obwohl die Toolbox für Testen und Analysen gleich geblieben ist. Im Jahr 2013 erschien Trading Toolbox von Mathworks, die erlaubt, MATLAB an verschiedene Broker für die Ausführung ihrer Anwendungen zu verbinden. Obwohl es automatische Lösungen für die Durchführung der Transaktionen gab, könnte MATLAB von diesem Punkt an ein System für die Entwicklung von Handelsstrategien mit einem vollen Zyklus betrachtet werden: von der Datenverladung bis zur Ausführung automatisierter Handelsstrategien. Warum sollte jeder Algotrader Reinly the Wheel Allerdings hat Mathworks nicht eine komplette Lösung für das Testen und Analysieren der Strategien 8211 angeboten, die Codes, die Sie von Webinaren erhalten konnten, waren die einzigen Elemente eines vollständigen Systemtests, und es war notwendig, sie zu modifizieren , Passen Sie sie an und fügen Sie sie zur GUI für Benutzerfreundlichkeit hinzu. Es war sehr zeitaufwendig und stellte so eine Frage: Was auch immer die Strategie war, es muss durch denselben Test - und Analyseprozess gehen, der es erlauben würde, als stabil und nutzbar zu klassifizieren, also warum sollte jeder Algotrader das Rad neu erfinden und schreiben Seinen eigenen Code für richtige Test-Strategien in MATLAB Also die Entscheidung wurde getroffen, um ein Produkt, das ermöglichen würde, um den gesamten Prozess im Zusammenhang mit der Prüfung und Analyse von algorithmischen Handelsstrategien mit einer einfachen und benutzerfreundlichen Schnittstelle. Zuerst möchte ich die folgenden Fragen beantworten: Was mit dem Blog passiert ist 1. Jev Kuznetsov ist nicht der Eigentümer mehr Der Blog wurde von unserem Freund, Jev Kuznetsov, der zu seinem anderen Blog tradingwithpython. blogspot verschoben hat gekauft. Er kam zu dem Schluss, dass Python besser ist als MATLAB für den Handel, den ich für falsch halte. MATLAB bleibt eine der besten Software der Welt für algorithmische Handelszwecke IMHO (Ich habe einige Tatsachen über dieses zwar für zukünftige Diskussion). 2. Wir haben die Marke verändert Von diesem Moment wird der Blog MatlabTrading genannt werden, was viel verständlicher ist in Bezug auf die Themen, die es enthalten wird. Außerdem wurde der Domänenname in matlabtrading anstelle des ursprünglichen matlab-trading. blogspot geändert. Obwohl die alte Domäne immer noch von dem primären Domänennamen weiterleitet. Was passiert mit dem Blog 1. Mehr Beiträge und Artikel Wir hoffen, das Leben in diesem Blog zu bringen, indem wir relevante Inhalte ein - oder zweimal pro Woche posten. In den ersten Monaten werden wir vor allem die Artikel und Videos posten, die wir bereits haben, um es unseren Lesern einfacher zu machen, nach Informationen über eine Ressource zu suchen und vernetzen zu können. Dann haben wir Pläne, Beiträge über praktische Aspekte des algorithmischen Handels in MATLAB zu schreiben. So erstellen Sie moderne automatische Handelsstrategien wie: Statistische Arbitrage Paare Handel / Mittelwert Reversion / marktneutrale Handelsstrategien auf Cointegration / bollinger Bands / kalman Filter etc für Rohstoffe, Aktien und Forex basiert. Trend nach Strategien mit Jurik Moving Average und anderen anspruchsvollen digitalen Filtern Vorhersage Strategien mit maschinellem Lernen (Support Vector Machines) und andere Methoden Erstellen Sie robuste Trading-Strategien mit visuellen Walk-forward-Prüfung Geld-Management für die Reinvestition Ihres Kapitals (Wissenschaft, wie man 1M von 10K zu bekommen In einem Jahr mit maximaler, aber geschätzter Risiko - und Schweißbelastung). Vielleicht nach der Lektüre dieses youve dachte, das wird ein weiterer dummer Artikel für die armen Jungs suchen, wie man reich durch den Handel auf Forex und all das werden. Nun, das ist völlig falsch Wir arbeiten in MATLAB, und die Mehrheit von uns sind Wissenschaftler und Experten in diesem Aspekt, so dass alles ernst ist. 2. Mehr Interaktivität Ich werde glücklich sein, wenn wir alle durch Kommentare in Beiträgen beziehen können. Abonnieren Sie unsere News, um über die neuesten Beiträge und Veranstaltungen informiert zu werden. Später haben wir Pläne, Google Hangouts Webinare zu machen. Dont miss it, klicken Sie auf Follow-Button an der oberen rechten Ecke zu unserer Community beitreten. Was möchten Sie in unseren Blogbeiträgen lesen? Welche Themen können Sie vorschlagen? Schreiben Sie hier in den Kommentaren. In meinem früheren Post kam ich zu dem Schluss, dass die Nähe zu engen Paaren Handel ist nicht so profitabel, wie es früher vor 2010 war. Ein Leser wies darauf hin, dass es sein könnte, dass Mittel-wiederkehrende Natur der Spreads nur in Richtung kürzere Zeitskalen verschoben . Ich habe zufällig die gleiche Idee zu teilen, so dass ich beschlossen, diese Hypothese zu testen. Dieses Mal wird nur ein Paar getestet: 100 SPY vs -80 IWM. Backtest wird auf 30-Sekunden-Bar-Daten von 11.2011 bis 12.2012 durchgeführt. Die Regeln sind einfach und ähnlich wie Strategie, die ich in der letzten Post getestet: Wenn Bar Rückgabe des Paares 1 auf z-Score übersteigt, den nächsten Balken. Das Ergebnis sieht sehr hübsch aus: Ich halte dies für ausreichend, um zu beweisen, dass es in der 30-Sekunden-Skala noch genügend Mittelwert-Reversion gibt. Wenn Sie denken, dass diese Tabelle zu gut ist, um wahr zu sein, ist das leider tatsächlich der Fall. Es wurden keine Transaktionskosten oder Bid-Ask-Spannen berücksichtigt. In der Tat, ich würde bezweifeln, dass es keinen Gewinn nach der Subtraktion aller Handelskosten übrig. Doch diese Art von Charts ist die Karotte baumelt vor meiner Nase, halten mich gehen. Schlechte Nachrichten alle, nach meinen Berechnungen, (die ich aufrichtig hoffe, sind falsch) ist das klassische Paar Handel ist tot. Manche Leute würden stark widersprechen, aber hier ist, was ich gefunden habe: Lets nehmen eine hypothetische Strategie, die auf einem Korb von etfs funktioniert: SPY, XLY, XLE, XLF, XLI, XLB, XLK, IWM, QQQ, DIA Von diesen etfs 90 einzigartig Paare gebildet werden können. Jedes Paar ist marktneutral aufgebaut. Strategie Regeln: An jedem Tag, für jedes Paar, berechnen z-Score basierend auf 25-Tage-Standardabweichung. Wenn z-Score gt Schwelle, gehen Sie kurz, schließen nächsten Tag Wenn z-Score lt-Schwelle gehen lange, schließe nächsten Tag Um es ganz einfach, die Berechnung erfolgt ohne Kapitalmanagement (man kann bis zu 90 Paare im Portfolio haben An jedem Tag). Auch Transaktionskosten werden nicht berücksichtigt. Um es einfach auszudrücken, verfolgt diese Strategie eine eintägige Umkehrung der Marktneutralspreads. Hier werden die Ergebnisse für mehrere Schwellen simuliert: Egal welche Schwelle verwendet wird, die Strategie ist 2008 sehr erfreulich, ziemlich gut von 2009 und völlig wertlos ab Anfang 2010. Dies ist nicht das erste Mal, dass ich auf diese Veränderung im Mittelrückgang gestoßen bin Verhalten in etfs. Egal, was Ive versuchte, hatte ich kein Glück bei der Suche nach einem Paar Handelsstrategie, die auf ETFs Vergangenheit 2010 arbeiten würde. Mein Fazit ist, dass diese Arten von einfachen stat-arb-Modelle nur dont schneiden Sie es nicht mehr.


No comments:

Post a Comment