Skip to main content

Python Forex Backtesting


Python Algorithmic Trading-Bibliothek PyAlgoTrade ist eine Python-Algorithmic Trading-Bibliothek mit Schwerpunkt auf Backtesting und Unterstützung für Papier-Trading und Live-Trading. Lets sagen, Sie haben eine Idee für eine Handelsstrategie und youd wie es mit historischen Daten zu bewerten und sehen, wie es sich verhält. PyAlgoTrade ermöglicht es Ihnen, dies mit minimalem Aufwand zu tun. Hauptmerkmale Vollständig dokumentiert. Ereignisgesteuert . Unterstützt Markt-, Limit-, Stop - und StopLimit-Aufträge. Unterstützt Yahoo Finanzen, Google Finanzen und NinjaTrader CSV-Dateien. Unterstützt alle Arten von Zeitreihen-Daten im CSV-Format, zB Quandl. Bitcoin-Trading-Unterstützung durch Bitstamp. Technische Indikatoren und Filter wie SMA, WMA, EMA, RSI, Bollinger Bands, Hurst Exponent und andere. Leistungsmesswerte wie Sharpe-Ratio und Drawdown-Analyse. Handling Twitter-Ereignisse in Echtzeit. Ereigniserfassung. TA-Lib-Integration. Sehr einfach skalierbar horizontal, das heißt, mit einem oder mehreren Computern zu Backtest einer Strategie. PyAlgoTrade ist kostenlos, Open Source, und es ist lizenziert unter der Apache-Lizenz, Version 2.0.Anwendung zur Backtest-Basis-Trading-Strategien für den FX-Markt, basierend auf historischen Daten. Dieser Code ist für Python 2.7 geschrieben und nicht mit Python 3 kompatibel. Voraussetzungen: Tkinter Zum Ausführen des Programms laden Sie alle Dateien herunter, pflegen die gleiche Verzeichnisstruktur und führen die Datei inputhandling. py aus dem Python-Interpreter aus. Die Parametereinstellungen sind wie folgt: StartEnd Datum: die Daten, die die zu testenden historischen Daten festlegen Anfangsablagerung: die Menge des Geldes (USD) im Brokerage-Konto, um mit TimeFrame zu beginnen: die Breite jedes Balkens der Historie Daten, die getestet werden sollen Dies ist der Zeitrahmen, der für jede Strategie verwendet wird Symbol: Unterstützung für nur EURUSD, USDJPY, GBPUSD und USDCHF mit eingeschlossenen Daten Position zu Handel: Beschränken Sie den Backtest nur auf Long-Positionen, Short-Positionen oder beide Trading Criterium: die Hauptstrategie, die verwendet wird, um historische Trades zu simulieren (Moving Average Crossover und Stochastics enthalten) Leverage (Margin): die maximale Leverage Ratio Bevorzugte Lotgröße: eine feste Losgröße, die gehandelt wird, wenn eine Position geöffnet wird. Wenn der freie Rand die Losgröße beschränkt, wird er während des Tests angepasst. Spread Modeling Technik: Durchschnittliche Spreads - davon ausgehen, dass die Spreads konstant bleiben während der gesamten historischen Daten Trade Management-Technik: TPSL - setzen Sie einen festen Gewinn-und Stop-Loss in Pips aus Einstiegspreis Preis SL - stellen Sie den Stop-Loss zu einem Prozentsatz des Preises und Aktualisieren jeden Balken Sobald diese Parameter eingegeben werden, wird das Programm einen rudimentären Backtest mit Bar-by-Bar-Analyse, um festzustellen, was die endgültige Kontostand werden. Dieses Programm kann durch Hinzufügen weiterer Handelsstrategien erweitert werden. Sie sollten die gleiche Schnittstelle wie die Moving Average und Stochastische Strategien implementieren. Sie können diese Aktion nicht zu diesem Zeitpunkt durchführen. Sie haben sich mit einem anderen Tab oder Fenster angemeldet. Aktualisieren Sie Ihre Sitzung neu. Sie haben sich in einem anderen Tab oder Fenster angemeldet. Aktualisieren Sie Ihre session. Backtest ein Moving Average Crossover in Python mit Pandas Im vorigen Artikel auf Research Backtesting-Umgebungen In Python Mit Pandas haben wir eine objektorientierte forschungsbasierte Backtesting-Umgebung erstellt und auf einer zufälligen Prognosestrategie getestet. In diesem Artikel werden wir nutzen die Maschinen, die wir eingeführt, um die Forschung über eine tatsächliche Strategie, nämlich die Moving Average Crossover auf AAPL. Moving Average Crossover-Strategie Die Moving Average Crossover-Technik ist eine äußerst bekannte simples Impulsstrategie. Es wird oft als die Hello World Beispiel für quantitative Handel. Die Strategie, wie hier skizziert, ist lang-nur. Zwei getrennte einfache gleitende Durchschnittsfilter werden mit variierenden Rückblickperioden einer bestimmten Zeitreihe erzeugt. Beim Kauf des Assets treten Signale auf, wenn der kürzere Lookback-Bewegungsdurchschnitt den längeren Lookback-Bewegungsdurchschnitt übersteigt. Wenn der längere Durchschnitt anschließend den kürzeren Durchschnitt übersteigt, wird der Vermögenswert zurückgekauft. Die Strategie funktioniert gut, wenn eine Zeitreihe einen starken Trend eintritt und dann langsam den Trend rückgängig macht. Für dieses Beispiel habe ich Apple, Inc. (AAPL) als Zeitreihe mit einem kurzen Rückblick von 100 Tagen und einem langen Rückblick von 400 Tagen gewählt. Dies ist das Beispiel der zipline algorithmischen Handelsbibliothek. Wenn wir also unseren eigenen Backtester implementieren wollen, müssen wir sicherstellen, dass er die Ergebnisse in Zipline, als ein grundlegendes Mittel der Validierung entspricht. Implementierung Bitte folgen Sie dem vorherigen Tutorial. Die beschreibt, wie die anfängliche Objekthierarchie für den Backtester konstruiert wird, andernfalls funktioniert der nachfolgende Code nicht. Für diese spezielle Implementierung habe ich die folgenden Bibliotheken verwendet: Die Implementierung von macross. py erfordert backtest. py aus dem vorherigen Tutorial. Der erste Schritt ist, die notwendigen Module und Objekte zu importieren: Wie im vorherigen Tutorial werden wir die abstrakte Basisklasse Strategy unterteilen, um MovingAverageCrossStrategy zu produzieren. Die alle Details enthält, wie die Signale erzeugt werden, wenn die sich bewegenden Mittelwerte von AAPL einander kreuzen. Das Objekt benötigt ein kurzes Fenster und ein langes Fenster. Die Werte wurden auf Standardwerte von 100 Tagen bzw. 400 Tagen gesetzt, wobei es sich um dieselben Parameter handelt, die im Hauptbeispiel der Zipline verwendet werden. Die gleitenden Mittelwerte werden durch die Verwendung der Pandas-Rollmechanik auf den BarsClose-Schlusskurs der AAPL-Aktie erstellt. Sobald die einzelnen Bewegungsdurchschnitte konstruiert worden sind, wird die Signalserie dadurch erzeugt, daß die Säule gleich 1,0 gesetzt wird, wenn der kurzlebige Durchschnitt größer ist als der lang fortschreitende Durchschnitt oder 0,0 sonst. Daraus können Positionsaufträge generiert werden, um Handelssignale darzustellen. Das MarketOnClosePortfolio wird von Portfolio subklassen. Die in backtest. py gefunden wird. Es ist fast identisch mit der im vorherigen Tutorial beschriebenen Implementierung, mit der Ausnahme, dass die Trades nun auf einer Close-to-Close-Basis statt einer Open-to-Open-Basis durchgeführt werden. Einzelheiten darüber, wie das Portfolio-Objekt definiert ist, finden Sie im vorherigen Tutorial. Ive ließ den Code in für Vollständigkeit und dieses Tutorium in sich geschlossen halten: Nun, da die MovingAverageCrossStrategy und MarketOnClosePortfolio Klassen definiert worden sind, wird eine Hauptfunktion aufgerufen, um alle Funktionalität zusammen zu binden. Darüber hinaus wird die Performance der Strategie über eine Handlung der Eigenkapitalkurve untersucht. Das Pandas DataReader-Objekt lädt OHLCV-Preise für AAPL-Aktien für den Zeitraum vom 1. Januar 1990 bis zum 1. Januar 2002 herunter, wobei an diesem Punkt die Signale DataFrame erzeugt werden, um die Langzeitsignale zu erzeugen. Anschließend wird das Portfolio mit einer Stammkapitalzuführung von 100.000 USD erstellt und die Erträge auf der Eigenkapitalkurve berechnet. Der letzte Schritt ist die Verwendung von matplotlib, um einen zweidimensionalen Plot der beiden AAPL-Kurse, überlagert mit den sich bewegenden Durchschnitten und buysell Signale, sowie die Equity-Kurve mit den gleichen buysell Signale. Der Plot-Code wird aus dem Zipline-Implementierungsbeispiel genommen (und modifiziert). Die grafische Ausgabe des Codes ist wie folgt. Ich benutzte den IPython-Einfüge-Befehl, um diesen direkt in die IPython-Konsole zu legen, während in Ubuntu, so dass die grafische Ausgabe in Sicht blieb. Die rosafarbenen upticks stellen Kauf der Vorlage dar, während die schwarzen downticks Vertretung verkaufen es zurück: Wie gesehen werden kann, verliert die Strategie Geld über dem Zeitraum mit fünf Hin - und Rücktransaktionen. Dies ist nicht überraschend angesichts des Verhaltens der AAPL in der Periode, die auf einem leichten Abwärtstrend war, gefolgt von einem erheblichen Aufschwung, der 1998 begann. Die Rückblickperiode der gleitenden durchschnittlichen Signale ist ziemlich groß und dieses beeinflußte den Profit des abschließenden Geschäfts , Die sonst die Strategie rentabel gemacht haben könnte. In nachfolgenden Artikeln werden wir ein anspruchsvolleres Verfahren zur Leistungsanalyse erstellen sowie die Optimierung der Rückblickperioden der einzelnen gleitenden Durchschnittssignale beschreiben.

