Forex Backtesting Platform




Forex Backtesting PlatformDatenmanagement / Backtesting / Strategie-Implementierung: - Aktien, Optionen, Futures, Wahrungen, Korbe und benutzerdefinierte synthetische Instrumente werden unterstutzt - Mehrere Low-Latency-Daten-Feeds werden unterstutzt (Verarbeitungsgeschwindigkeiten in Millionen von Nachrichten pro Sekunde auf Terabyte Daten) C und. NET basierte Strategie Backtesting und Optimierung - Multiple Broker Ausfuhrung unterstutzt, Trading-Signale in FIX-Auftrage umgesetzt QuantFACTORY - Datenmanagement / Backtesting / Strategie-Implementierungslosung: - QuantDEVELOPER - Framework und IDE fur Trading-Strategien Entwicklung, Debugging, Backtesting und Optimierung, verfugbar als Visual Studio Plug-In - QuantDATACENTER - ermoglicht die Verwaltung eines historischen Data-Warehouse und die Erfassung von Echtzeit - oder Ultra-Low-Latency-Marktdaten von Anbietern und Borsen - QuantENGINE - ermoglicht die Implementierung und Ausfuhrung vorkompilierter Strategien - Multi-Asset, Multi-Period-Low-Latency-Daten, Multi-Broker unterstutzt Institutional-Class Datenmanagement / Backtesting / Strategie-Implementierung Losung: - OpenQuant - C und VisualBasic. NET Portfolio-Level-System Backtesting und Handel, Multi-Asset-, Intraday-Ebene Prufung, Optimierung, WFA etc. QuantBase - zentrales Datenmanagement - QuantRouter - Daten - und Orderrouting Institutionelle Datenverwaltung / Backtesting / Strategie-Implementierungslosung: - Multi-Asset-Losung, mehrere Daten-Feeds unterstutzt, Datenbank unterstutzt Jede Art von RDBMS, die eine JDBC-Schnittstelle bereitstellt, z Oracle, Microsoft SQL Server, Sybase, MySQL, etc. - Kunden konnen IDE verwenden, um ihre Strategie entweder in Java, Ruby oder Python zu skriptieren oder sie konnen ihre eigene Strategie verwenden IDE - Multiple Broker Ausfuhrung unterstutzt, Handel Signale in FIX - Losung: - Multi-Asset-Losung (Forex, Optionen, Futures, Aktien, ETFs, Rohstoffe, synthetische Instrumente und benutzerdefinierte Derivat-Spreads usw.), Unterstutzung mehrerer Daten-Feeds - Framework fur Handelsstrategienentwicklung, Debugging , Backtesting und Optimierung - Trading-Signale in FIX-Auftrage umgesetzt (IB, JPMorgan, FXCM etc.) Dedizierte Softwareplattform integriert mit Tradestations-Daten fur Backtesting und Auto-Trading: - tagliche Intraday-Daten (US-Aktien fur 43 Jahre, Futures Fur 61 Jahre) - praktisch zum Backtesting von preisbasierten Signalen (technische Analyse), Unterstutzung der EasyLanguage Programmiersprache - Unterstutzung von US-Aktien ETFs, Futures, US-Indizes, deutsche Aktien, Deutsche Indizes, Forex-frei fur Tradestation Brokerage-Kunden - 249,95 monatlich fur Non (Nur Tradestation-Software-Plattform, ohne Brokerage) Dedizierte Software-Plattform fur Backtesting und Auto-Trading: - Unterstutzung von taglichen / intraday-Strategien, Portfolio-Testen und Optimieren, Visualisierung, kundenspezifisches Reporting, Multi-Threaded-Analyse, 3D-Charting, WFA-Analyse etc. - optimal fur Backtesting von preisbasierten Signalen (technische Analyse) - direkte Verbindung zu eSignal, interaktiven Brokern, IQFeed, myTrack, FastTrack, QP2 und TC2000 Feed, MS, txtfiles und mehr (Yahoo Finanzen. ) - einmalige Gebuhr 279 fur die Standardausgabe oder 339 fur die Professional Edition Dedizierte Softwareplattform fur Backtesting und Auto-Trading: - Portfolio-Backtesting und Trading, Multi-Asset, Intraday-Testing, Optimierung, Visualisierung etc. - Auto-Trading in Perl Skriptsprache mit allen zugrundeliegenden Funktionen, die in nativem C geschrieben wurden, vorbereitet fur Server-Co-Location - native FXCM - und Interactive Brokers-Unterstutzung - kostenlose FXCM-Unterstutzung, 100 pro Monat fur IB-Plattform, kontaktieren Sie Salesseertrading fur weitere Optionen Dedizierte Softwareplattform fur Backtesting und Auto-Trading: - Unterstutzung von taglichen / Intraday-Strategien, Tests und Optimierung auf Portfolioebene - optimal fur Backtesting von preisbasierten Signalen (technische Analyse), C-Scripting - unterstutzte Softwareerweiterungen - Datenzufuhrbehandlung, Strategieausfuhrung etc. - 799 pro Lizenz, 150 jahrliche Gebuhr nach Dedizierter Softwareplattform fur Backtesting, Optimierung, Performance-Attribution und Analytics: - Axioma - oder Drittanbieter-Datenfaktorenanalyse, Risikomodellierung, Marktzyklusanalyse Dedizierte Softwareplattform fur Backtesting und Auto-Trading: (Technische Analyse), Unterstutzung von taglichen / intraday-Strategien, Tests und Optimierung auf Portfolioebene - Turtle Edition - Backtesting-Engine, Graphen, Berichte, EoD-Tests - Professional Edition - plus Systemeditor, Walk-Forward-Analyse, Intraday-Strategien, Multithread-Tests etc. - Pro Plus Edition 2,990 - Builder Edition 3,990 Dedizierte Softwareplattform fur Backtesting und Auto-Trading: - Pro Plus Edition - plus 3D-Surface-Charts, Skripting etc. - Builder Edition - IB-API, Debugger etc. - Turtle Edition 990 - - Unterstutzung von taglichen / intraday-Strategien, Portfolio-Tests und - Optimierung, Charting, Visualisierung, benutzerdefinierte Berichte etc. - am besten fur Backtesting von preisbasierten Signalen (technische Analyse) - direkter Link zu Interactive Brokern, MB Trading, TD Ameritrade, FXCM und anderen (EoD-Funktionalitat) - kostenlos - erweiterte Funktionalitat - Leasing aus 50 / Monat oder 995 Lizenzen Lizenz Dedizierte Software-Plattform fur Backtesting und Auto-Trading: - am besten fur Unterstutzung fur C / Visual Basic. NET - direkter Link zu interaktiven Brokern, IQFeed, txtfiles und mehr (Yahoo Finance . ) - Dauerlizenz - 499 - Leasing 50 pro Monat Dedizierte Softwareplattform fur Backtesting und Auto-Trading: - Unterstutzung von taglichen / intraday-Strategien, Portfolio-Test und - Optimierung, Charting, Visualisierung, Custom Reporting - technische und auch fundamentale Signale, Multi-Asset Support - 245 fur die erweiterte Version (freie Datenanbieter) - 595 fur die Premium-Version (Unterstutzung mehrerer Datenprovider und Broker) Dedizierte Softwareplattform fur Backtesting und Auto-Trading: - Unterstutzung von taglichen / intraday-Strategien, Tests auf Portfolioebene und Optimierung - am besten fur Backtesting (Technische Analysen) - Einbaudaten fur Aktien, Futures und Forex (taglich US-Aktien ab 1990, tagliche Futures 31 Jahre, Forex ab 1983 etc.) - Preiskalkulation von 45 / Monat bis 295 / Monat (Preise abhangig von Datenverfugbarkeit) Dedizierte Softwareplattform fur Backtesting und Auto-Trading: - verwendet MQL4-Sprache, die hauptsachlich fur den Handel mit Forex-Markt verwendet wird - unterstutzt mehrere Forex-Broker und Datenfeeds - unterstutzt die Verwaltung mehrerer Accounts Dedizierte Softwareplattform fur Backtesting und Auto-Trading: - Unterstutzung (Technische Analyse), Unterstutzung fur EasyLanguage Programmiersprache - Unterstutzung mehrerer Datenfeeds (Bloomberg, Thomson Reuters, CSI, CQG, eSignal etc.), direkte Unterstutzung fur Multicharts Pro 9,900 (Bloomberg Thomson Reuters Daten-Feed etc.) Webbasiertes Backtesting-Tool zum Testen von Stock-Picking-Strategien: - US-Aktien ETFs (taglich) - Point - In-time Fundamentaldaten seit 1999 - lange / kurze Strategien, Preise / Fundamentaldaten angetriebene Signale - Designer - 139 / Monat - Manager - 199 / Monat - Komplette Funktionalitat Webbasiertes Backtesting-Tool zum Testen von Stock Picking Strategien: - US-Aktien (taglich) Fundamentaldaten seit 1988 - Preise / Fundamentaldaten angetriebene Signale - Strategist - 995 / Jahr (Daten seit 2000, 10 gespeicherte Portfolios) - Manager - 1.995 / Jahr - (vollstandige Funktionalitat, Daten seit 1988, 50 gespeicherte Portfolios) Web Basierte Backtesting-Tool: - US-Aktienkurse (taglich / intraday), seit 1998 Daten von QuantQuote - Forex-Daten von FXCM - Unterstutzung von Trader Interactive Brokers fur Live Trading Webbasiertes Backtesting-Tool: - US-Aktien und ETFs-Preise (taglich / Seit 2002 - Grunddaten von Morningstar (uber 600 Metriken) - Unterstutzung von interaktiven Brokern fur Live Trading Webbasierte Backtesting-Tools: - einfach zu bedienen, Asset Allocation Strategien, Daten seit 1992 - Zeitreihenimpuls und gleitende Durchschnittsstrategien auf ETFs - Simple Momentum und Einfache Value Stock-Picking-Strategien Web-basierte Backtesting-Tool: - bis zu 25 Jahre Daten fur 49 Futures und SP500 Aktien - Toolbox in Python und Matlab - Quantiacs Hosts algorithmische Handelswettbewerbe mit Investitionen von 500k bis 1 Million Web / Cloud basierte Backtesting-Tool: - FX (Forex / Wahrung) Daten zu den Hauptpaaren, zuruck zu 2007 - Zweite / Minute / Stundlich / Tagliche Balken - Live-Handel kompatibel mit jedem Broker, der Metatrader 4 als Backend verwendet Webbasiertes Backtesting / Screening-Tool: - uber 10 000 US-Aktien, Daten bis zu 20 Jahre Geschichte - grundlegende technische Kriterien - kostenlos - eingeschrankte Funktionalitat (1 Jahr Daten, keine gesicherten Backtests etc.) - 50 pro Monat - volle Funktionalitat Webbasiertes Backtesting-Tool zum Testen von Equity Factor Picking und Asset Allocation Strategien: - Multi-Equity-Faktoren mit bewahrtem Alpha uber Markt-Cap-Benchmarks, Multi-Investment-Universen, Risikomanagement-Filter - Asset Allocation Strategien Backtests, Mischen Asset Allocation und Factor Picking in ein Portfolio - kostenlos auf SP 100 Universum - 50 / Jahr - breitere US-Investmentuniversen, britische EU-Aktien, Asset Allocation Strategien MATLAB - Hochsprachen - und interaktive Umgebung fur statistische Berechnungen und Grafik: - Parallel - und GPU-Computing, Backtesting und Optimierung, umfangreiche Integrationsmoglichkeiten etc. - Preis auf Anfrage Hier Freie Softwareumgebung fur statistische Berechnungen und Grafiken, viele Quants bevorzugen es fur seine au?ergewohnliche offene Architektur und Flexibilitat: - effektive Datenverarbeitung und Speicherung, grafische Moglichkeiten fur die Datenanalyse, leicht erweiterbar uber Pakete - empfohlene Erweiterungen - Quantstrat, Kostenlose Open-Source-Programmiersprache, offene Architektur, flexibel, leicht erweiterbar uber Pakete: - empfohlene Erweiterungen - Pandas (Python Data Analysis Library), pyalgotrade (Python Algorithmic Trading-Bibliothek), Zipline, Ultrafinance etc. BacktestingXL Pro ist ein Add-in fur den Aufbau und die Prufung Ihrer Handelsstrategien in Microsoft Excel 2010 und 2013: - Benutzer konnen VBA verwenden, um Strategien fur BacktestingXL Pro zu bauen, VBA-Wissen ist optional, konnen Benutzer konstruieren Trading-Regeln auf einer Kalkulationstafel unter Verwendung von vorgefertigten Backtesting-Codes - unterstutzt Pyramidierung, Short - / Long-Positionslimitierung, Provisionsberechnung, Equity Tracking, Out-of-Money-Controlling, Kauf / Verkaufspreis-Customizing - Mehrere Performance - / Risikoberichte - 74,95 fur BacktestingXL Pro Web-basierte Backtesting-Tool: - einfach zu bedienen, Entry-Level-Web-basierte Backtesting-Tool zum Testen der relativen Starke und gleitende durchschnittliche Strategien auf ETFs - verschiedene Arten von Strategien fur kostenlose, komplette Backtesting-Funktionalitat 34,99 monatlich FactorWave ist einfach zu bedienen Web - basiertes Backtesting-Tool fur Faktorinvestitionen: - erlaubt dem Anwender, mehrere ETF / Optionen / Futures / Equity-Faktoren mit bewahrtem Alpha uber Markt-Cap-Benchmarks zu mischen - kostenlos - ETF / Stock Screener mit 5 Faktoren - 149 / Futures-Strategien, vix-Strategien Web-basiertes Tool - freie Aktienbewertungen, saisonale Analyse, Charts Grundlagen - Freie Freemium-Modell Kostenlose webbasierte Backtesting-Tool, um Stock Picking-Strategien zu testen: - US-Aktien, Daten von ValueLine von 1986-2014 - Preis-und Fundamentaldaten , 1700 Aktien, monatlicher Granularitats-TestChoosing eine Plattform fur Backtesting und automatisierte Ausfuhrung In diesem Artikel wird das Konzept der automatisierten Ausfuhrung diskutiert werden. Im Gro?en und Ganzen ist dies der Prozess, der es ermoglicht, uber eine elektronische Handelsplattform eine Handelsstrategie zu schaffen, um ohne weitere menschliche Eingriffe Handelsausfuhrungssignale zu erzeugen. Die meisten Systeme, die bisher auf QuantStart diskutiert wurden, wurden als automatisierte Ausfuhrungsstrategien implementiert. Der Artikel beschreibt Softwarepakete und Programmiersprachen, die sowohl Backtesting als auch automatisierte Ausfuhrungsfahigkeiten bereitstellen. Die erste Uberlegung ist, wie man Backtest einer Strategie. Meine personliche Ansicht ist, dass kundenspezifische Entwicklung einer Backtesting-Umgebung in einer erstklassigen Programmiersprache bietet die meisten Flexibilitat. Umgekehrt muss eine vom Hersteller entwickelte integrierte Backtesting-Plattform immer Annahmen uber die Durchfuhrung von Backtests machen. Trotzdem ist die Auswahl der verfugbaren Programmiersprachen gro? und vielfaltig, was oft uberwaltigend sein kann. Es ist nicht offensichtlich, vor der Entwicklung, die Sprache wahrscheinlich geeignet sein wird. Bei der Kodifizierung einer Strategie in systematische Regeln muss der quantitative Handler zuversichtlich sein, dass die zukunftige Performance der Vergangenheit widerspiegelt. Es gibt in der Regel zwei Arten von Backtesting-System, die verwendet werden, um diese Hypothese zu testen. Im Gro?en und Ganzen sind sie als Research-Back-Tester und Event-driven Backtester kategorisiert. Wir betrachten benutzerdefinierte Backterters versus Vendor-Produkte fur diese beiden Paradigmen und sehen, wie sie vergleichen. Bei der Identifizierung algorithmischer Handelsstrategien ist es in der Regel unnotig, alle Aspekte der Marktinteraktion vollstandig zu simulieren. Stattdessen konnen Annaherungen vorgenommen werden, die eine schnelle Ermittlung der potenziellen Strategieperformance ermoglichen. Solche Forschungsinstrumente oft unrealistische Annahmen uber Transaktionskosten, wahrscheinlich fullen Preise, Shorting Constraints, Veranstaltungsort Abhangigkeit, Risikomanagement und Position Sizing. Trotz dieser Mangel kann die Leistungsfahigkeit solcher Strategien noch effektiv bewertet werden. Gemeinsame Werkzeuge fur die Forschung gehoren MATLAB, R, Python und Excel. Diese Software-Pakete Schiff mit Vektorisierung Fahigkeiten, die schnelle Ausfuhrungsgeschwindigkeit und einfachere Strategie Umsetzung ermoglichen. MATLAB und Pandas sind Beispiele fur vektorisierte Systeme. Mit solchen Forschungsinstrumenten ist es moglich, mehrere Strategien, Kombinationen und Varianten auf schnelle, iterative Weise zu testen, ohne dass eine realistische Marktinteraktionssimulation vollstandig ausgeklammert werden muss. Wahrend solche Tools oft sowohl fur Backtesting und Ausfuhrung verwendet werden, sind diese Forschungsumgebungen in der Regel nicht geeignet fur Strategien, die Intraday-Handel mit hoheren Frequenzen auf Sub-Minutenskala Ansatz. Diese Bibliotheken neigen nicht dazu, in der Lage, effektiv eine Verbindung zu Echtzeit-Markt-Daten-Anbieter oder Schnittstelle mit Brokerage-APIs in einer robusten Weise. Trotz dieser Ausfuhrungsschwachen werden Forschungsumgebungen in der professionellen quantitativen Handelsbranche stark genutzt. Sie bieten den ersten Entwurf fur alle Strategieideen vor der Forderung zu rigoroseren Kontrollen innerhalb einer realistischen Backtesting-Umgebung. Event-Driven Backtesting Sobald eine Strategie in der Forschung als geeignet erachtet wird, muss sie realistischer beurteilt werden. Dieser Realismus versucht, die Mehrheit (wenn nicht sogar alle) der in fruheren Posten beschriebenen Fragen zu berucksichtigen. Die ideale Situation ist, denselben Handelsgenerierungscode fur historisches Backtesting sowie Live-Ausfuhrung nutzen zu konnen. Dies geschieht uber einen ereignisgesteuerten Backtester. Ereignisgesteuerte Systeme sind weit verbreitet in der Software-Entwicklung, haufig fur die Handhabung grafische Benutzeroberflache (GUI) Eingang in Windows-basierte Betriebssysteme verwendet. Sie sind auch ideal fur den algorithmischen Handel, da der Begriff der Echtzeit-Marktauftrage oder Trade-Fills als Ereignis verkapselt werden kann. Solche Systeme werden oft in Hochleistungssprachen wie C, C und Java geschrieben. Betrachten Sie eine Situation, in der eine automatisierte Handelsstrategie mit einem Echtzeit-Markt-Feed und einem Broker verbunden ist (diese beiden konnen ein und dasselbe sein). Neue Marktinformationen werden an das System gesendet, das ein Ereignis auslost, um ein neues Handelssignal und somit ein Ausfuhrungsereignis zu erzeugen. Diese Systeme laufen in einer Endlosschleife, die darauf wartet, Ereignisse zu empfangen und entsprechend zu behandeln. Es ist moglich, Unterkomponenten wie einen historischen Datenhandler und Brokerage-Simulator zu generieren, die ihre Live-Pendants nachahmen konnen. Dies ermoglicht Backtesting-Strategien in einer Weise ahnlich wie die Live-Ausfuhrung. Der Nachteil solcher Systeme liegt in ihrer komplizierten Konstruktion im Vergleich zu einem einfacheren Forschungswerkzeug. Daher ist die Markteinfuhrung langer. Sie sind anfalliger fur Bugs und erfordern eine gute Kenntnisse der Programmierung und Software-Entwicklung Methodik. Latenz In der Technik ist die Latenzzeit als das Zeitintervall zwischen einer Simulation und einer Antwort definiert. Im quantitativen Handel bezieht sie sich im Allgemeinen auf die Round-Trip-Zeitverzogerung zwischen der Erzeugung eines Ausfuhrungssignals und dem Empfang der Fullinformation von einem Broker, der die Ausfuhrung ausfuhrt. Eine derartige Latenz ist selten ein Thema bei niederfrequenten Interday-Strategien. Die erwartete Kursbewegung wahrend der Latenzzeit wird die Strategie nicht wesentlich beeinflussen. Das gleiche gilt nicht fur hoherfrequente Strategien, bei denen Latenz extrem wichtig wird. Das ultimative Ziel in HFT ist es, die Latenz so weit wie moglich zu reduzieren Schlupf zu reduzieren. Eine Verringerung der Latenzzeit erfordert eine Minimierung der Distanz zwischen dem algorithmischen Handelssystem und der ultimativen Borse, auf der ein Auftrag ausgefuhrt wird. Dies kann eine Verkurzung der geografischen Distanz zwischen den Systemen zur Folge haben, wodurch die Reisezeiten entlang der Netzwerkverkabelung reduziert werden. Es kann auch die Reduzierung der Verarbeitung in Netzwerk-Hardware oder die Auswahl einer Brokerage mit einer anspruchsvolleren Infrastruktur. Viele Makler konkurrieren auf Latenz, um Geschaft zu gewinnen. Sinkende Latenz wird exponentiell teurer als Funktion der Internet-Distanz, die als Netzwerk-Abstand zwischen zwei Servern definiert ist. Somit mu? fur einen Hochfrequenztrader ein Kompromi? zwischen dem Aufwand der Latenzreduzierung und dem Gewinn aus der Minimierung des Schlupfes erreicht werden. Diese Themen werden im Abschnitt Colocation unten besprochen. Sprachauswahl Einige Probleme, die die Sprachwahl treiben, wurden bereits umrissen. Nun werden die Vorteile und Nachteile der einzelnen Programmiersprachen betrachtet. Ich habe breit kategorisiert die Sprachen in High-Performance / hartere Entwicklung vs niedrigere Performance / einfachere Entwicklung. Diese sind subjektive Begriffe und einige werden nicht zustimmen, je nach ihrem Hintergrund. Einer der wichtigsten Aspekte der Programmierung einer benutzerdefinierten Backtesting-Umgebung ist, dass der Programmierer mit den verwendeten Tools vertraut ist. Fur diejenigen, die neu in der Programmiersprache Landschaft sind die folgenden klaren, was neigt dazu, innerhalb des algorithmischen Handels genutzt werden. C, C und Java C, C und Java sind alle Beispiele fur allgemeingultige objektorientierte Programmiersprachen. Dies bedeutet, dass sie ohne eine entsprechende integrierte Entwicklungsumgebung (IDE) verwendet werden konnen, alle plattformubergreifend sind, uber eine breite Palette an Bibliotheken fur nahezu jede erdenkliche Aufgabe verfugen und eine rasche Ausfuhrungsgeschwindigkeit bei korrekter Nutzung ermoglichen. Wenn die endgultige Ausfuhrungsgeschwindigkeit erwunscht ist, ist C (oder C) wahrscheinlich die beste Wahl. Es bietet die meisten Flexibilitat fur die Verwaltung von Speicher und Optimierung der Ausfuhrungsgeschwindigkeit. Diese Flexibilitat kommt zu einem Preis. C ist schwierig, gut zu lernen und kann oft zu subtilen Bugs fuhren. Entwicklungszeit kann viel langer dauern als in anderen Sprachen. Trotz dieser Mangel ist es in der Finanzindustrie durchdringend. C und Java sind ahnlich, da sie beide erfordern, dass alle Komponenten Objekte mit Ausnahme von primitiven Datentypen wie Floats und Ganzzahlen sind. Sie unterscheiden sich von C durch die automatische Garbage Collection. Garbage Collection fugt einen Performance Overhead aber fuhrt zu einer schnelleren Entwicklung. Diese Sprachen sind beide gute Entscheidungen fur die Entwicklung eines Backtests, da sie native GUI-Fahigkeiten, numerische Analyse-Bibliotheken und schnelle Ausfuhrungsgeschwindigkeit haben. Ich personlich benutze C fur die Erstellung von ereignisgesteuerten Rucktransmittern, die eine extrem schnelle Ausfuhrungsgeschwindigkeit benotigen, wie fur HFT-Systeme. Dies ist nur, wenn ich fuhlte, dass ein python-ereignisgesteuertes System Engpass war, da die letztere Sprache meine erste Wahl fur ein solches System ware. MATLAB, R und Python MATLAB ist eine kommerzielle IDE fur numerische Berechnungen. Es hat sich breite Akzeptanz in der akademischen, Ingenieur-und Finanzsektor. Es hat viele numerische Bibliotheken fur die wissenschaftliche Berechnung. Es besitzt eine rasche Ausfuhrungsgeschwindigkeit unter der Annahme, dass jeder entwickelte Algorithmus einer Vektorisierung oder Parallelisierung unterliegt. Trotz dieser Vorteile ist es teuer macht es weniger attraktiv fur Einzelhandler auf ein Budget. MATLAB wird manchmal fur die direkte Ausfuhrung zu einem Brokerage wie Interactive Brokers verwendet. R ist eine dedizierte Statistik-Scripting-Umgebung. Es ist frei, Open-Source, Cross-Plattform und enthalt eine Fulle von frei verfugbaren statistischen Pakete fur die Durchfuhrung extrem fortgeschrittene Analyse. R ist sehr verbreitet in der akademischen Statistik und der quantitativen Hedgefonds-Industrie eingesetzt. Wahrend es moglich ist, R mit einem Brokerage zu verbinden, ist fur die Aufgabe nicht gut geeignet und sollte eher als ein Forschungsinstrument betrachtet werden. Es fehlt auch die Ausfuhrungsgeschwindigkeit, wenn die Operationen nicht vektorisiert werden. Ive gruppiert Python unter dieser Uberschrift, obwohl es irgendwo zwischen MATLAB, R und die oben genannten Allzweck-Sprachen sitzt. Es ist frei, Open-Source und Cross-Plattform. Sie wird im Gegensatz zu kompiliert interpretiert. Die es nativ langsamer als C. Aber es enthalt eine Bibliothek fur die Durchfuhrung fast jeder Aufgabe vorstellbar, von der wissenschaftlichen Berechnung bis hin zu Low-Level-Web-Server-Design. Insbesondere enthalt es NumPy, SciPy, pandas, matplotlib und scikit-learn, die eine robuste numerische Forschungsumgebung bieten, die bei Vektorisierung vergleichbar mit der kompilierten Sprachausfuhrungsgeschwindigkeit ist. Python besitzt auch Bibliotheken fur den Anschluss an Broker. Dies macht es zu einem One-Stop-Shop fur die Schaffung eines ereignisgesteuerten Backtesting und Live-Ausfuhrung Umwelt, ohne in andere, komplexere Sprachen. Ausfuhrungsgeschwindigkeit ist mehr als ausreichend fur Intraday-Handler, die auf der Zeitskala von Minuten und daruber handeln. Python ist sehr einfach zu holen und zu lernen, wenn im Vergleich zu niedrigeren Ebenen Sprachen wie C. Aus diesen Grunden machen wir umfangreiche Verwendung von Python in QuantStart Artikel. Integrierte Entwicklungsumgebungen Der Begriff IDE hat mehrere Bedeutungen innerhalb des algorithmischen Handels. Software-Entwickler verwenden es, um eine GUI, die Programmierung mit Syntax-Highlighting, Datei-Browsing, Debugging und Code-Ausfuhrung Features ermoglicht bedeutet. Algorithmische Handler verwenden es, um eine voll integrierte Backtesting / Trading-Umfeld mit historischen oder Echtzeit-Daten-Download, Charting, statistische Auswertung und Live-Ausfuhrung bedeuten. Fur unsere Zwecke verwende ich den Begriff, um jede Backtest / Trading-Umgebung, oft GUI-basiert, die nicht als eine universelle Programmiersprache. Excel Wahrend einige Quant-Handler konnen Excel als unangemessen fur den Handel zu betrachten, habe ich festgestellt, dass es au?erst nutzlich fur die Gesundheitsprufung der Ergebnisse. Die Tatsache, dass alle Daten direkt im Klartext zur Verfugung stehen, macht es einfach, sehr einfache Signal - / Filterstrategien zu implementieren. Brokerage wie Interactive Brokers erlauben auch DDE-Plugins, die es Excel erlauben, Echtzeit-Marktdaten zu erhalten und Handelsauftrage auszufuhren. Trotz der Benutzerfreundlichkeit Excel ist extrem langsam fur jede vernunftige Skala von Daten oder der Ebene der numerischen Berechnung. Ich benutze es nur zur Fehlerprufung bei der Entwicklung gegen andere Strategien. Insbesondere ist es au?erst praktisch, zu prufen, ob eine Strategie einer Vorgriffs-Bias unterliegt. Dies ist einfach zu erkennen in Excel aufgrund der Kalkulationstabellen-Art der Software. Wenn Sie mit Programmiersprachen unbequem sind und eine interday-Strategie durchfuhren, dann kann Excel eine gute Wahl sein. Commercial / Retail Backtesting Software Der Markt fur Retail-Charting, technische Analyse und Backtesting-Software ist extrem wettbewerbsfahig. Zu den von einer solchen Software angebotenen Funktionen zahlen die Echtzeit-Chartierung der Preise, eine Fulle von technischen Indikatoren, ma?geschneiderte Backtesting-Sprachen und automatisierte Ausfuhrung. Einige Anbieter bieten eine All-in-One-Losung wie TradeStation. TradeStation ist eine Online-Brokerage, die Trading-Software (auch bekannt als TradeStation), die elektronische Bestellung Ausfuhrung uber mehrere Asset-Klassen. Ich bin derzeit nicht bewusst eine direkte API fur automatisierte Ausfuhrung. Stattdessen mussen Auftrage uber die GUI-Software platziert werden. Dies ist im Gegensatz zu Interactive Brokern, die eine schlankere Handelsschnittstelle (Trader WorkStation) haben, aber bieten sowohl ihre eigenen Real-Time Market / Order Execution APIs und eine FIX-Schnittstelle. Eine weitere sehr beliebte Plattform ist MetaTrader. Die im Devisenhandel zur Schaffung von Expert Advisors verwendet wird. Dies sind benutzerdefinierte Skripts in einer proprietaren Sprache, die fur automatisierte Handel verwendet werden kann geschrieben. Ich habe nicht viel Erfahrung mit entweder TradeStation oder MetaTrader, so dass ich nicht zu viel Zeit verbringen zu diskutieren ihre Verdienste. Solche Werkzeuge sind nutzlich, wenn Sie nicht vertraut mit tiefer gehenden Software-Entwicklung und wunschen eine Menge der Details zu kummern. Allerdings ist bei solchen Systemen viel Flexibilitat geopfert und Sie sind oft an eine einzige Brokerage gebunden. Open-Source und Web-basierte Tools Die beiden aktuellen popularen web-basierten Backtesting-Systeme sind Quantopian und QuantConnect. Der erstere Gebrauch von Python (und ZipLine, siehe unten), wahrend die letztere nutzt C. Beide bieten eine Fulle von historischen Daten. Quantopian unterstutzt derzeit Live-Handel mit Interactive Brokers, wahrend QuantConnect auf Live-Handel arbeitet. Algo-Trader ist ein Schweizer Unternehmen, das sowohl eine Open-Source - als auch eine kommerzielle Lizenz fur ihr System anbietet. Von dem, was ich sammeln kann das Angebot scheint recht ausgereift und sie haben viele institutionelle Kunden. Das System ermoglicht vollstandige historische Backtesting und komplexe Event-Verarbeitung und sie binden in Interactive Brokers. Die Enterprise Edition bietet wesentlich hohere Leistungsmerkmale. Marketcetera bieten ein Backtesting-System, das in vielen anderen Sprachen wie Python und R binden konnen, um Code, den Sie bereits geschrieben haben konnten, zu nutzen. Das Strategy Studio bietet die Moglichkeit, Backtesting-Code sowie optimierte Ausfuhrungsalgorithmen und anschlie?end den Ubergang vom historischen Backtest zum Live-Papierhandel zu schreiben. Ich havent verwendet sie vorher. ZipLine ist die Python-Bibliothek, die den oben genannten Quantopian-Dienst unterstutzt. Es ist ein vollstandig ereignisgesteuertes Backtest-Umfeld und unterstutzt derzeit US-Aktien auf minutioser Basis. Ich havent gemacht umfangreichen Gebrauch von ZipLine, aber ich kenne andere, die glauben, dass es ein gutes Werkzeug ist. Es gibt noch viele Bereiche zu verbessern, aber das Team arbeitet standig an dem Projekt und es ist sehr aktiv gepflegt. Es gibt auch einige Github / Google Code gehostete Projekte, die Sie vielleicht anschauen mochten. Ich habe nicht viel Zeit damit verbracht, sie zu untersuchen. Zu diesen Projekten gehoren OpenQuant. TradeLink und PyAlgoTrade. Institutionelle Backtesting-Software Institutionelle Backtesting-Systeme wie Deltix und QuantHouse werden nicht oft von Handelsalgorithmen verwendet. Die Softwarelizenzen liegen in der Regel au?erhalb des Budgets fur Infrastruktur. Davon abgesehen, wird diese Software weit verbreitet von Quant-Fonds, proprietaren Handelshausern, Familienburos und dergleichen verwendet. Die Vorteile dieser Systeme sind klar. Sie bieten eine All-in-One-Losung fur Datenerfassung, Strategieentwicklung, historisches Backtesting und Live-Ausfuhrung uber einzelne Instrumente oder Portfolios bis hin zur Hochfrequenz. Solche Plattformen haben umfangreiche Tests und viel in der Feldnutzung und so gelten als robust. Die Systeme sind ereignisgesteuert und die Backtesting-Umgebungen konnen die Live-Umgebungen oftmals mit hoher Genauigkeit simulieren. Die Systeme unterstutzen auch optimierte Ausfuhrungsalgorithmen, die versuchen, die Transaktionskosten zu minimieren. Dies ist insbesondere fur Handler mit einer gro?eren Kapitalbasis von Nutzen. Ich muss zugeben, dass ich nicht viel Erfahrung mit Deltix oder QuantHouse gehabt habe. Davon abgesehen, das Budget allein macht sie aus der Reichweite der meisten Einzelhandler, so werde ich nicht auf diese Systeme zu bleiben. Colocation Die Softwarelandschaft fur den algorithmischen Handel wurde nun befragt. Wir konnen jetzt unsere Aufmerksamkeit auf die Umsetzung der Hardware, die unsere Strategien ausfuhren wird. Ein Einzelhandler wird wahrscheinlich ausfuhren ihre Strategie von zu Hause wahrend der Marktstunden. Dazu gehort das Einschalten des PCs, das Anschlie?en an den Broker, die Aktualisierung der Marktsoftware und die automatische Ausfuhrung des Algorithmus wahrend des Tages. Umgekehrt wird eine professionelle Quant-Fonds mit erheblichen Assets under Management (AUM) eine dedizierte Exchange-colocated Server-Infrastruktur haben, um Latenz so weit wie moglich zu reduzieren, um ihre Hochgeschwindigkeitsstrategien auszufuhren. Home Desktop Der einfachste Ansatz fur Hardware-Bereitstellung ist einfach, eine algorithmische Strategie mit einem Home-Desktop-Computer mit dem Brokerage uber eine Breitband-Verbindung (oder eine ahnliche Verbindung) durchzufuhren. Wahrend dieser Ansatz ist einfach, um loszulegen leidet es viele Nachteile. Die Desktop-Maschine unterliegt Stromausfall, es sei denn, sie wird von einer USV gesichert. Daruber hinaus ist eine Internet-Internet-Verbindung auch an der Gnade des ISP. Verlust oder Internet-Konnektivitat Ausfall konnte zu einem entscheidenden Zeitpunkt im Handel auftreten, so dass der algorithmische Handler mit offenen Positionen, die nicht geschlossen werden konnen. Dieses Problem tritt auch bei Betriebssystem-obligatorischen Neustarts (dies ist mir tatsachlich in einer professionellen Einstellung passiert) und Komponenten-Fehler, die zu den gleichen Problemen fuhrt. Aus den oben genannten Grunden zogere ich, einen Home-Desktop-Ansatz zu algorithmischen Handel empfehlen. Wenn Sie sich entscheiden, diesen Ansatz zu verfolgen, stellen Sie sicher, dass sowohl ein Backup-Computer UND eine Backup-Internetverbindung (z. B. ein 3G-Dongle), die Sie verwenden konnen, um Positionen unter einer Ausfallzeit Situation zu schlie?en. VPS Die nachste Ebene von einem Home-Desktop ist die Nutzung eines virtuellen privaten Server (VPS). Ein VPS ist ein Remoteserver-System, das oft als Cloud-Service vermarktet wird. Sie sind viel gunstiger als ein entsprechender dedizierter Server, da ein VPS tatsachlich eine Partition eines viel gro?eren Servers ist. Sie verfugen uber eine virtuelle, isolierte Betriebssystemumgebung, die fur jeden einzelnen Benutzer verfugbar ist. CPU-Last wird von mehreren VPS gemeinsam genutzt und ein Teil der Systeme RAM wird dem VPS zugewiesen. Dies geschieht durch einen Prozess, der als Virtualisierung bekannt ist. Haufige VPS-Anbieter sind Amazon EC2 und Rackspace Cloud. Sie bieten Einstiegs-Systeme mit niedrigem RAM und grundlegende CPU-Auslastung bis zu Enterprise-ready hohen RAM, hohe CPU-Servern. For the majority of algorithmic retail traders the entry level systems suffice for low-frequency intraday or interday strategies and smaller historical data databases. The benefits of a VPS-based system include 24/7 availability (albeit with a certain realistic downtime), more robust monitoring capabilities, easy plugins for additional services, such as file storage or managed databases and a flexible architecture. One drawback is the ongoing expense. As the system grows dedicated hardware becomes cheaper per unit of performance. This price point assumes colocation away from an exchange. Compared to a home desktop system latency is not always improved by choosing a VPS provider. Your home location may be closer to a particular financial exchange than the data centres of your cloud provider. This is mitigated by choosing a firm that provide VPS services geared specifically for algorithmic trading which are located at or near exchanges. These will likely cost more than a generic VPS provider such as Amazon or Rackspace. Exchange Colocation In order to get the best latency minimisation it is necessary to colocate dedicated servers directly at the exchange data centre. This is a prohibitively expensive option for nearly all retail algorithmic traders unless theyre very well capitalised. It is really the domain of the professional quantitative fund or brokerage. As I mentioned above a more realistic option is to purchase a VPS system from a provider that is located near an exchange. As can be seen, there are many options for backtesting, automated execution and hosting a strategy. Determining the right solution is dependent upon budget, programming ability, degree of customisation required, asset-class availability and whether the trading is to be carried out on a retail or professional basis. Strategy Backtesting Platforms To the point, I am currently testing several software package for backtesting strategies to choose the best one to use for a big project. I have to say that I have been away from such details for the past 2-3 years and I am sure my information is outdated and I need a refresher from the experts here who are using the current software packages and their experiences. I am testing/demoing/trying the following packages right now (So, please if you have any feedback about any of them, it would be much appreciated to post a detailed reply): 1- Matlab 2- Trading Blox 3- MultiCharts 4- Trade Station 5- AmiBroker 6- NinjaTrader Now, I know that most of the mentioned packages and platforms are mainly retail ones and they will be as good as retail usage for all tiers, however, I am open to institutional packages as well, if any member here does have a previous experience with one (Just to clarify, institutional packages means platforms used by hedge funds or prop desks in large banks). No talk about MT (Metatrader) or Metastock please as I will not be using any of them. MT uses some variation of C and I am not willing to learn C as I dont have time. Metastock, I already tried and I have to say its rubbish, very basic, limited and a lot of constrains, so it wont fit even a mid-tier retail needs. I have used Matlab back in my old engineering days and I have to say its a very handy tool, but again it will require a lot of code management and I am trying to minimize the coding as much as possible. Here is what I am looking for in the backtesting platform, so if you have already experienced this in one of the above mentioned or in another platform not mentioned, your feedback is much appreciated: 1- The platform must be precise, accurate and as realistic as possible in backtesting, i. e. backtesting strategies as close as possible to reality 2- System design and construction must be as flexible as possible, allowing for all components and conditions to be created and with the possibility to link those components together, i. e. the package must offer the possibility of components dependency For example, when simulating entries, one has to have the ability to construct the rules of the entries based on any possible condition or set of conditions, dependent or independent, without removing the possibility of integrating the entry component from other system components. To clarify this, lets say that a strategy has a simple entry rule, which is going long when the price crosses above its 20-EMA by 1 on an intraday basis, however, if the past 3 consecutive trades lost money, the entry rule should be crossing above the 20-EMA by 1.35 instead and if the past 2 consecutive trades were winners with an average of 15 profit or more, the entry rule should be crossing above the 20-EMA by 0.5 only. I hope you got my point. The same applies not only to entry rules, but also to stop loss exits and profit exits. 3- Position sizing component/conditions can be constructed by any set of conditions or rules. As an example, if I need the position sizing to be dynamic based on the percentage difference between the price and a 250-EMA, I must be able to do this, where 100 of the position to be taken when the price is above/below the 250-EMA by 1 and position size decreases incrementally by 10 for every 1 step away from the 250-EMA in either directions. Needles to say that position sizing custom formula calculation must be supported and I must have the ability to use data from the equity curve serially to dynamically change the position size of next trades. Another very important thing in supporting position sizing calculations is to have the ability to use the calculated probabilities from results at a certain point to adjust position sizing according to a formula. As an example, lets say that I will be using a certain position sizing formula for the first 100 trades and then based on the account value after those 100 trades and the distribution of those 100 trades, I will be using different position sizing formulas afterwards. To elaborate: If after the first 100 trades, the account value grew by 30 or more and the first 100 trades were 60 winners and 40 losers, win/loss ratio of 2.5/1, I need to have the ability to use another position sizing formula in this case for the next 100 trades and so on. The main idea behind this, is that as you go, the system expectancy changes over time as you take on more and more trades and the basic concept is that if your system expectancy is getting better, you want to lift up your position size and make the most out of the enhanced expectancy and if your system expectancy is getting worse, you need to cut down your position size and trade smaller since when the system expectancy gets better, you are practically getting more rewards for each dollar you risk and vice-versa. 4- Execution details/conditions must be as flexible as possible and very close to real-life situations allowing for a variable or formula based slippage. The execution must also support formulas to precisely determine where and how to enter taking into consideration volume and liquidity (To be defined by formulas and filters) 5- Multiple system testing at the same time on multiple instruments must be supported, i. e. if I have 3 different trading systems and 100 instruments to trade based on the systems conditions, the package must allow for back testing all 3 trading systems among the 100 instruments at the same time, taking trades in the order they come based on the rules of the 3 systems and then combine the results in a single portfolio, as if the package is simulating a scan on a daily basis for the 100 instruments to see which system generated signals and execute the signals based on the system programmed conditions and so on managing multiple positions at the same time 6- Reporting and testing results must be comprehensive and exportable to excel. Basic statistical metrics must be included besides the profitability of the system or the combination of systems being tested. Equity curve data must be exportable to excel as well. Basic equity curve measures like max. drawdown, and average monthly drawdowns, variability of returns and standard deviation of the equity curve data, etc. are preferred to be present within the package 7- Optimization for 1 or more variables should be part of the package and the package should be able to optimize for non-standard variables, like optimize to achieve the min. drawdown, etc. 8- The package must have the ability to get data either from a real-time or automatic source, or manually through csv or excel files. It has to support continuous futures contracts data as well as options data 9- Financial Instruments to be supported are stocks, options, futures and OTC FX data and fields to be supported in the package database are Timestamp, open, high, low, close, volume, bid, bid volume, ask, ask volume, settlement price and open interest Finally, sorry for the long post and sorry that I kept you reading all this. Your feedback is really really appreciated. Joined Jan 2005 Status: Happy Forum Member 1,152 Posts Thanks a lot Sti for your reply and for your offer as well, very generous from you. Time is a bit limited here thats why I am leaving the programming option as the last one if I didnt find a ready-made package which is good for what I am looking for. So far, out of all the packages I mentioned, Trading Blox looks good for what I am looking for, not the exact match, but it seems fine, but I will not compromise on quality and features anyway, so still need more in-depth testing. Thanks again and will keep in touch. I fully understand where youre coming from with your first post. But, I really believe that for the requirements that you state, youll have to take a different route. I do not think there will be any package out of the box (other than the ones you mentioned) that will be able to meet such requirements. I do a lot of testing myself and had the need for backtesting a lot of things. In the end i wrote my own backtesting software in c. I understand that you stated that youre not keen on going this road, but. im really affraid.