Tradestations Optionen Backtesting


Institutional-Class-Datenmanagement-Backtesting-Strategie-Bereitstellungslösung: - Aktien, Optionen, Futures, Währungen, Körbe und kundenspezifische synthetische Instrumente werden unterstützt - mehrere unterstützte Daten-Feeds mit geringer Latenzzeit (Verarbeitungsgeschwindigkeit in Millionen von Nachrichten pro Sekunde auf Terabyte Daten) - C und Basierte Strategie Backtesting und Optimierung - Unterstützung von mehreren Brokern unterstützt, Trading-Signale in FIX-Aufträge umgewandelt QuantFACTORY - Institutional-Class Data Management Backtesting Strategie-Bereitstellungslösung: - QuantDEVELOPER - Framework und IDE für Trading Strategies Entwicklung, Debugging, Backtesting und Optimierung, verfügbar als Visual Studio-Plug-In - QuantDATACENTER - ermöglicht die Verwaltung eines historischen Data Warehouses und die Erfassung von Echtzeit - oder Ultra-Low-Latency-Marktdaten von Anbietern und Börsen - QuantENGINE - ermöglicht die Bereitstellung und Ausführung von vorkompilierten Strategien - Multi-Asset-, Multi-Perioden-Daten mit niedriger Latenz , Multi-Asset, Intraday-Level-Tests, Optimierung, WFA etc. Mehrere Broker und Daten-Feeds unterstützt - QuantTrader - Produktion. - Multi-Asset-, Intraday-Level-Tests, Optimierung, WFA etc. Mehrere Broker und Daten-Feeds unterstützt - QuantTrader - Produktion. Deutsch: www. tab. fzk. de/de/projekt/zusammenf...ng/ab117.htm Handelsumgebung - QuantBase - zentralisiertes Datenmanagement - QuantRouter - Daten - und Auftragsrouting Institutional-Class Datenmanagement Backtesting Strategy Deployment-Lösung: - Multi-Asset-Lösung, mehrere Daten-Feeds unterstützt, Datenbank unterstützt jede Art von RDBMS mit einer JDBC-Schnittstelle, zB Oracle, Microsoft SQL Server, Sybase, MySQL etc. - Clients können IDE verwenden, um ihre Strategie entweder in Java, Ruby oder Python zu skriptieren, oder sie können ihre eigene Strategie verwenden IDE - Mehrfachvermittler Ausführung unterstützt, Trading-Signale in FIX-Aufträge umgewandelt Institutional - Klassen-Datenmanagement-Backtesting-Strategie-Bereitstellungslösung: - Multi-Asset-Lösung (Forex, Optionen, Futures, Aktien, ETFs, Rohstoffe, synthetische Instrumente und benutzerdefinierte Derivatspreads etc.), mehrere Daten-Feeds unterstützt - Framework für Trading Strategies Entwicklung, Debugging, Backtesting (IB, JPMorgan, FXCM etc.) Dedizierte Softwareplattform integriert mit Tradestationsdaten für Backtesting und Auto-Trading: - tägliche Intraday-Daten (uns Aktien für 43 Jahre, Futures für 61 Jahre) - praktisch für das Backtesting von preisbasierten Signalen (technische Analyse), Unterstützung für die Programmiersprache EasyLanguage - Unterstützung von US-Aktien ETFs, Futures, US-Indizes, deutsche Aktien, deutsche Indizes, exklusiv für Tradestation Brokerage Clients - 249,95 monatlich für Nicht-Profis (Tradestation Software-Plattform nur, ohne Brokerage) - 299,95 monatlich für Profis (Tradestation Software-Plattform nur, ohne Brokerage) Dedizierte Software-Plattform für Backtesting und Auto-Trading: - Unterstützung von Dayintraday-Strategien, Portfolio-Level-Tests und Optimierung, Charting, Visualisierung, benutzerdefinierte Berichterstattung , Multi-Thread-Analyse, 3D-Charting, WFA-Analyse etc. - am besten für Backtesting Preis basierte Signale (technische Analyse) - direkte Verbindung zu eSignal, Interactive Brokers, IQFeed, myTrack, FastTrack, QP2, TC2000, alle DDE-kompatiblen Feed, MS, Txtfiles und mehr (Yahoo Finance. ) - einmalige Gebühr 279 für Standard Edition oder 339 für Professional Edition Dedizierte Softwareplattform für Backtesting und Auto-Trading: - Portfolio Level System Backtesting und Trading, Multi-Asset, Intraday Level Testing, Optimierung, Visualisierung etc. - ermöglicht R Integration, Auto-Trading in Perl-Skriptsprache mit allen zugrundeliegenden Funktionen, die in nativem C geschrieben wurden, vorbereitet für Server-Co-Location - native FXCM und Interactive Brokers Unterstützung - kostenlose FXCM-Unterstützung, 100 pro Monat für IB-Plattform, kontaktieren Sie Salesseertrading für andere Optionen Dedizierte Software-Plattform für Backtesting und Auto-Trading: - Unterstützung von Dayintraday-Strategien, Portfolio-Level-Tests und - Optimierung - am besten für Backtesting von preisbasierten Signalen (technische Analyse), C-Scripting - Software-Erweiterungen unterstützt - Daten-Feeds Handling, Strategie-Ausführung etc. - 799 pro Lizenz, 150 jährlich Gebühr nach Dedizierter Softwareplattform für Backtesting, Optimierung, Leistungszuordnung und Analytik: - Axioma oder Drittanbieter Datenfaktoranalyse, Risikomodellierung, Marktzyklusanalyse Dedizierte Softwareplattform für Backtesting und Autohandel: - am besten für das Backtesting von preisbasierten Signalen (technisch Analysen), Unterstützung von Dayintraday-Strategien, Portfolio-Level-Tests und - Optimierung - Turtle Edition - Backtesting-Engine, Graphen, Berichte, EoD-Tests - Professional Edition - plus System-Editor, Forward-Forward-Analyse, Intraday-Strategien, Multi-Thread-Tests etc. - Pro Plus Edition - plus 3D-Oberflächen-Charts, Scripting etc. - Builder Edition - IB API, Debugger etc. - Turtle Edition 990 - Professional Edition 1.990 - Pro Plus Edition 2.990 - Builder Edition 3.990 Dedizierte Softwareplattform für Backtesting und Auto-Trading: - Unterstützung von Dayintraday-Strategien , Portfolio Level Testing und Optimierung, Charting, Visualisierung, Custom Reporting etc. - am besten für Backtesting Preis basierte Signale (technische Analyse) - direkte Verbindung zu Interactive Brokers, MB Trading, TD Ameritrade, FXCM und andere - Daten aus Textdateien, eSignal, Google Finance, Yahoo Finanzen, IQFeed und andere - Grundfunktionalität (EoD-Funktionalität) - frei - erweiterte Funktionalität - Leasing von 50 Monaten oder 995 Lifetime Lizenz Dedizierte Softwareplattform für Backtesting und Auto-Trading: - am besten für das Backtesting von preisbasierten Signalen (technische Analyse) ), Unterstützt Dayintraday-Strategien, Portfolio-Level-Tests und Optimierung, Charting, Visualisierung, benutzerdefinierte Berichterstattung - unterstützt C und Visual Basic - direkte Verbindung zu Interactive Brokers, IQFeed, txtfiles und mehr (Yahoo Finance. ) - ewige Lizenz - 499 - Leasing 50 pro Monat Dedizierte Softwareplattform für Backtesting und Auto-Trading: - Unterstützung von Dayintraday-Strategien, Portfolio Level Tests und Optimierung, Charting, Visualisierung, Custom Reporting - technische und auch fundamentale Signale, Multi-Asset-Unterstützung - 245 für Advanced Version (kostenlose Datenanbieter) - 595 für Premium Version (Unterstützung mehrerer Datenanbieter und Broker) Dedizierte Softwareplattform für Backtesting und Auto-Trading: - Unterstützung von Dayintraday-Strategien, Portfolio-Level-Tests und - Optimierung - am besten für das Backtesting von preisbasierten Signalen ( Technische Analyse) - Einzugsdaten für Aktien, Futures und Forex (täglich US-Aktien ab 1990, tägliche Futures 31 Jahre, Forex ab 1983 etc.) - Preis von 45 Monaten bis 295 Monaten (Preise hängen von der Verfügbarkeit der Daten ab) Dedizierte Softwareplattform Für Backtesting und Auto-Trading: - verwendet MQL4-Sprache, die hauptsächlich für den Handel mit Forex-Markt verwendet wird - unterstützt mehrere Forex-Broker und Daten-Feeds - unterstützt die Verwaltung von mehreren Konten Dedizierte Software-Plattform für Backtesting und Auto-Trading: - Unterstützung von Dayintraday-Strategien, Portfolio-Level-Tests Und Optimierung - am besten für Backtesting preisbasierte Signale (technische Analyse), Unterstützung für die Programmiersprache EasyLanguage - Unterstützung mehrerer Datenfeeds (Bloomberg, Thomson Reuters, CSI, CQG, eSignal etc.), direkte Unterstützung für mehrere Broker (Interactive Broker etc.) - Multicharts 797 pro Jahr - Multicharts Lebensdauer 1.497 - Multicharts Pro 9.900 (Bloomberg Thomson Reuters Datenfeed etc.) Webbasiertes Backtesting-Tool zum Testen von Aktienauswahlstrategien: - US-Aktien ETFs (täglich) - Punkt-in-Zeit-Grunddaten seit 1999 - Longshort-Strategien, Preisfundamentals getriebene Signale - Designer - 139 Monate - Manager - 199 Monate - komplette Funktionalität Portfolio Analytics mit hochfrequenten Marktdaten: - Dieses Produkt ist für den Einsatz von niedrigen, mittleren und hochfrequenten Händlern. Alle Berechnungen werden mit hochfrequenten Marktdaten durchgeführt, die niedrigen und hochfrequenten Händlern helfen. - Intraday-Backtesting, Portfolio-Risikomanagement, Prognose und Optimierung zu jedem Preis Sekunde, Minuten, Stunden, Ende des Tages. Modell Eingänge voll kontrollierbar. - 8k Markt tick Datenquellen seit 2012 (Aktien, Indizes ETFs auf NASDAQ gehandelt). Kunden können auch eigene Marktdaten hochladen (z. B. chinesische Aktien). - 40 Portfolio-Metriken (VaR, ETL, Alpha, Beta, Sharpe-Verhältnis, Omega-Verhältnis etc.) - unterstützt R, Matlab, Java Python - 10 Portfolio-Optimierungen Web-basiertes Backtesting-Tool: - US-Aktienpreise (dailyintraday), seit 1998, Daten von QuantQuote - Forex-Daten von FXCM - Unterstützung von Trader Interactive Brokers für Live-Trading Webbasiertes Backtesting-Tool: - US-Aktien und ETFs-Preise (dailyintraday), seit 2002 - Grunddaten von Morningstar (über 600 Metriken) - Unterstützung von Interactive Brokers für Live-Trading Webbasierte Backtesting-Tools: - einfach zu bedienen, Asset Allocation Strategies, Daten seit 1992 - Zeitreihenmomentum und gleitende durchschnittliche Strategien auf ETFs - Einfache Momentum und Simple Value Stock-Picking-Strategien Webbasiertes Backtesting-Tool: - bis zu 25 Jahre Daten für 49 Futures und SP500 Aktien - Toolbox in Python und Matlab - Quantiacs beherbergt algorithmische Handelswettbewerbe mit Investitionen von 500k bis 1 Million Backtest Broker bietet leistungsstarke, einfache webbasierte Backtesting-Software: - Backtest in zwei Klicks - Durchsuchen Sie die Strategiebibliothek oder bauen und optimieren Sie Ihre Strategie - Paper Trading, automatisierte Trading und Echtzeit-E-Mails - 1 pro Backtest und weniger WebCloud basierte Backtesting-Tool: - FX (ForexCurrency) Daten auf großen Paaren, gehen zurück zu 2007 - SecondMinuteHourlyDaily Bars - Live-Handel kompatibel mit jedem Broker, dass Nutzt Metatrader 4 als Backend Web-basiertes Backtesting-Tool zum Testen von Equity Factor Picking und Asset Allocation Strategien: - Mehrere Aktienfaktoren mit bewährten Alpha-Over-Markt-Cap-Benchmarks, mehrere Investment-Universen, Risikomanagement-Filter - Asset Allocation Strategien Backtests, Mischen Asset Allocation Und Faktor-Kommissionierung in ein Portfolio - frei auf SP 100 Universum - 50 Monate oder 480 Jahre - breitere US-Investment-Universen, UK EU-Aktien, Asset Allocation Strategien Web-basierte Backtestingscreening-Tool: - über 10 000 US-Aktien, Daten bis zu 20 Jahre Geschichte - grundlegende technische Kriterien - frei - eingeschränkte Funktionalität (1 Jahr Daten, keine gespeicherten Backtests etc.) - 50 pro Monat - volle Funktionalität Freie Softwareumgebung für statistisches Rechnen und Grafik, viele Quants bevorzugen es für seine außergewöhnliche offene Architektur und Flexibilität: - effektive Datenverarbeitung und Lagerung, grafische Einrichtungen für die Datenanalyse, leicht erweitert über Pakete - empfohlene Erweiterungen - quantstrat, Rmetrics, quantmod, quantlib, PerformanceAnalytics, TTR, Portfolio, PortfolioSim, Backtest etc. MATLAB - High-Level-Sprache und interaktive Umfeld für statistisches Rechnen und Grafiken: - Parallel - und GPU-Computing, Backtesting und Optimierung, umfangreiche Integrationsmöglichkeiten etc. - Preis auf Anfrage hier BacktestingXL Pro ist ein Add-In für den Aufbau und die Erprobung Ihrer Trading-Strategien in Microsoft Excel 2010 und 2013: - Benutzer können VBA verwenden, um Strategien für BacktestingXL Pro zu erstellen, VBA-Kenntnisse sind optional, Benutzer können Handelsregeln auf einer Tabellenkalkulation mit Standard-vorgefertigten Backtesting-Codes konstruieren - unterstützt Pyramiden, kurzfristige Positionsbegrenzung, Provisionsberechnung, Equity-Tracking, Out-of - Geld-Controlling, Buysell-Preis-Customizing - mehrfache Performancerisk-Berichte - 74.95 für BacktestingXL Pro Freie Open-Source-Programmiersprache, offene Architektur, flexibel, einfach über Pakete erweitert: - empfohlene Erweiterungen - Pandas (Python Data Analysis Library), Pyalgotrade (Python Algorithmic Trading Library) , Zipline, Ultrafinanz etc. FactorWave ist einfach zu bedienendes webbasiertes Backtesting-Tool für die Faktorinvestition: - ermöglicht es dem Anwender, mehrere ETFoptionsfuturesequity-Faktoren mit bewährten Alpha-Over-Markt-Cap-Benchmarks zu mischen - kostenlos - ETFStock Screener mit 5 Factors - 149mo - freie Optionsoptionen Screening, Futures-Strategien, Vix-Strategien Web-basiertes Backtesting-Tool: - einfach zu bedienen, Einstiegs-webbasiertes Backtesting-Tool zur Prüfung der relativen Stärke und gleitenden durchschnittlichen Strategien auf ETFs - verschiedene Arten von Strategien für freie, komplette Backtesting-Funktionalität 34,99 monatlich Freies Web-basiertes Backtesting-Tool zum Testen von Aktienauswahlstrategien: - US-Aktien, Daten von ValueLine ab 1986-2014 - Preis - und Grunddaten, 1700 Aktien, monatliche Granularität testOn ein Forum, das ich gelesen habe, schlug jemand eine ähnliche Strategie vor, die ich recherchiert habe in der Vergangenheit. Ihre Regeln waren einfach: Verkaufen Sie einen 20pt Bull Put Spread am Donnerstag in den Öffnungszeiten, die nächste Woche ablaufen Der Short Streik muss mindestens 100 Punkte aus dem aktuellen Spot-Preis sein Sell the vertical, wenn es erreicht 0,05 Allokation 50 deines Portfolios zu Dieser Handel. Diese Strategie beruht auf dem Glauben, dass der SPX sich nicht mehr als 100 Punkte in einem 8-Tage-Fenster bewegt und diese wöchentliche vol ist teuer. Blick auf die letzten 15 Jahre, finde ich das ist wahr 99.31 der Zeit. Es gibt 26 Fälle von 3752 Proben, wo der Markt ging mehr als 100 Punkte. Mehrere davon waren während der Krise im Jahr 2008, aber die jüngste Periode war im Oktober 2014. Glücklicherweise für diese Strategie, es kam nicht an einem Donnerstag, so dass es einen glücklichen Pass. Hier sind die Regeln für diese Strategie: Ich wähle 10 Uhr am Donnerstag, um den Handel zu platzieren. Beachten Sie auch, dass Schlupf und Provisionen auch berücksichtigt werden. Ich habe diese Strategie von Januar 2008 bis Dezember 2014 getestet. Die Ergebnisse sind vielversprechend. Insgesamt ist dieser Handel sehr gut post 2011. Vor 2011 ist es relativ flach. Weitgehend ist dies, weil, während es wöchentliche Verfall gab, gab es nicht genug Streiks in diesen Ausläufen, um konforme Trades zu finden. So viel von der Zeit setzte es einfach aus dem Markt und handelte die monatlichen Verfall. Während dieser Zeit trat der Absturz von 2008 auf, und während die Strategie während dieser Veranstaltung einen großen Drawdown hatte, war es im großen Bild ganz gut. Aber es war schwer, Schlussfolgerungen zu ziehen, da es sich in diesem Zeitraum auf den Markt verlief. Ab 2011 nimmt der Handel wirklich Dampf auf. Es kommt jeden Woche in einen Handel. Es ist auch während eines Stierlaufs, also der Handel als Wind an der Rückseite. Aber man sieht die Drawdowns (niedrigeres Diagramm) sind relativ klein. Aber warum 100 Punkte ich denke, es wurde aus dem Grund gewählt, dass der Markt fast nie so viel bewegt in dieser Zeit (99.31 erinnern). Aber 100 Punkte heute (5 bewegen) ist sehr unterschiedlich als ein 100 Punkte im Jahr 2009 (8-13 bewegen). Also muss ich auch auf Prozentsatzbewegungen schauen. Ich habe getestet 4.5, 5, 6 und 7. 20pt Vertical Spread 4.5 von Spot Portfolio Margin PM erfordert 16 die Marge als RegT tut und 1.6 die Marge ein Cash Margin Konto würde. Aber PM-Marge ist viel flüssiger als die anderen. Wenn der Markt sinkt, wird die Margin-Anforderung erhöht. Die Details der PM-Margining sind viel komplexer 8211, aber aus Gründen der Einfachheit und aufgrund der Tatsache, dass ich die PM-Margin nicht berechnen kann, werde ich davon ausgehen, dass es ein konstanter Prozentsatz der RegT-Marge ist. Short Puts I8217m gehen auf die kurzen Puts konzentrieren, da die kurzen Anrufe sind ein kleinerer Anteil an den Gesamtgewinnen. Anrufe sind sehr billig im Vergleich zu den Putten, und Karen angeblich verkauft die Hälfte der Anzahl der Anrufe zu setzen. I8217m sicher, es fügt zu ihrem Endergebnis, aber aus Gründen der Einfachheit, werde ich sie für jetzt verlassen. Im Folgenden wird das Risikoprofil für den SPX 1875 kurz ab Anfang April angezeigt. Dieser Handel erhält 600, wenn der SPX in 52 Tagen über 1875 schließt. Aber bei der PL in den Preisschnecken kann man sehen, wie schnell dieser Handel den Wert verliert, wenn der Markt sinkt. Wenn der Markt sinkt -12, würde der Handel unter Wasser um 7.4k sein. Tatsächlich ist es schlimmer als das, da es keine Änderungen an Vega wegen des Tropfens berücksichtigt. Bei PM-Margining muss der Wert bei einem -12-Tropfen größer sein als Ihr Account8217s Nettoliquidität. Also, wenn Sie ein 1M Portfolio haben, könnten Sie 135 Verträge verkaufen. Aber da der Markt sinkt oder die Volatilität steigt, erhöht sich deine Berechnung -12 und du wirst in einen nahen Status gebracht werden. Testing Rules I8217m nicht zu versuchen, perfekt zu reproduzieren Karen8217s Trades, da das ist unmöglich 8211 aber stattdessen konzentrieren sich auf die Lebensfähigkeit der Verkauf von kurzen Puts. Speziell: Verkaufen Puts unter Verwendung von 50 von Margin Sell Puts bei 2SD Sell Puts zwischen 40-56 Tage bis zum Verfall Open 1 Handel pro Woche. Idealerweise auf einem großen Tag. Jeder Handel nutzt 25 der Handelszuteilung (oder 12,5 von Margin) Nur halten 4 offene Trades zu einem Zeitpunkt Close setzt früh, wenn sie 80 des Gewinns erreichen Returns sind zusammengesetzt. Ich nähere mich PM Margin als 30 Reg-T (2X was ich oben gefunden habe). Unter der idealen Situation sollten die Trades in ca. 4 Wochen bei 80 Gewinn geschlossen werden. Short Puts 8211 Keine Anpassungen Ich möchte mal sehen, wie schlimm kurz sein kann. Wenn du am Steuer schlief und nichts tat, um deine Position zu schützen, ist dein Konto eindeutig liquidiert und schnell. Beachten Sie, dass dies bei 50 Marge ist, aber ich habe sogar mit 25 Marge bei der Einrichtung der Trades gesehen, würde wahrscheinlich zu einem Margin Call führen. Short Puts 8211 Verkaufen bei 30 PITM 70 Wahrscheinlichkeit, OTM zu sein ist wichtig für die Karen8217s Strategie (oder 30 ITM). Es macht Sinn. Um diesen Punkt beginnt Gamma zu beschleunigen. Dieser Test wird einfach den Handel bei der Frage schließen, wenn das Delta des Puts gt 0,30 (eine Annäherung an 30 ITM) ist. Klar, das allein drastisch hilft, die Position zu schützen. Es gibt mehrere große Tropfen (-30-50), aber insgesamt ist die Strategie ziemlich rentabel aufgrund dieser langen Zeit in 2013-2014. Short Puts 8211 Roll Setzt sich bei 30 PITM Aber Karen schließt nicht einfach ihre Putten, sie rollt sie herunter, manchmal erhöht sie diese Positionen (wie ich es verstehe) und verkauft mehr Anrufe, um den Verlust zu machen. Dieser Test zeigt die Ergebnisse des Abbruchs der Puts und die Platzierung eines weiteren 2SD-Handels am selben Ablauf. Es ist interessant zu bemerken, dass dies die Sache noch schlimmer macht. Wie Abholung von Pennies vor einer Dampfwalze. Der Anfang 2008 Crash verliert 75 des Kontostatus. Die nachfolgenden Tropfen ähneln in der Größenordnung denen ohne die Rollen. Fazit Die Daten 20082009 müssen mit einem Körnchen Salz aufgenommen werden, da es keine Wochenzeitungen gab. Wenn der Absturz von 2008 heute passiert ist, denke ich, dass die Ergebnisse etwas besser sein würden aufgrund der Tatsache, dass Sie Ihr Volatilitätsrisiko über mehr Ausläufe verbreiten könnten. Ich war auch überrascht zu sehen, dass das Rollen noch schlimmer wurde. True, das ist keine Karen8217s Strategie. Sie verkauft auch Anrufe, aber ich weiß nicht, wie diese Anrufe diese Lücken ausmachen könnten. Berichten zufolge hat Karen 2008 einen Gewinn erwirtschaftet, aber ich bin mir nicht sicher, wie sie offenbart hat. I8217m nicht sicher, dass sie den gleichen Regeln folgte oder nicht. Sie folgte wahrscheinlich dem Trend und handelte weniger Putze mehr Anrufe auf dem Weg nach unten. Und wahrscheinlich im kleineren Maßstab. Fortsetzung folgt. Es wurde mir darauf hingewiesen, dass die Jungs bei TastyTrade ihre SunnySide Up Strategie nicht auf Aktien mit einem durchschnittlichen Volumen von weniger als 2M handeln. Ich erinnere mich an das Video, aber anscheinend ist es allgemein bekannt für diejenigen, die der Show folgen. Dies ist das überarbeitete Diagramm bei Berücksichtigung des Volumens. Das erste, was zu beachten ist, dass der ISRG-Handel nicht enthalten ist und das Konto einen Gewinn zeigt. Es gibt etwas weniger Trades, aber insgesamt sehe ich eine 93 Gewinnrate (25 Siege über 27 Trades). Dieser große Verlust war NFLX. Während das die Leistung zu diesem Punkt verwüstete, war die Erholung ziemlich schnell. Die zweite Sache zu beachten ist, dass diese Ergebnisse ziemlich genau passen, was TT in ihrem Video-Segment präsentiert. Für Grinsen, hier ist die 3-Jahres-Performance mit der zugrunde liegenden Schwelle auf 50 und das Volumen bei 2M: Dieser massive Tropfen ist nicht mehr NFLX (es ist der Tropfen gerade vorher) aber GMCR. Statt 27 Trades gab es 73 mit einem Gewinnverhältnis von 86 aber eine höhere durchschnittliche Rendite. Ich gebe normalerweise TastyTrade. Nicht weil sie nicht gut zufrieden sind, aber nur ich habe keine Zeit. Aber mehrmals hat diese SunnySide Up Strategie meinen Schreibtisch überquert. Ich beobachtete zunächst das Video, das den Handel beschrieb. Ich war interessiert. Es beschrieb einen Einkommenshandel, der gute Ergebnisse hatte, aber der Aufwärtstrend enthielt einen nackten kurzen Anruf. Ich papierte einige Trades und sah massive Blowouts (GMCR). Ich dachte, das ist viel zu riskant für mich. Dann überquerte ich meinen Schreibtisch wieder Monate später, ich dachte, ich würde ein paar mehr Papierhandels folgen und ich sah einen ziemlich großen Verlust wieder (SPLK diesmal). Aber klar war meine Stichprobengröße klein und vielleicht wählte ich sie falsch. Eine Sache, die mich wirklich über das Video stört, fehlt es an Details. Sie geben Ihnen Parameter und einige Statistiken, aber don8217t zeigen Ihnen PL Kurven oder Drawdowns. Wenn man bedenkt, dass es nackte Short-Positionen gibt, finde ich das zweifelhaft. Lass es testen Dieser Handel beinhaltet den Kauf eines ATM Stier Anruf verbreiten und verkaufen einen nackten Anruf, der 84 OTM am nächsten Verfall ist. Der nackte Ruf muss genügend Kredit für die Ausbreitung bezahlen. Der Handel wird direkt vor der Gewinnmitteilung platziert, und der Handel ist am nächsten Tag geschlossen. Beispiel mit LULU, um die Struktur zu zeigen. Wie sie im Video beschreiben, kann das Ergebnis eine von drei Möglichkeiten machen: up, down oder nirgendwo. Dieser Handel ermöglicht es Ihnen, eine Wette auf zwei von denen, die Erfassung der Volatilität Crush, aber lässt Sie stark ausgesetzt auf der dritten. Die Mehrheit der Einnahmen soll in den Erwartungen der Marktmacher liegen. Platzieren des nackten Anrufs 84 OTM platziert es außerhalb 1 SD des erwarteten Zuges. Ich finde besonders wie ungesicherte Positionen auf binären Ereignissen wie diese, aber das ist ein schönes Setup. Leckerer Handel zeigt die folgenden Ergebnisse für die Prüfung von 3 Jahren im Wert von Trades. Diese sehen aus wie schöne Ergebnisse, aber beachten Sie, dass sie nicht über diese beiden verlieren Trades sprechen, noch habe ich fangen, wie sie die Trades zuzuordnen. Ist es 1 Vertrag pro Handel oder bis zu X von Marge pro Handel. Ich gehe davon aus, dass sie etwa den gleichen Betrag pro Handel riskieren wollen. Da sie sehr teure Bestände erwähnen, und die Marge auf diesen ist sehr hoch, I8217ll übernehmen eine anfängliche maximale Marge von 20k pro Handel. I8217ll versuchen, an den gleichen Parametern wie TT zu bleiben. Sie erwähnen dies nur funktioniert auf teure Aktien, aber ich habe nicht den Schwellenpreis zu fangen, also werde ich mit einem Minimum von 100 zugrunde gehen. Ich werde auch das Delta auf dem Short-Call als Proxy für die ITM verwenden. Nicht perfekt, aber je näher der Ablauf, desto näher kommen diese Zahlen. Dies ist die Gewinn - und Verlustkurve für die letzten 3 Jahre bis 730 (im Moment habe ich Daten bis zu diesem Datum). Diese sind nicht kirschegelesene Ergebnisse. Das sind einfach die letzten 3 Jahre der Daten aus dem letzten Datenpunkt, den ich habe. Das ist ein ziemlich steiler Tropfen wegen ISRG8217s Einkommen. Ich habe die Ergebnisse in TOS8217s Denken überprüft: Sicher genug TOS bestätigt meine Ergebnisse. Außerdem zeigt TOS an diesem Tag einen IV-Rang von rund 85 für ISRG. Ich denke bei allen Konten, das ist ein Handel, der gut in ihre Parameter fällt. Aber es blies weg 3 Jahre im Wert von Gewinnen über Nacht. Wenn ich die zugrunde liegende Preisschwelle auf 50 ändere, bekomme ich folgende Ergebnisse: Eine viel felsigere Fahrt, aber zumindest profitabel. Aus Neugierde habe ich diesen Handel auch in den letzten 5 Jahren gesehen. Neugierig waren diese Handelsaufbauten vor 3 Jahren sehr schwer zu finden. Es war einfach nur in den kurzen Anrufen, was ich sehen kann. Schlussfolgerung Ich gebe frei zu, dass ich ziemlich konservativ bin, wenn es um den Handel geht. Ich mag Einkommensveranstaltungen, aber dieser Handel macht mich nervös. Zuerst sind die Rückkehr nicht so toll. Ich mag eine 2 Rückkehr über Nacht, aber die Handelsaufstellung ist schwer zu finden. Zweitens gibt es ein paar sehr große Verluste (ISRG, GOOG, GMCR, CMG, NFLX), die jeden Gewinn, den Sie haben könnten, überwältigen können. Wenn 3 Jahre Gewinne mit einem schlechten Handel vernichtet werden können, gut das8217s nur ein Handels-Setup ich don8217t wirklich wie. Sure schlechte Trades können in anderen Setups passieren und haben ähnliche Konsequenzen, aber das ist über Nacht. Es gibt keine Möglichkeit, diesen Handel innerhalb der Marktstunden zu verwalten. In dieser Woche werden wir uns die Implikationen anschauen, die impliziert, dass die Volatilität auf Eisen-Kondor-Trades liegt. Kann die implizite Volatilität ein guter Indikator dafür sein, wann und wo man einen Handel betreten soll Um zu beginnen, schauen wir uns die implizite Volatilität der ATM-Optionen für die RUT für die ersten drei Monate Abläufe in den letzten 9 Jahren an: Der Vormonat ist definitiv Flüchtiger, wie wir erwarten würden, aber die 2. und 3. Monate schauen, um einander genau zu verfolgen. Wir können sehen, dass das Minimum um 15 liegt und das Maximum in der Nachbarschaft von 70 ist. Beachten Sie, dass ich die implizite Volatilität der Optionskette als gewichteten Durchschnitt der ATM option8217s IVs berechne. Diese Tests werden die folgenden IV-Schwellenwerte verwenden: 0,10, 0,125, 0,15, 0,175, 0,20, 0,225, 0,25, 0,30, 0,40, 0,5, 0,6, 0,7 Hinweis Wie die Grafik zeigt, sollten wir keine Geschäfte mit einer IV unter 0,10 erwarten. Die Verwendung dieses Wertes dient als Sanitätsprüfung der Ergebnisse. IVs größer als Schwelle Der erste Testlauf nutzt die IV als Mindestschwelle für den Handel. Für Beispiele, Trades mit einem Minimum IV von 25 würde wahrscheinlich nicht in einen Handel eintreten, wenn dieser Artikel geschrieben wurde (IV ist um 16). Die obere Reihe sind die IVs. Das erste, was zu beachten ist, dass Trades, die eine IV über 30 benötigen, sind sehr schwer zu kommen. Trades über 30 traten weniger als 14 Mal in den letzten 10 Jahren. Die Daten, die oben für diese hohen Vol-Trades gezeigt werden, sind interessant, können aber aufgrund der sehr niedrigen Bevölkerungsgröße nicht gezählt werden. Aber es ist interessant zu bemerken, dass es einen Vorteil für niedrige Delta-Trades gibt, hat extrem hohe IVs über hohe Delta-Trades. Im Allgemeinen würde ich sagen, dass es marginale Wirkung bei der Verwendung von IV als die einzigen Einreisekriterien, bis die IV beginnt nördlich von 22,5. Zwischen einer IV von 22,5 und 30 gibt es eine signifikante Stichprobengröße und die IV-Schwelle, vor allem bei niedrigeren Deltas, scheint dem Handel zu nützen. Erwartete Rücksendungen über Minimum IV Bei Betrachtung eines Graphen der erwarteten Renditen auf der Grundlage einer minimalen IV-Schwelle können wir ein paar Muster sehen. Erstens, für die extrem hohen IV-Trades (die sehr selten sind), die niedrigen Delta Front Month Trades sehr gut durchführen, wie alle Deltas im 3. Monat. Aber auch hier basiert das auf einer sehr kleinen Stichprobengröße. Zweitens, viele Händler oft merken, dass Kondor Trades, wenn die IV unter 8216X8217 nicht lohnt sich. Wie ich das schreibe, sind die VIX und RVX auf extremen Tiefs, und dieser Kommentar ist eine häufig geteilte Stimmung. Aber nach diesen Daten geht es wirklich nicht auf. Die niedrigen IV-Trades machen gut Aber wir müssen noch ein paar Tests abwarten, um sicherzustellen, dass ihre Wirkung auf die niedrigen IV-Trades zurückzuführen ist und nicht von anderen High-IV-Trades gestützt wird. IVs Weniger als Schwelle Jetzt schauen wir uns die umgekehrte Situation an Was passiert, wenn wir eine obere Schwelle auf den Eintrag IV eines Handels setzen. Verbesserung des Profitfaktors durch maximale IV-Niveaus (IV in Spalten) Jetzt können wir sehen, dass die sehr niedrigen IV-Trades viel schwerer zu kommen, außer für den vorderen Monat. Die Einstellung einer maximalen IV-Schwelle kann ein Nachteil für hohe Delta-Front-Monats-Trades sein, aber weitgehend ist der Effekt marginal. Der vordere Monat, niedrige IV-Trades (d. h. unter 18) scheinen besser als die Grundlinie zu sein, die belegt, dass es gute IC-Trades in niedrigen Volatilitätsumgebungen geben kann. Die meisten der Trades im zweiten Monat haben marginale Wirkung. Aber der dritte Monat scheint nicht marginalen Verbesserungen in den Trades mit IV weniger als 20. IV Zwischen den Schwellenwerten Jetzt können wir uns die Kombination einer unteren und oberen Schwelle anschauen und sehen, ob irgendwelche Muster entstehen. Verbesserung des Profitfaktors zwischen gebundenen IV-Bereichen Wenn Sie nur innerhalb eines bestimmten Bereichs handeln würden, würden niedrigere IV-Umgebungen Ihnen einen Schub geben. Es gibt auch einige gute Szenarien im vorderen Monat mit IVs zwischen 25 und 50. Wenn du nur in den sehr hohen IV-Gebieten handeln willst, wirst du lange warten, um einen Handel zu initiieren, aber du bist auch am besten zu bedienen Der hintere Monat handelt. Von diesem Tisch aus können wir die größten Verbesserungen sehen: IV zwischen 13 und 18: Unteres Delta in jedem Monat. IV zwischen 18 und 20: Sehr niedrige Delta-Front-Monats-Trades oder niedrigere Delta-Trades im dritten Monat. IV zwischen 20 und 30: Es gibt keinen klaren Sieger. Die meisten Trades sehen geringfügig an. IV zwischen 30 und 50: Niedriger Delta Front Monat IV über 50: Dritter Monat Trades So8230 können wir damit helfen, bessere Positionen zu wählen. Erwartete Rückkehr mit beschränkten IV-Bereichen. Oben ist ein Hitzeschlag der erwarteten Renditen aller Trades mit beschränkten impliziten Volatilitäten. Diese Handlungen mit sehr geringer Anzahl von Trades sind rot eingefasst. Jede Spalte ist nach den besten und schlechtesten Darstellern für diesen IV-Bereich gefärbt. Beachten Sie den Trend in den hinteren Monaten: Hohe Delta-Trades schlechter und schlechter als die IV-Bereich erhöht wird, ohne extreme Ebenen. Heute sind die IVs der RUT 15.3, 16.6 und 17.9 von diesem Schreiben. Sie fallen alle in der zweiten Spalte. Nach diesen Daten kann es am vorteilhaftesten sein, einen Front-Month-Handel mit Deltas zwischen 15 und 22 zu betreten, oder einen Backmonat-Handel mit Deltas unter 22. Für mich, diese Art von zerstört den Glauben, dass es keine guten Renditen gibt Niedrige Volatilitätsumgebungen. In der Tat nach diesen Daten, die Front-Monat Trades in der 13 bis 20 Delta-Bereich aus durchgeführt, die in 20 bis 25. Ganz im Gegensatz zu dem, was ich verstehe viele zu glauben. ABER, diese Trades sind alle zum Verfall gehalten, und das ist in der Regel nicht praktiziert8230 Conclusion Low IV Umgebungen können nicht so schlimm sein, wie viele zu behaupten. In der Tat hat sich die Mid-IV-Reihe historisch gezeigt, dass sie etwas schlechter ausführt. Aber in beiden Fällen kann IV ein sehr nützliches Werkzeug bei der Auswahl des Monats und der schlägt zu geben. Glaub es oder nicht, dieser Test hat mich schon eine Weile gedauert. Ich dachte, es wäre trivial zu implementieren, aber ich fand immer interessante Nuggets zu untersuchen (sowie eine Menge Refactoring auf meine Codebasis). Aber die Anstrengung lohnt sich und ich kann diese Konzepte über eine breitere Basis von Instrumenten testen. Testdateien: Optionen Backtesting algo Optionen Backtesting algo Ich brauche einen Rat. Ich brauche eine Plattform oder Software, wo ich meine (wirklich einfache) Optionsstrategie testen kann. Ich habe bereits viele Arten von automatisierten Trading-Software verwendet. Allerdings sind alle von ihnen nicht Optionen freundlich. Was ich damit meine, ist, dass meine Strategie seit Jahren zurückgeht und bei den Geldoptionen zu diesem Zeitpunkt handelt. Also brauche ich alle Optionen Ketten zurück in der Zeit. Allerdings verlangen alle Backtesting-Pakete, die ich bisher benutzt habe, dass ich alle Instrumente zu meinen Instrumentenlisten hinzufügen oder alle Instrumente hinzufügen soll, die ich testen möchte. Stellen Sie sich vor, dass für 10 Exkursionen für 12 Monate für 10 Jahre. Also habe ich mich gefragt, ob es irgendeinen Dienstanbieter oder Software gibt, die mir erlauben würde, die Leistung eines Portfolios von Optionen im Backtesting-Modus zu verfolgen. Wieder nichts cool Kein Echtzeit-Handel erforderlich. Es ist nur um sicherzustellen, dass das, was ich will, tatsächlich funktioniert. Real-time trading I can implement later with the TradeLink, or even raw InteractiveBrokers API, etc. Have you tried ThinkOrSwim (TOS ) I use TOS for all my options trading. They have an OnDemand feature, which is a replay of the market that you could use to backtest. Also, they have Thinkback feature, which is more of a static testing tool than the OnDemand tool. I think you might find what you are looking for on TOS. Successful Backtesting of Algorithmic Trading Strategies - Part I This article continues the series on quantitative trading, which started with the Beginners Guide and Strategy Identification. Both of these longer, more involved articles have been very popular so Ill continue in this vein and provide detail on the topic of strategy backtesting . Algorithmic backtesting requires knowledge of many areas, including psychology, mathematics, statistics, software development and marketexchange microstructure. I couldnt hope to cover all of those topics in one article, so Im going to split them into two or three smaller pieces. What will we discuss in this section Ill begin by defining backtesting and then I will describe the basics of how it is carried out. Then I will elucidate upon the biases we touched upon in the Beginners Guide to Quantitative Trading. Next I will present a comparison of the various available backtesting software options. In subsequent articles we will look at the details of strategy implementations that are often barely mentioned or ignored. We will also consider how to make the backtesting process more realistic by including the idiosyncrasies of a trading exchange . Then we will discuss transaction costs and how to correctly model them in a backtest setting. We will end with a discussion on the performance of our backtests and finally provide an example of a common quant strategy, known as a mean-reverting pairs trade . Lets begin by discussing what backtesting is and why we should carry it out in our algorithmic trading. What is Backtesting Algorithmic trading stands apart from other types of investment classes because we can more reliably provide expectations about future performance from past performance, as a consequence of abundant data availability. The process by which this is carried out is known as backtesting . In simple terms, backtesting is carried out by exposing your particular strategy algorithm to a stream of historical financial data, which leads to a set of trading signals . Each trade (which we will mean here to be a round-trip of two signals) will have an associated profit or loss. The accumulation of this profitloss over the duration of your strategy backtest will lead to the total profit and loss (also known as the PL or PnL). That is the essence of the idea, although of course the devil is always in the details What are key reasons for backtesting an algorithmic strategy Filtration - If you recall from the article on Strategy Identification. our goal at the initial research stage was to set up a strategy pipeline and then filter out any strategy that did not meet certain criteria. Backtesting provides us with another filtration mechanism, as we can eliminate strategies that do not meet our performance needs. Modelling - Backtesting allows us to (safely) test new models of certain market phenomena, such as transaction costs, order routing, latency, liquidity or other market microstructure issues. Optimisation - Although strategy optimisation is fraught with biases, backtesting allows us to increase the performance of a strategy by modifying the quantity or values of the parameters associated with that strategy and recalculating its performance. Verification - Our strategies are often sourced externally, via our strategy pipeline . Backtesting a strategy ensures that it has not been incorrectly implemented. Although we will rarely have access to the signals generated by external strategies, we will often have access to the performance metrics such as the Sharpe Ratio and Drawdown characteristics. Thus we can compare them with our own implementation. Backtesting provides a host of advantages for algorithmic trading. However, it is not always possible to straightforwardly backtest a strategy. In general, as the frequency of the strategy increases, it becomes harder to correctly model the microstructure effects of the market and exchanges. This leads to less reliable backtests and thus a trickier evaluation of a chosen strategy. This is a particular problem where the execution system is the key to the strategy performance, as with ultra-high frequency algorithms. Unfortunately, backtesting is fraught with biases of all types. We have touched upon some of these issues in previous articles, but we will now discuss them in depth. Biases Affecting Strategy Backtests There are many biases that can affect the performance of a backtested strategy. Unfortunately, these biases have a tendency to inflate the performance rather than detract from it. Thus you should always consider a backtest to be an idealised upper bound on the actual performance of the strategy. It is almost impossible to eliminate biases from algorithmic trading so it is our job to minimise them as best we can in order to make informed decisions about our algorithmic strategies. There are four major biases that I wish to discuss: Optimisation Bias . Look-Ahead Bias . Survivorship Bias and Psychological Tolerance Bias . Optimisation Bias This is probably the most insidious of all backtest biases. It involves adjusting or introducing additional trading parameters until the strategy performance on the backtest data set is very attractive. However, once live the performance of the strategy can be markedly different. Another name for this bias is curve fitting or data-snooping bias. Optimisation bias is hard to eliminate as algorithmic strategies often involve many parameters. Parameters in this instance might be the entryexit criteria, look-back periods, averaging periods (i. e the moving average smoothing parameter) or volatility measurement frequency. Optimisation bias can be minimised by keeping the number of parameters to a minimum and increasing the quantity of data points in the training set. In fact, one must also be careful of the latter as older training points can be subject to a prior regime (such as a regulatory environment) and thus may not be relevant to your current strategy. One method to help mitigate this bias is to perform a sensitivity analysis . This means varying the parameters incrementally and plotting a surface of performance. Sound, fundamental reasoning for parameter choices should, with all other factors considered, lead to a smoother parameter surface. If you have a very jumpy performance surface, it often means that a parameter is not reflecting a phenomena and is an artefact of the test data. There is a vast literature on multi-dimensional optimisation algorithms and it is a highly active area of research. I wont dwell on it here, but keep it in the back of your mind when you find a strategy with a fantastic backtest Look-Ahead Bias Look-ahead bias is introduced into a backtesting system when future data is accidentally included at a point in the simulation where that data would not have actually been available. If we are running the backtest chronologically and we reach time point N, then look-ahead bias occurs if data is included for any point Nk, where k0. Look-ahead bias errors can be incredibly subtle. Here are three examples of how look-ahead bias can be introduced: Technical Bugs - Arraysvectors in code often have iterators or index variables. Incorrect offsets of these indices can lead to a look-ahead bias by incorporating data at Nk for non-zero k. Parameter Calculation - Another common example of look-ahead bias occurs when calculating optimal strategy parameters, such as with linear regressions between two time series. If the whole data set (including future data) is used to calculate the regression coefficients, and thus retroactively applied to a trading strategy for optimisation purposes, then future data is being incorporated and a look-ahead bias exists. MaximaMinima - Certain trading strategies make use of extreme values in any time period, such as incorporating the high or low prices in OHLC data. However, since these maximalminimal values can only be calculated at the end of a time period, a look-ahead bias is introduced if these values are used - during - the current period. It is always necessary to lag highlow values by at least one period in any trading strategy making use of them. As with optimisation bias, one must be extremely careful to avoid its introduction. It is often the main reason why trading strategies underperform their backtests significantly in live trading. Survivorship Bias Survivorship bias is a particularly dangerous phenomenon and can lead to significantly inflated performance for certain strategy types. It occurs when strategies are tested on datasets that do not include the full universe of prior assets that may have been chosen at a particular point in time, but only consider those that have survived to the current time. As an example, consider testing a strategy on a random selection of equities before and after the 2001 market crash. Some technology stocks went bankrupt, while others managed to stay afloat and even prospered. If we had restricted this strategy only to stocks which made it through the market drawdown period, we would be introducing a survivorship bias because they have already demonstrated their success to us. In fact, this is just another specific case of look-ahead bias, as future information is being incorporated into past analysis. There are two main ways to mitigate survivorship bias in your strategy backtests: Survivorship Bias Free Datasets - In the case of equity data it is possible to purchase datasets that include delisted entities, although they are not cheap and only tend to be utilised by institutional firms. In particular, Yahoo Finance data is NOT survivorship bias free, and this is commonly used by many retail algo traders. One can also trade on asset classes that are not prone to survivorship bias, such as certain commodities (and their future derivatives). Use More Recent Data - In the case of equities, utilising a more recent data set mitigates the possibility that the stock selection chosen is weighted to survivors, simply as there is less likelihood of overall stock delisting in shorter time periods. One can also start building a personal survivorship-bias free dataset by collecting data from current point onward. After 3-4 years, you will have a solid survivorship-bias free set of equities data with which to backtest further strategies. We will now consider certain psychological phenomena that can influence your trading performance. Psychological Tolerance Bias This particular phenomena is not often discussed in the context of quantitative trading. However, it is discussed extensively in regard to more discretionary trading methods. It has various names, but Ive decided to call it psychological tolerance bias because it captures the essence of the problem. When creating backtests over a period of 5 years or more, it is easy to look at an upwardly trending equity curve, calculate the compounded annual return, Sharpe ratio and even drawdown characteristics and be satisfied with the results. As an example, the strategy might possess a maximum relative drawdown of 25 and a maximum drawdown duration of 4 months. This would not be atypical for a momentum strategy. It is straightforward to convince oneself that it is easy to tolerate such periods of losses because the overall picture is rosy. However, in practice, it is far harder If historical drawdowns of 25 or more occur in the backtests, then in all likelihood you will see periods of similar drawdown in live trading. These periods of drawdown are psychologically difficult to endure. I have observed first hand what an extended drawdown can be like, in an institutional setting, and it is not pleasant - even if the backtests suggest such periods will occur. The reason I have termed it a bias is that often a strategy which would otherwise be successful is stopped from trading during times of extended drawdown and thus will lead to significant underperformance compared to a backtest. Thus, even though the strategy is algorithmic in nature, psychological factors can still have a heavy influence on profitability. The takeaway is to ensure that if you see drawdowns of a certain percentage and duration in the backtests, then you should expect them to occur in live trading environments, and will need to persevere in order to reach profitability once more. Software Packages for Backtesting The software landscape for strategy backtesting is vast. Solutions range from fully-integrated institutional grade sophisticated software through to programming languages such as C, Python and R where nearly everything must be written from scratch (or suitable plugins obtained). As quant traders we are interested in the balance of being able to own our trading technology stack versus the speed and reliability of our development methodology. Here are the key considerations for software choice: Programming Skill - The choice of environment will in a large part come down to your ability to program software. I would argue that being in control of the total stack will have a greater effect on your long term PL than outsourcing as much as possible to vendor software. This is due to the downside risk of having external bugs or idiosyncrasies that you are unable to fix in vendor software, which would otherwise be easily remedied if you had more control over your tech stack. You also want an environment that strikes the right balance between productivity, library availability and speed of execution. I make my own personal recommendation below. Execution CapabilityBroker Interaction - Certain backtesting software, such as Tradestation, ties in directly with a brokerage. I am not a fan of this approach as reducing transaction costs are often a big component of getting a higher Sharpe ratio. If youre tied into a particular broker (and Tradestation forces you to do this), then you will have a harder time transitioning to new software (or a new broker) if the need arises. Interactive Brokers provide an API which is robust, albeit with a slightly obtuse interface. Customisation - An environment like MATLAB or Python gives you a great deal of flexibility when creating algo strategies as they provide fantastic libraries for nearly any mathematical operation imaginable, but also allow extensive customisation where necessary. Strategy Complexity - Certain software just isnt cut out for heavy number crunching or mathematical complexity. Excel is one such piece of software. While it is good for simpler strategies, it cannot really cope with numerous assets or more complicated algorithms, at speed. Bias Minimisation - Does a particular piece of software or data lend itself more to trading biases You need to make sure that if you want to create all the functionality yourself, that you dont introduce bugs which can lead to biases. Speed of Development - One shouldnt have to spend months and months implementing a backtest engine. Prototyping should only take a few weeks. Make sure that your software is not hindering your progress to any great extent, just to grab a few extra percentage points of execution speed. C is the elephant in the room here Speed of Execution - If your strategy is completely dependent upon execution timeliness (as in HFTUHFT) then a language such as C or C will be necessary. However, you will be verging on Linux kernel optimisation and FPGA usage for these domains, which is outside the scope of this article Cost - Many of the software environments that you can program algorithmic trading strategies with are completely free and open source. In fact, many hedge funds make use of open source software for their entire algo trading stacks. In addition, Excel and MATLAB are both relatively cheap and there are even free alternatives to each. Now that we have listed the criteria with which we need to choose our software infrastructure, I want to run through some of the more popular packages and how they compare: Note: I am only going to include software that is available to most retail practitioners and software developers, as this is the readership of the site. While other software is available such as the more institutional grade tools, I feel these are too expensive to be effectively used in a retail setting and I personally have no experience with them. Backtesting Software Comparison Description: High-level language designed for speed of development. Wide array of libraries for nearly any programmatic task imaginable. Gaining wider acceptance in hedge fund and investment bank community. Not quite as fast as CC for execution speed. Execution: Python plugins exist for larger brokers, such as Interactive Brokers. Hence backtest and execution system can all be part of the same tech stack. Customisation: Python has a very healthy development community and is a mature language. NumPySciPy provide fast scientific computing and statistical analysis tools relevant for quant trading. Strategy Complexity: Many plugins exist for the main algorithms, but not quite as big a quant community as exists for MATLAB. Bias Minimisation: Same bias minimisation problems exist as for any high level language. Need to be extremely careful about testing. Development Speed: Pythons main advantage is development speed, with robust in built in testing capabilities. Execution Speed: Not quite as fast as C, but scientific computing components are optimised and Python can talk to native C code with certain plugins. Cost: FreeOpen Source Description: Mature, high-level language designed for speed of execution. Wide array of quantitative finance and numerical libraries. Harder to debug and often takes longer to implement than Python or MATLAB. Extremely prevalent in both the buy - and sell-side. Execution: Most brokerage APIs are written in C and Java. Thus many plugins exist. Customisation: CC allows direct access to underlying memory, hence ultra-high frequency strategies can be implemented. Strategy Complexity: C STL provides wide array of optimised algorithms. Nearly any specialised mathematical algorithm possesses a free, open-source CC implementation on the web. Bias Minimisation: Look-ahead bias can be tricky to eliminate, but no harder than other high-level language. Good debugging tools, but one must be careful when dealing with underlying memory. Development Speed: C is quite verbose compared to Python or MATLAB for the same algorithmm. More lines-of-code (LOC) often leads to greater likelihood of bugs. Execution Speed: CC has extremely fast execution speed and can be well optimised for specific computational architectures. This is the main reason to utilise it. Cost: Various compilers: LinuxGCC is free, MS Visual Studio has differing licenses. Different strategies will require different software packages. HFT and UHFT strategies will be written in CC (these days they are often carried out on GPUs and FPGAs ), whereas low-frequency directional equity strategies are easy to implement in TradeStation, due to the all in one nature of the softwarebrokerage. My personal preference is for Python as it provides the right degree of customisation, speed of development, testing capability and execution speed for my needs and strategies. If I need anything faster, I can drop in to C directly from my Python programs. One method favoured by many quant traders is to prototype their strategies in Python and then convert the slower execution sections to C in an iterative manner. Eventually the entire algo is written in C and can be left alone to trade In the next few articles on backtesting we will take a look at some particular issues surrounding the implementation of an algorithmic trading backtesting system, as well as how to incorporate the effects of trading exchanges. We will discuss strategy performance measurement and finally conclude with an example strategy. Just Getting Started with Quantitative Trading

Comments