Comments

Popular posts from this blog

Erwerben Sie Forex Handelspunkt

Var Mov Durchschnittliche Bewegung Durchschnittliche MetaTrader Indikator mdash obwohl it39s auf der gleitenden Durchschnitt basiert, es doesn39t verwenden alle Standard-MT4MT5 gleitenden durchschnittlichen Indikatoren. Es verwendet eine eigene Formel, um den gleitenden Durchschnitt mit einem komplexen Rauschfilter zu berechnen, um genauere Signale zu erzeugen. Die Anzeige zeigt im Hauptdiagrammfenster genau über der Preiskurve die gestrichelte Linie. Die wechselnden Farben der Punkte signalisieren Trendveränderungen. Die Anzeige kann Signaltöne bei Trendänderungen signalisieren, die Sie ein - und ausschalten können. Die Anzeige ist sowohl für MT4 als auch für MT5 verfügbar. Eingabeparameter: periodAMA (Standard 50) mdash Periode der wichtigsten benutzerdefinierten gleitenden Durchschnitt. Im Gegensatz zu anderen MAs, die höher ist diese Zahl, desto weniger glatt die Linie ist. Nfast (Standardwert 15) mdash erster Rauschfilterparameter. Höhere Werte machen den Indikator weniger empfind...

Backtesting Trading Strategien Frei

