Wednesday 15 November 2017

Backtesting Handelsstrategien In Der Matlab


Während ich mag, wo diese Frage geht, würde ich vorschlagen, um es ein wenig konkreter. Welche Teile des Backtesting-Prozesses möchten Sie lernen, Dies kann überall reichen von nur Schätzung einer normalen Rendite, wo das Portfolio zurück aus Ihrer Strategie bereits gegeben werden, um die Umsetzung einer vollständigen Portfolio-Formulierung algorithmisch gegeben. Ndash Constantin Um ehrlich zu sein, weiß ich nicht viel über Backtesting. Mir wurde gesagt, dass ich während meines Praktikums neue Strategien unterstützen oder den aktuellen Kurs verbessern muss. So möchte ich ein bisschen mehr über das Thema wissen, bevor ich anfange. Was sind die verschiedenen Teile davon. Ndash Maxime Dec 30 14 at 21:31 Die allgemeine Idee Für Aktienwerte wird ein einfacher Backtest typischerweise aus zwei Schritten bestehen: Berechnung der Portfolio-Rendite, die aus Ihrer Portfolio-Formationsregel (oder Handelsstrategie) resultiert Asset Pricing-Modell Schritt 2 ist einfach eine Regression und rechnerisch sehr einfach in Matlab. Was ist schwieriger ist die Umsetzung von Schritt 1, die Sie benötigen, um sehr bequem in Matlab werden, und es gibt verschiedene Möglichkeiten, dies zu tun. Wenn Sie wissen, wie eine OLS-Regression in Matlab zu tun ist, sollten Sie sich auf alle Arten von Matrixmanipulationen konzentrieren. Implementierung in Matlab Portfolio-Formulierung und Renditeberechnung Um Ihnen ein Beispiel dafür zu geben, wie eine primitive Handelsstrategie in Matlab implementiert werden könnte, können wir monatliche Rendite-Daten und eine einheitliche Haltedauer von einem Monat auf n Vermögenswerte über k Perioden annehmen, wobei i in und k im . Angenommen, keine Änderungen in der Zusammensetzung Ihres Stock Universums, Ihre returns Matrix X ist von Dimensionen k mal n. X begin x amp dots amp x amp dots amp x vdots amp ddots amp vdots amp ddots amp vdots x amp dots amp x amp dots amp x vdots amp ddots amp vdots amp ddots amp vdots amp dots amp amp dots amp x end Wo zurückkehrt Werden als x frac-1 berechnet. Unter der Annahme, dass es sich bei Ihrem Selektionskriterium um eine Bestandskennlinie handelt, die in monatlicher Häufigkeit zur Verfügung steht, haben Sie auch eine Merkmalsmatrix C. Dann können Sie einen Algorithmus schreiben, der die Einträge in C identifiziert, die Ihr Selektionskriterium erfüllen (zB einen bestimmten Schwellenwert überschreiten) ) Und ersetzen Sie die entsprechenden Einträge (wobei i und t gleich sind) einer Indikatormatrix I (die als Nullmatrix unter Verwendung der Nullenfunktion initialisiert wurde) mit Einsen. Sie können dann die Einträge von I mit denen der Rendite-Matrix X multiplizieren, um eine Matrix R zu erhalten, die die aus Ihren Beständen resultierenden Renditen angibt. Sie können dann den Mittelwert der Nicht-Null-Einträge für jede Zeile von R berechnen, um Ihren Vektor von Portfolio-Renditen zu erhalten. Risikoanpassung und Identifikation von anormalen Renditen In Schritt 2 vergleichen Sie diesen Vektor mit den normalen Renditen aus der Regressionsschätzung eines Asset-Pricing-Modells wie dem Fama-French-Modell. Indem Sie den normalen Rückgabewektor aus Ihrem Portfolio-Rückgabewert subtrahieren, bestimmen Sie, ob Ihre Handelsstrategie zu einer positiven anomalen Rendite geführt hat. Empfehlungen Wenn Sie neu in Matlab sind, schlage ich Ihnen persönlich vor, dass Sie sich ausreichend mit dieser vereinfachten Strategie vertraut machen, bevor Sie einige der vereinfachenden Annahmen (wie einheitliche Haltedauer und Periodizität) und fortgeschrittene, anspruchsvollere Implementierungen vornehmen. Auch hier möchte ich betonen, dass dies erfordert, dass Sie sehr komfortabel mit Matlab und vor allem die verschiedenen Möglichkeiten, um Matrizen zu manipulieren, die einige Zeit dauern kann. Wenn Sie nicht benötigen, um Matlab für Ihr Praktikum zu verwenden und Ergebnisse schnell erhalten möchten, können Sie Schritt 1 in Excel stattdessen tun, die langweilig ist, aber nicht die (lohnende) erste Investition, die Sie für Matlab machen müssen. Um sich mit Matlab vertraut zu machen, bin ich sicher, dass Sie bereits die extrem gute Dokumentation, die mit ihm kommt, entdeckt haben. Das ist für mich die einzige wertvollste Ressource und wahrscheinlich nützlicher als irgendwelche finanzspezifischen Ressourcen (mit denen ich warten würde, bis Sie mit Matlab selbst vertraut sind). Alles, was erforderlich ist, um die normale Rendite zu bestimmen, ist eine OLS-Regression und ein rudimentäres Verständnis von Asset-Pricing-Modellen. Antwortete Dec 30 14 um 22: 20 Erfolgreiche Backtesting von algorithmischen Trading-Strategien - Teil I Dieser Artikel setzt die Serie über den quantitativen Handel, die mit dem Anfänger Guide und Strategy Identification begonnen. Beide dieser längeren, mehr beteiligten Artikel wurden sehr beliebt, so Ill weiterhin in dieser Richtung und bieten Detail über das Thema Strategie Backtesting. Algorithmisches Backtesting erfordert Kenntnisse in vielen Bereichen, einschließlich Psychologie, Mathematik, Statistik, Softwareentwicklung und Marketexchange-Mikrostruktur. Ich könnte nicht hoffen, alle diese Themen in einem Artikel zu decken, also Im gehend, sie in zwei oder drei kleinere Stücke zu teilen. Was werden wir in diesem Abschnitt diskutieren Ill beginnen mit der Definition Backtesting und dann werde ich beschreiben die Grundlagen, wie es durchgeführt wird. Dann werde ich auf die Vorurteile, die wir im Anfänger-Führer zum quantitativen Handel berührt haben, aufklären. Als nächstes werde ich einen Vergleich der verschiedenen verfügbaren Backtesting-Software-Optionen vorstellen. In den folgenden Artikeln werden wir die Details der Strategie-Implementierungen, die oft kaum erwähnt oder ignoriert werden. Wir werden auch darüber nachdenken, wie man den Backtesting-Prozess realistischer machen kann, indem man die Eigenheiten einer Börse einbezieht. Dann diskutieren wir Transaktionskosten und wie man sie korrekt in einer Backtest-Einstellung modelliert. Wir werden mit einer Diskussion über die Performance unserer Backtests enden und schließlich ein Beispiel für eine gemeinsame Quant-Strategie geben, bekannt als ein durchschnitt-reverting-Paar-Handel. Wir beginnen mit der Diskussion, was Backtesting ist und warum sollten wir es in unserem algorithmischen Handel. Was ist Backtesting Algorithmic Handel steht abgesehen von anderen Arten von Investment-Klassen, weil wir zuverlässiger liefern können Erwartungen über die künftige Performance aus früheren Performance, als Folge der reichlich vorhandenen Datenverfügbarkeit. Das Verfahren, bei dem dies durchgeführt wird, wird als Backtesting bezeichnet. In einfachen Worten, Backtesting durchgeführt wird, indem Sie Ihre besonderen Strategie-Algorithmus zu einem Strom von historischen Finanzdaten, die zu einer Reihe von Trading-Signale führt. Jeder Handel (der hier eine Rundreise von zwei Signalen sein wird) wird mit einem Gewinn oder Verlust verbunden sein. Die Anhäufung dieses Gewinnverlustes über die Dauer Ihres Strategie-Backtests führt zum Gesamtgewinn und - verlust (auch bekannt als PL oder PnL). Das ist das Wesen der Idee, obwohl natürlich der Teufel immer im Detail ist. Was sind die Hauptgründe für das Backtesting einer algorithmischen Strategie Filtration - Wenn Sie sich aus dem Artikel zur Strategieidentifikation erinnern. War es unser Ziel in der anfänglichen Forschungsphase, eine Strategiepipeline aufzustellen und dann jede Strategie herauszufiltern, die bestimmte Kriterien nicht erfüllte. Backtesting liefert uns einen anderen Filtrationsmechanismus, da wir Strategien eliminieren können, die unsere Leistungsanforderungen nicht erfüllen. Modellierung - Backtesting ermöglicht es uns, neue Modelle bestimmter Marktphänomene (Transaktionskosten, Orderrouting, Latenzzeit, Liquidität oder andere marktnahe Mikrostrukturprobleme) sicher zu testen. Optimierung - Obwohl Strategie-Optimierung ist voller Bias, Backtesting ermöglicht es uns, die Performance einer Strategie zu erhöhen, indem die Menge oder die Werte der Parameter in Verbindung mit dieser Strategie und die Neuberechnung seiner Leistung. Verifizierung - Unsere Strategien werden oft extern über unsere Strategiepipeline bezogen. Das Backtesting einer Strategie stellt sicher, dass es nicht falsch implementiert wurde. Obwohl wir selten Zugang zu den Signalen haben, die durch externe Strategien generiert werden, haben wir oft Zugang zu den Leistungsmetriken wie Sharpe Ratio und Drawdown. So können wir sie mit unserer eigenen Umsetzung vergleichen. Backtesting bietet eine Vielzahl von Vorteilen für den algorithmischen Handel. Es ist jedoch nicht immer möglich, eine Strategie direkt zu testen. Im Allgemeinen wird es, wenn die Häufigkeit der Strategie zunimmt, schwieriger, die Mikrostruktureffekte des Marktes und des Austauschs korrekt zu modellieren. Dies führt zu weniger zuverlässigen Backtests und damit zu einer schärferen Bewertung einer gewählten Strategie. Dies ist ein besonderes Problem, bei dem das Ausführungssystem der Schlüssel zur Strategieleistung ist, wie bei Ultrahochfrequenzalgorithmen. Leider ist Backtesting voller Vorurteile aller Art. Wir haben einige dieser Themen in früheren Artikeln berührt, aber wir werden sie nun ausführlich erörtern. Bias, die Strategie-Backtests beeinflussen Es gibt viele Vorurteile, die die Leistung einer zurückgetretenen Strategie beeinflussen können. Leider haben diese Vorbelastungen eine Tendenz, die Leistung aufzublasen, anstatt sie zu beeinträchtigen. Sie sollten also immer einen Backtest als idealisierte Obergrenze für die tatsächliche Performance der Strategie betrachten. Es ist fast unmöglich, Biases aus algorithmischen Handel zu beseitigen, so ist es unsere Aufgabe, sie so gut wie möglich zu minimieren, um fundierte Entscheidungen über unsere algorithmischen Strategien zu treffen. Es gibt vier Hauptverzerrungen, die ich diskutieren möchte: Optimierung Bias. Ausblick-Bias. Überlebensbias und psychologische Toleranz Bias. Optimierung Bias Dies ist wahrscheinlich die heimtückischste aller Backtest-Bias. Dazu gehört die Anpassung oder Einführung zusätzlicher Handelsparameter, bis die Strategieperformance des Backtest-Datensatzes sehr attraktiv ist. Doch einmal kann die Leistung der Strategie deutlich anders aussehen. Ein anderer Name für diese Vorspannung ist Kurvenanpassung oder Daten-Snooping-Bias. Optimierungsvorspannung ist schwer zu eliminieren, da algorithmische Strategien oft viele Parameter beinhalten. Parameter in diesem Fall können das Einstiegskriterium, die Rückblickperioden, die Mittelungsperioden (d. h. der gleitende mittlere Glättungsparameter) oder die Volatilitätsmessfrequenz sein. Die Optimierungsvorspannung kann minimiert werden, indem die Anzahl der Parameter auf ein Minimum reduziert und die Anzahl der Datenpunkte in dem Trainingssatz erhöht wird. Tatsächlich muss man auch darauf achten, dass ältere Ausbildungspunkte einer vorherigen Regelung (zB einem regulatorischen Umfeld) unterliegen können und daher möglicherweise nicht für Ihre aktuelle Strategie relevant sind. Eine Methode zur Minderung dieser Vorspannung ist eine Sensitivitätsanalyse durchzuführen. Das bedeutet, die Parameter schrittweise zu variieren und eine Oberfläche der Leistung zu zeichnen. Die fundamentale Grundlegung der Parameterauswahl sollte bei allen anderen Faktoren zu einer glatteren Parameteroberfläche führen. Wenn Sie eine sehr sprunghafte Performance-Oberfläche haben, bedeutet dies oft, dass ein Parameter nicht reflektiert ein Phänomen und ist ein Artefakt der Testdaten. Es gibt eine umfassende Literatur über mehrdimensionale Optimierungsalgorithmen und es ist ein sehr aktives Forschungsgebiet. Ich werde nicht hier bleiben, aber halten Sie es in den Rücken Ihres Geistes, wenn Sie eine Strategie mit einem fantastischen Backtest finden Look-Ahead Bias Look-Ahead Bias wird in ein Backtesting-System eingeführt, wenn zukünftige Daten versehentlich in einem Punkt enthalten sind Simulation, wo diese Daten tatsächlich nicht verfügbar gewesen wären. Wenn wir den Rücktest chronologisch ausführen und den Zeitpunkt N erreichen, dann erfolgt eine Vorspannung, wenn Daten für jeden Punkt Nk aufgenommen werden, wobei k0 gilt. Look-Ahead-Bias Fehler können unglaublich subtil. Hier sind drei Beispiele dafür, wie Vorgriffs-Bias eingeführt werden können: Technische Bugs - Arraysvektoren im Code haben oft Iteratoren oder Index-Variablen. Falsche Offsets dieser Indizes können zu einer Vorausschau-Bias führen, indem Daten bei Nk für nicht-null k eingefügt werden. Parameterberechnung - Ein weiteres allgemeines Beispiel für eine Vorgriffsvorspannung tritt auf, wenn optimale Strategieparameter berechnet werden, wie bei linearen Regressionen zwischen zwei Zeitreihen. Wenn der gesamte Datensatz (einschließlich zukünftiger Daten) verwendet wird, um die Regressionskoeffizienten zu berechnen und somit rückwirkend auf eine Handelsstrategie für Optimierungszwecke anzuwenden, dann werden zukünftige Daten inkorporiert und eine Vorausschau-Bias existiert. MaximaMinima - Bestimmte Handelsstrategien nutzen extreme Werte in einem beliebigen Zeitraum, wie die Einbeziehung der hohen oder niedrigen Preise in OHLC-Daten. Da diese Maximalwerte jedoch nur am Ende einer Zeitperiode berechnet werden können, wird eine Vorausschau-Bias eingeführt, wenn diese Werte während der aktuellen Periode verwendet werden. Es ist immer notwendig, Highlow-Werte durch mindestens eine Periode in einer Handelsstrategie, die von ihnen Gebrauch macht, zu verzögern. Wie bei der Optimierung der Bias, muss man sehr vorsichtig sein, um seine Einführung zu vermeiden. Es ist oft der Hauptgrund, warum Trading-Strategien Undertraform ihre Backtests deutlich in Live-Trading. Survivorship Bias Survivorship Bias ist ein besonders gefährliches Phänomen und kann zu einer erheblich überhöhten Performance für bestimmte Strategietypen führen. Es tritt auf, wenn Strategien auf Datasets getestet werden, die nicht das gesamte Universum der vorherigen Vermögenswerte enthalten, die zu einem bestimmten Zeitpunkt gewählt worden sein können, aber nur diejenigen berücksichtigen, die die aktuelle Zeit überlebt haben. Als Beispiel betrachten Prüfung einer Strategie auf eine zufällige Auswahl von Aktien vor und nach dem 2001 Absturz. Einige Technologie-Aktien gingen bankrott, während andere geschafft, über Wasser zu halten und sogar gedeihen. Wenn wir diese Strategie nur auf Aktien beschränkten, die es durch die Marktabschreibungsperiode machten, würden wir eine Überlebenschance einführen, weil sie bereits ihren Erfolg gezeigt haben. In der Tat, dies ist nur ein weiterer konkreter Fall von Vorausschau Bias, wie zukünftige Informationen wird in die Vergangenheit Analyse integriert. Es gibt zwei Hauptmöglichkeiten, um die Überlebenschance in Ihren Strategie-Backtests zu verringern: Survivorship Bias Free Datasets - Im Falle von Equity-Daten ist es möglich, Datensätze zu kaufen, die Delisting-Entitäten enthalten, obwohl sie nicht billig sind und nur in der Regel von institutionellen Firmen genutzt werden . Insbesondere ist Yahoo Finanzen Daten NICHT Überleben Bias frei, und dies wird häufig von vielen Retail-Algo-Händler verwendet. Man kann auch auf Assetklassen handeln, die nicht anfällig für Überlebensbias sind, wie bestimmte Rohstoffe (und ihre zukünftigen Derivate). Verwenden Sie neuere Daten - Bei Aktien reduziert die Verwendung eines neueren Datensatzes die Möglichkeit, dass die gewählte Aktienauswahl den Überlebenden gewichtet wird, einfach, da weniger Wahrscheinlichkeit besteht, dass der Gesamtbestand in kürzeren Zeiträumen verzinst wird. Man kann auch beginnen, eine persönliche Überlebens-Bias-freien Datensatz durch das Sammeln von Daten aus dem aktuellen Punkt aufzubauen. Nach 3-4 Jahren haben Sie eine solide Überlebens-Bias-freie Reihe von Aktien-Daten, mit denen Backtest weitere Strategien haben. Wir betrachten nun einige psychologische Phänomene, die Ihre Handelsleistung beeinflussen können. Psychologische Toleranz Bias Diese besonderen Phänomene werden nicht oft im Kontext des quantitativen Handels diskutiert. Es wird jedoch ausführlich in Bezug auf mehr diskretionäre Handelsmethoden diskutiert. Es hat verschiedene Namen, aber Ive beschlossen, es psychologische Toleranz Bias nennen, weil es das Wesen des Problems erfasst. Bei der Erstellung von Backtests über einen Zeitraum von 5 Jahren oder mehr, ist es leicht, eine aufwärts tendenzielle Eigenkapitalkurve betrachten, berechnen die zusammengefasste jährliche Rendite, Sharpe Ratio und sogar Drawdown-Eigenschaften und mit den Ergebnissen zufrieden sein. Als Beispiel könnte die Strategie einen maximalen relativen Drawdown von 25 und eine maximale Drawdown-Dauer von 4 Monaten besitzen. Dies wäre nicht atypisch für eine Impulsstrategie. Es ist einfach, sich davon zu überzeugen, dass es leicht ist, solche Perioden von Verlusten zu tolerieren, weil das Gesamtbild rosig ist. Allerdings ist es in der Praxis viel schwieriger Wenn historische Drawdowns von 25 oder mehr auftreten, in den Backtests, dann aller Wahrscheinlichkeit werden Sie sehen, Zeiten ähnlicher Drawdown im Live-Trading. Diese Zeitabschnitte sind psychologisch schwer zu ertragen. Ich habe aus erster Hand gesehen, was ein verlängerter Drawdown sein kann, in einer institutionellen Umgebung, und es ist nicht angenehm - auch wenn die Backtests deuten darauf hin, dass Perioden auftreten. Der Grund, den ich es als Bias bezeichnet habe, ist, dass oft eine Strategie, die sonst erfolgreich sein würde, aus dem Handel in Zeiten verlängerten Drawdown gestoppt wird und somit zu einer signifikanten Underperformance im Vergleich zu einem Backtest führen wird. So, obwohl die Strategie ist algorithmischen in der Natur, können psychologische Faktoren haben noch einen großen Einfluss auf die Rentabilität. Der Takeaway ist, um sicherzustellen, dass, wenn Sie Drawdowns eines bestimmten Prozentsatzes und Dauer in den Backtests sehen, dann sollten Sie erwarten, dass sie in Live-Trading-Umgebungen auftreten und müssen beharren, um die Rentabilität noch einmal zu erreichen. Softwarepakete für Backtesting Die Softwarelandschaft für Strategie Backtesting ist enorm. Die Lösungen reichen von der vollintegrierten, hochqualifizierten Software bis hin zu Programmiersprachen wie C, Python und R, wo fast alles von Grund auf neu geschrieben werden muss (oder entsprechende Plugins). Als quant Trader interessieren wir uns für die Balance, unseren Handelstechnologie-Stack im Vergleich zur Geschwindigkeit und Zuverlässigkeit unserer Entwicklungsmethodik besitzen zu können. Hier sind die wichtigsten Überlegungen für die Software-Auswahl: Programmierung Skill - Die Wahl der Umgebung wird in einem großen Teil auf Ihre Fähigkeit, Software zu programmieren kommen. Ich würde argumentieren, dass die Kontrolle über den gesamten Stack wird eine größere Wirkung auf Ihre langfristige PL als Outsourcing so viel wie möglich an Anbieter-Software haben. Dies ist aufgrund der Abwärtsrisiko von externen Bugs oder Idiosynkrasien, die Sie nicht in der Anbieter-Software zu beheben, die sonst leicht behoben werden würde, wenn Sie mehr Kontrolle über Ihre Tech-Stack hatte zu beheben. Sie wollen auch eine Umgebung, die die richtige Balance zwischen Produktivität, Verfügbarkeit der Bibliothek und Geschwindigkeit der Ausführung. Ich mache meine persönliche Empfehlung unten. Execution CapabilityBroker-Interaktion - Bestimmte Backtesting-Software, wie Tradestation, verbindet sich direkt mit einem Brokerage. Ich bin nicht ein Fan von diesem Ansatz als Reduzierung Transaktionskosten sind oft eine große Komponente der immer ein höheres Sharpe-Verhältnis. Wenn Sie in einen bestimmten Broker gebunden sind (und Tradestation zwingt Sie dazu, dies zu tun), dann haben Sie eine härtere Zeit Übergang auf neue Software (oder einen neuen Broker), wenn die Notwendigkeit entsteht. Interactive Brokers bieten eine API, die robust ist, allerdings mit einer etwas stumpfen Oberfläche. Anpassung - Eine Umgebung wie MATLAB oder Python bietet Ihnen viel Flexibilität bei der Erstellung von Algo-Strategien, denn sie bieten fantastische Bibliotheken für nahezu jede mathematische Operation, die man sich vorstellen kann. Strategie Komplexität - Bestimmte Software gerade isnt herausgeschnitten für schwere Zahl knirscht oder mathematische Komplexität. Excel ist ein solches Stück Software. Während es für einfachere Strategien gut ist, kann es nicht wirklich mit zahlreichen Vermögenswerten oder komplizierteren Algorithmen, mit der Geschwindigkeit zu bewältigen. Bias Minimization - Ist ein bestimmtes Stück Software oder Daten eignet sich mehr für Handel Bias Sie müssen sicherstellen, dass, wenn Sie alle Funktionalität selbst erstellen möchten, dass Sie nicht vorstellen, Bugs, die zu Verzerrungen führen kann. Geschwindigkeit der Entwicklung - man sollte nicht verbringen Monate und Monate Umsetzung einer Backtest-Engine. Prototyping sollte nur ein paar Wochen dauern. Stellen Sie sicher, dass Ihre Software nicht behindern Ihre Fortschritte in großem Ausmaß, nur um einige zusätzliche Prozentpunkte der Ausführungsgeschwindigkeit zu greifen. C ist der Elefant im Raum hier Geschwindigkeit der Ausführung - Wenn Ihre Strategie vollständig von der Ausführungszeit (wie bei HFTUHFT) abhängig ist, dann ist eine Sprache wie C oder C erforderlich. Allerdings werden Sie auf Linux-Kernel-Optimierung und FPGA-Nutzung für diese Domains, die außerhalb des Geltungsbereichs dieses Artikels ist verteilt werden - Viele der Software-Umgebungen, die Sie algorithmische Handelsstrategien mit programmieren können, sind völlig kostenlos und Open Source. Tatsächlich nutzen viele Hedgefonds Open-Source-Software für ihre gesamten Algo-Handelsstapel. Darüber hinaus sind Excel und MATLAB beide relativ billig und es gibt sogar kostenlose Alternativen zu jedem. Jetzt, da wir die Kriterien aufgeführt haben, mit denen wir unsere Software-Infrastruktur wählen müssen, möchte ich einige der populäreren Pakete durchführen und wie sie vergleichen: Anmerkung: Ich gebe nur Software ein, die für die meisten Einzelhändlerpraktiker vorhanden ist und Software-Entwickler, da dies die Leserschaft der Website ist. Während andere Software verfügbar ist, wie die mehr institutionellen Grade-Tools, fühle ich mich diese sind zu teuer, um effektiv in einem Einzelhandel eingesetzt werden und ich persönlich habe keine Erfahrung mit ihnen. Backtesting Software Vergleich Beschreibung: High-Level-Sprache für die Geschwindigkeit der Entwicklung entwickelt. Breites Spektrum an Bibliotheken für nahezu jede programmierbare Aufgabe, die man sich vorstellen kann. Gewinnung einer breiteren Akzeptanz in Hedgefonds - und Investmentbanken. Nicht ganz so schnell wie CC für Ausführungsgeschwindigkeit. Ausführung: Python-Plugins gibt es für größere Broker, wie zB Interactive Brokers. Daher können Backtest und Execution System alle Teil der gleichen Tech-Stack werden. Anpassung: Python hat eine sehr gesunde Entwicklungsgemeinschaft und ist eine reife Sprache. NumPySciPy bietet schnelle wissenschaftliche Berechnungen und statistische Analysetools für den quantitativen Handel. Strategie Komplexität: Viele Plugins existieren für die Hauptalgorithmen, aber nicht ganz so große Quantitätsgemeinschaft wie für MATLAB. Bias Minimization: Gleiche Bias Minimierung Probleme gibt es für jede Hochsprache. Müssen extrem vorsichtig sein, über die Prüfung. Entwicklung Geschwindigkeit: Pythons wichtigsten Vorteil ist die Entwicklung Geschwindigkeit, mit robusten in eingebauten Test-Fähigkeiten. Ausführungsgeschwindigkeit: Nicht ganz so schnell wie C, aber wissenschaftliche Computing-Komponenten sind optimiert und Python kann mit nativen C-Code mit bestimmten Plugins zu sprechen. Kosten: FreeOpen Source Beschreibung: Ältere, High-Level-Sprache für die Ausführungsgeschwindigkeit entwickelt. Breites Spektrum quantitativer Finanz - und numerischer Bibliotheken. Härter zu debuggen und oft dauert länger als Python oder MATLAB zu implementieren. Extrem weit verbreitet in der Kauf-und Verkaufsseite. Ausführung: Die meisten Brokerage-APIs sind in C und Java geschrieben. So gibt es viele Plugins. Anpassung: CC ermöglicht den direkten Zugriff auf den zugrundeliegenden Speicher, so dass Hochfrequenzstrategien implementiert werden können. Strategie Komplexität: C STL bietet eine breite Palette von optimierten Algorithmen. Fast jeder spezialisierte mathematische Algorithmus besitzt eine freie, Open-Source-CC-Implementierung im Web. Bias Minimization: Look-Ahead-Bias kann schwierig zu beseitigen, aber nicht härter als andere High-Level-Sprache. Gute Debugging-Tools, aber man muss vorsichtig sein, im Umgang mit zugrunde liegenden Speicher. Entwicklungsgeschwindigkeit: C ist ziemlich verbose im Vergleich zu Python oder MATLAB für den gleichen Algorithmus. Mehr Zeilen-of-Code (LOC) führt oft zu einer größeren Wahrscheinlichkeit von Bugs. Ausführungsgeschwindigkeit: CC hat eine extrem schnelle Ausführungsgeschwindigkeit und kann für bestimmte Berechnungsarchitekturen optimiert werden. Dies ist der Hauptgrund, es zu nutzen. Kosten: Verschiedene Compiler: LinuxGCC ist kostenlos, MS Visual Studio hat unterschiedliche Lizenzen. Verschiedene Strategien erfordern unterschiedliche Softwarepakete. HFT-und UHFT-Strategien werden in CC (in diesen Tagen werden sie oft auf GPUs und FPGAs durchgeführt werden), während Low-Frequenz direktionale Equity-Strategien sind einfach zu implementieren in TradeStation, aufgrund der alle in einer Art der Software-Brokerage geschrieben werden. Meine persönliche Vorliebe ist für Python, da es den richtigen Grad an Anpassung, Geschwindigkeit der Entwicklung, Test-Fähigkeit und Ausführungsgeschwindigkeit für meine Bedürfnisse und Strategien bietet. Wenn ich etwas schneller benötige, kann ich in C direkt aus meinem Python-Programme. Eine Methode, die von vielen Quant-Händlern bevorzugt wird, besteht darin, ihre Strategien in Python zu prototypisieren und dann die langsameren Ausführungsabschnitte auf C in einer iterativen Weise umzuwandeln. Schließlich ist der gesamte Algo in C geschrieben und kann allein gelassen werden, um den Handel In den nächsten Artikeln über Backtesting werden wir einen Blick auf einige besondere Fragen rund um die Umsetzung eines algorithmischen Trading Backtesting-System, sowie wie die Effekte zu integrieren Börsen. Wir werden die Strategie-Leistungsmessung diskutieren und schließlich mit einer Beispielstrategie Schluss machen. Klicken Sie unten, um mehr darüber zu erfahren. Die Informationen auf dieser Website ist die Meinung der einzelnen Autoren auf der Grundlage ihrer persönlichen Beobachtung, Forschung und jahrelange Erfahrung. Der Herausgeber und seine Autoren sind nicht registrierte Anlageberater, Rechtsanwälte, CPAs oder andere Finanzdienstleister und machen keine Rechts-, Steuer-, Rechnungswesen, Anlageberatung oder andere professionelle Dienstleistungen. Die Informationen, die von dieser Web site angeboten werden, sind nur allgemeine Ausbildung. Weil jeder Einzelne sachliche Situation anders ist, sollte der Leser seinen persönlichen Berater suchen. Weder der Autor noch der Herausgeber übernehmen jegliche Haftung oder Verantwortung für Fehler oder Unterlassungen und haben weder eine Haftung noch Verantwortung gegenüber Personen oder Körperschaften in Bezug auf Schäden, die direkt oder indirekt durch die auf dieser Website enthaltenen Informationen verursacht oder vermutet werden. Benutzung auf eigene Gefahr. Darüber hinaus kann diese Website erhalten finanzielle Entschädigung von den Unternehmen erwähnt durch Werbung, Affiliate-Programme oder auf andere Weise. Preise und Angebote von Inserenten auf dieser Website ändern sich häufig, manchmal ohne Vorankündigung. Während wir uns bemühen, rechtzeitige und genaue Informationen aufrechtzuerhalten, können Angebot Details veraltet sein. Besucher sollten daher die Bedingungen dieser Angebote vor der Teilnahme an ihnen überprüfen. Der Autor und sein Herausgeber haften nicht für die Aktualisierung von Informationen und haften nicht für Inhalte, Produkte und Dienstleistungen von Drittanbietern, auch wenn sie über Hyperlinks und Anzeigen auf dieser Website aufgerufen werden. Walk-Forward-Analyse: MATLAB zur Rückverfolgung Ihrer Handelsstrategie verwenden Viele Händler, Fonds Manager oder Investoren finden, dass sie in Beschränkung auf Backtest ihre Trading-Ideen laufen. Oder die bestehenden Backtesting-Frameworks können nicht verwendet werden, um ihre Trading-Ideen vollständig zu testen. Eine zunehmende Komplexität von Marktdaten, Handelsstrategien und Backtesting-Frameworks ist ein schwieriges Thema. In diesem Webinar erfahren Sie, wie MATLAB das Prototyping und die Entwicklung von Walk-Forward-Analysen unterstützen kann, um Ihre Trading-Ideen rückgängig zu machen, angefangen vom Erfassen von Marktdaten, Implementieren von Tradingstrategien, Testrahmen und Performanceanalysen. Sie sehen, wie MATLAB eine einzige Plattform bietet, die eine effiziente Lösung der Walk-Forward-Analyse ermöglicht. Mit MATLAB können Sie Ihre Daten effizient erkunden, analysieren und visualisieren. Durch diese Webinare werden Sie lernen: Die schwierigen Fragen zur Entwicklung von Handelsstrategien Verschiedene Arten von Backtesting-Framework Verschiedene Arten von Optimierungsmethode, die für die Optimierung der Handelsparameter verwendet werden können Die grundlegende Paar-Handelsstrategie auf Bollinger Band Die Berechnung der technischen Indikatoren und Performance-Metrik Die Bedeutung von Parallel-Computing für Skalierbarkeit Dieses Webinar ist für Finanzprofis, quantitative Forscher und Analysten, Händler und Portfoliomanager mit Fokus auf quantitative Analyse, Strategieentwicklung oder Eigenkapitalforschung. Bitte erlauben Sie etwa 45 Minuten, um die Präsentation und QA-Sitzung teilzunehmen. Wir werden dieses Webinar aufnehmen, so dass, wenn Sie es nicht für die Live-Übertragung machen können, registrieren Sie sich und wir senden Ihnen einen Link, um es auf Abruf zu sehen. Über den Presenter Kawee Numpacharoen ist ein Computational Finance Product Manager bei MathWorks. Vor seinem Wechsel zu MathWorks arbeitete Kawee bei Phatra Securities als Senior Vice President im Bereich Equity und Derivatives Trading. Kawee hat eine B. S. In Elektrotechnik vom King Mongkuts Institut für Technologie Ladkrabang, M. S. In Financial Engineering von der University of Michigan, Ann Arbor, und ein Ph. D. In Mathematik von der Mahidol Universität. Produktfokus Finanzwerkzeugkasten 8482 MATLAB 174 Parallelrechenwerkzeugkasten 8482 Datafeed Toolbox 8482

No comments:

Post a Comment