SmartQuant ist ein Finanzsoftware-Unternehmen, das End-to-End-Algo-Handelsinfrastruktur für quantitative Hedgefonds und institutionelle Handelsgruppen entwickelt. OpenQuant und seine nächste Generation, OpenQuant2014. SmartQuants aktuelle Flaggschiff-Produkt, ist ein Algorithmic und Automated Trading System (ATS) Development Platform. OpenQuant verfügt über eine IDE (Integrated Development Environment), die Quants und Trader mit einer industriellen Stärke Strategie Forschung, Entwicklung, Debugging, Backtesting, Simulation, Optimierung und Automatisierung bietet. QuantDesk ist eine komplette End-to-End-Lösung für einen Quant-Fonds jeder Größe. Es beinhaltet OpenQuant IDE. QuantRouter, QuantBooster, QuantBase (Marktdaten-Server mit Echtzeit-Feed-Capture und zentrales historisches Datenmanagement), QuantTrader (Production Deployment Engine für automatisierte Handelsstrategien mit OpenQuant) und QuantController . Eine Server-Anwendung, die die QuantDesk ergänzt, um eine effiziente Verwalt...

Forex Ikh

Erweiterte Strategien Eingereicht von Edward Revy am 28. Januar 2007 - 08:11. Zusammen mit Forex komplexen Handelsstrategien dieser Seite wird erwartet, dass allmählich offenbaren unsere so genannte Forex erweiterte Handelsstrategien. Diese Strategien haben einen starken Hintergrund, solide theoretische Basis und wird bekannt, dass wir Handelstechniken und Regeln von erfahrenen Forex-Händler verwendet bekannt. Wir werden auch handelnde Strategien teilen, die wir in unserer Forex-Handelspraxis verwenden. Vergessen Sie nicht, unsere Haftungsausschlussrichtlinie zu lesen. Denken Sie auch daran, dass jeder Handel Risiken beinhaltet und es gibt kein Handelssystem, das immun gegen Verluste ist. Ihre Erfahrung kann leicht mit einem verlieren Handel beginnen, so bevor Sie auf ein System, stellen Sie sicher, dass Sie es gut getestet. Ihre Disziplin ist und bleibt der Schlüssel zum Erfolg. Befolgen Sie die Regeln streng, wenn geändert, schreiben Sie diese Änderungen nach unten und nicht ändern, ...