Tuesday 7 November 2017

Backtesting Excel Devisenhandel


Vor der Verwendung von speziellen Tools für Back-Tests schlage ich vor, dass man versucht die MS Excel Pivot-Tabelle zuerst. Das Pivot-Tisch-Tool ist ideal für Inspektion, Filterung und Analyse großer Datensätze. In diesem Artikel werde ich vorstellen, wie eine einfache Timing-basierte Strategie zu erstellen und wie seine historische Leistung zu berechnen. Im folgenden werde ich zeigen, wie eine Analyse wie die vorherige Post zu erstellen: 8220Sell im Mai und Go Away 8211 Really 8220. Schritt 1: Erhalten Sie die Daten Zuerst müssen wir die Daten für die Analyse zu erhalten. Wir wenden uns an Yahoo, um den Dow-Jones Index abzurufen (siehe Liste der Marktdatenquellen für andere Quellen). Irgendwie verbirgt Yahoo Finance den Download-Button für den Dow-Jones-Index. Aber es ist leicht zu erraten, die richtige Link: Speichern Sie diese Datei auf Festplatte. Dann öffnen Sie es mit MS Excel 2010 und wir fahren mit dem nächsten Schritt fort. Schritt 2: Spalten für Leistung und Indikator hinzufügen Nun fügen wir in dieser Datei die Log-Return (Spalte 8220Return8221) für jeden Tag in der Zeitreihe hinzu: Dann fügen wir den Indikator der Handelsstrategie 8211 in diesem Fall nur den Monat hinzu Des Jahres: Schließlich fügen wir einen Gruppenindikator hinzu: Dekade Schritt 3: Hinzufügen von Pivot-Tabellensortdaten in Tabelle Pivot-Tabellenwerkzeuge - gt Optionen - gt Summenwert durch - gt Summe Schritt 4: Bedingte Formatierung Um einen Überblick über die Daten in der Pivot-Tabelle formatieren wir die Werte in 8220Percent Style8221 und 8220Conditional Formatting8221: Home - gt Styles - gt Bedingte Formatierung Schritt 5: Berechnen der tatsächlichen Leistung Die Summe der Log-Rückkehr in der Pivot-Tabelle ist ein guter Indikator für die Leistung von Eine Handelsstrategie. Allerdings kann die Leistungsfähigkeit leicht aus den Log-Returns erhalten werden durch: Nun sind Sie bereit: Jede Zelle enthält die Performance des Dow-Jones Index am Anfang zu kaufen und am Ende eines jeden Monats zu verkaufen. Haben Sie Spaß mit Ihren eigenen Studien Sie finden eine ausführliche Studie über die Leistungen der verschiedenen Monate in den wichtigsten Indizes hier. Schlussfolgerung Back-Test von einfachen Trading-Strategien ist einfach mit Excel Pivot-Tabellen. Während fortgeschrittenere Strategien in der Regel ein spezialisierteres Softwarepaket erfordern (wie wir im MACD Back-Test sehen), führen fünf einfache Schritte zu tieferen Einsichten einer zeitgesteuerten Strategie. Wenn die Datenreihe groß wird, kann man die gleichen Schritte mit MS Power Pivot durchführen. Ein kostenloses MS Excel Add-In mit Datenbankzugriff. Post navigation Lassen Sie eine Antwort Antworten abbrechen Nice post. Ich bin froh, auf diesem Blog zu landen. Lassen Sie mich Ihnen Folgendes vorschlagen: Um die tatsächliche Leistung in der Pivot-Tabelle zu sehen, fügen Sie einfach ein berechnetes Feld aus dem Menü: Optionen gt Felder, Items, Ampsets gt Berechnet Field8230 Dann beschriften Sie es 8220p8221 und geben Sie die Formel ein. 8220 EXP (Return) -18221 Sie können dieses Feld schließlich zum Wertebereich hinzufügen, um das 8220Sum von p8221 rechts in der Tabelle zu erhalten. Ja, Sie haben Recht Das ist viel besser als das Duplizieren der Tabelle. Ich aktualisiere diesen Beitrag asap.06172013 Neueste Version von TraderCode (v5.6) enthält neue technische Analyse Indikatoren, Point-and-Figure Charting und Strategie Backtesting. 06172013 Neueste Version von NeuralCode (v1.3) für Neural Networks Trading. 06172013 ConnectCode Barcode Font Pack - ermöglicht Barcodes in Office-Anwendungen und enthält ein Add-In für Excel, das die Massenerzeugung von Barcodes unterstützt. 06172013 InvestmentCode, eine umfassende Palette von Finanzrechnern und Modellen für Excel ist ab sofort verfügbar. 09012009 Einführung von Free Investment und Financial Calculator für Excel. 0212008 Release von SparkCode Professional - Add-In zur Erstellung von Dashboards in Excel mit Sparklines 12152007 Ankündigung von ConnectCode Duplicate Remover - ein leistungsfähiges Add-In zum Finden und Entfernen von doppelten Einträgen in Excel 09082007 Einführung von TinyGraphs - Open Source Add-In zur Erstellung von Sparklines und winzigen Diagrammen in Excel. Strategien Backtesting in Excel Strategien Backtesting Expert Der Backtesting Expert ist ein Tabellenkalkulationsmodell, mit dem Sie Handelsstrategien mithilfe der technischen Indikatoren erstellen und die Strategien durch historische Daten ausführen können. Die Performance der Strategien kann dann schnell und einfach gemessen und analysiert werden. Während des Backtesting-Prozesses durchläuft der Backtesting Expert die historischen Daten zeilenweise von oben nach unten. Jede angegebene Strategie wird bewertet, um zu ermitteln, ob die Einreisebedingungen erfüllt sind. Wenn die Bedingungen erfüllt sind, wird ein Handel eingegeben. Wenn andererseits die Austrittsbedingungen erfüllt sind, wird eine Position, die zuvor eingegeben wurde, verlassen. Verschiedene Variationen von technischen Indikatoren können generiert und kombiniert werden, um eine Handelsstrategie zu bilden. Das macht den Backtesting Expert zu einem äußerst leistungsstarken und flexiblen Werkzeug. Backtesting Expert Der Backtesting Expert ist ein Tabellenkalkulationsmodell, das Ihnen erlaubt, Trading-Strategien unter Verwendung der technischen Indikatoren zu erstellen und die Strategien durch historische Daten laufen zu lassen. Die Performance der Strategien kann dann schnell und einfach gemessen und analysiert werden. Das Modell kann eingerichtet werden, um in Long - oder Short-Positionen einzutreten, wenn bestimmte Bedingungen auftreten und die Positionen verlassen, wenn ein anderer Satz von Bedingungen erfüllt ist. Durch den automatischen Handel auf historische Daten kann das Modell die Rentabilität einer Handelsstrategie bestimmen. Backtesting Expert Schritt für Schritt Tutorial 1. Starten des Backtesting Expert Der Backtesting Expert kann über die Windows Startmenüs - TraderCode - Backtesting Expert gestartet werden. Dies startet ein Tabellenkalkulationsmodell mit mehreren Arbeitsblättern für Sie, um technische Analyseindikatoren zu generieren und Tests für die verschiedenen Strategien auszuführen. Sie werden feststellen, dass der Backtesting-Experte viele vertraute Arbeitsblätter wie DownloadedData, AnalysisInput, AnalysisOutput, ChartInput und ChartOutput aus dem Technical Analysis Expert-Modell enthält. Dadurch können Sie alle Ihre Back-Tests schnell und einfach aus einer vertrauten Arbeitsblattumgebung ausführen. 2. Wählen Sie zuerst das DownloadedData-Arbeitsblatt aus. Sie können Daten aus allen Tabellenkalkulationen oder kommagetrennten Werten (csv) - Dateien in dieses Arbeitsblatt für die technische Analyse kopieren. Das Format der Daten ist wie im Diagramm dargestellt. Alternativ können Sie sich auf das Dokument zum Herunterladen von Aktienhandelsdaten beziehen, um Daten aus namhaften Datenquellen wie Yahoo Finance, Google Finance oder Forex zum Gebrauch im Backtesting Expert herunterzuladen. 3. Nachdem Sie die Daten kopiert haben, gehen Sie zum AnalysisInput-Arbeitsblatt und klicken Sie auf die Schaltfläche Analysieren und Zurücktasten. Dies wird die verschiedenen technischen Indikatoren in das AnalysisOutput-Arbeitsblatt generieren und Backtesting auf die Strategien durchführen, die im StrategyBackTestingInput-Arbeitsblatt angegeben werden. 4. Klicken Sie auf das StrategyBackTestingInput-Arbeitsblatt. In diesem Tutorial müssen Sie nur wissen, dass wir sowohl eine lange und kurze Strategien mit gleitenden Durchschnitt Crossovers angegeben haben. Im nächsten Abschnitt dieses Dokuments werden wir detaillierte Strategien erläutern. Das folgende Diagramm zeigt die beiden Strategien. 5. Sobald die Back-Tests abgeschlossen sind, wird die Ausgabe in den Arbeitsbereichen AnalysisOutput, TradeLogOutput und TradeSummaryOutput platziert. Das AnalysisOutput-Arbeitsblatt enthält die vollen historischen Kurse und die technischen Indikatoren der Aktie. Während der Back-Tests werden, wenn die Bedingungen für eine Strategie erfüllt sind, Informationen wie der Kaufpreis, der Verkaufspreis, die Provision und der Profitverlust in diesem Arbeitsblatt zur leichten Bezugnahme aufgezeichnet. Diese Informationen sind nützlich, wenn Sie durch die Strategien verfolgen möchten, um zu sehen, wie die Aktienpositionen eingegeben und beendet werden. Das TradeLogOutput-Arbeitsblatt enthält eine Zusammenfassung der vom Backtesting Expert durchgeführten Trades. Die Daten können einfach gefiltert werden, um nur Daten für eine bestimmte Strategie anzuzeigen. Dieses Arbeitsblatt ist nützlich, um den Gesamtgewinn oder - verlust einer Strategie zu unterschiedlichen Zeitrahmen zu bestimmen. Die wichtigste Ausgabe der Back-Tests wird im TradeSummaryOutput-Arbeitsblatt platziert. Dieses Arbeitsblatt enthält den Gesamtgewinn der durchgeführten Strategien. Wie in der folgenden Grafik dargestellt, erzielten die Strategien einen Gesamtgewinn von 2.548,20, in dem insgesamt 10 Trades erzielt wurden. Von diesen Trades sind 5 Long Positionen und 5 Short Positionen. Die Ratio Winloss von mehr als 1 zeigt eine rentable Strategie. Erläuterung der verschiedenen Arbeitsblätter Dieser Abschnitt enthält die detaillierte Erläuterung der verschiedenen Arbeitsblätter im Backtesting Expert-Modell. Die Arbeitsschritte DownloadedData, AnalysisInput, AnalysOutput, ChartInput und ChartOutput entsprechen denen des Technical Analysis Expert-Modells. Daher werden sie in diesem Abschnitt nicht beschrieben. Eine vollständige Beschreibung dieser Arbeitsblätter finden Sie im Abschnitt Technical Analysis Expert. StrategyBackTestingInput Arbeitsblatt Alle Eingaben für Backtesting einschließlich der Strategien werden mit diesem Arbeitsblatt eingegeben. Eine Strategie ist im Grunde eine Reihe von Bedingungen oder Regeln, die Sie in einer Aktie kaufen oder verkaufen eine Aktie. Zum Beispiel möchten Sie vielleicht eine Strategie ausführen, um Long (Kauf Aktien) gehen, wenn die 12 Tage gleitenden Durchschnitt des Preises kreuzt über dem 24 Tage gleitenden Durchschnitt. Dieses Arbeitsblatt arbeitet zusammen mit den technischen Indikatoren und Preisdaten im AnalysisOutput-Arbeitsblatt. Daher müssen die gleitenden durchschnittlichen technischen Indikatoren generiert werden, um eine Handelsstrategie basierend auf dem gleitenden Durchschnitt zu haben. Die erste Eingabe, die in diesem Arbeitsblatt erforderlich ist (wie in der folgenden Abbildung gezeigt), gibt an, ob alle Trades am Ende der Back-Testing-Sitzung beendet werden sollen. Stellen Sie sich das Szenario vor, in dem Bedingungen für den Erwerb einer Aktie aufgetreten sind und der Backtesting Expert hat einen Long (oder Short) Trade eingegeben. Allerdings ist der Zeitrahmen zu kurz und beendet, bevor der Handel die Austrittsbedingungen erfüllen kann, was dazu führt, dass einige Trades nicht beendet werden, wenn die Backtesting-Sitzung endet. Sie können dies auf Y setzen, um zu erzwingen, dass alle Trades am Ende der Backtesting-Sitzung verlassen werden. Sonst werden die Trades geöffnet, wenn die Backtesting-Sitzung endet. Strategien In einem einzigen Backtest können maximal 10 Strategien unterstützt werden. Das folgende Diagramm zeigt die für die Angabe einer Strategie erforderlichen Eingaben. Strategy Initials - Diese Eingabe akzeptiert maximal zwei Alphabete oder Zahlen. Die Strategy Initials werden in den AnalysisOutput - und TradeLog-Arbeitsblättern zur Ermittlung der Strategien verwendet. Long (L) Short (S) - Hier wird angegeben, ob eine Long - oder Short-Position eingegeben werden soll, wenn die Einstiegsbedingungen der Strategie erfüllt sind. Einreisebestimmungen Bei Erfüllung der Einreisebestimmungen wird ein Long - oder Short-Trade eingegeben. Die Eingabebedingungen können als Formelausdruck ausgedrückt werden. Der Formelausdruck wird zwischen Groß - und Kleinschreibung unterschieden und kann wie nachfolgend beschrieben Funktionen, Operatoren und Spalten verwenden. Crossabove (X, Y) - Gibt True zurück, wenn Spalte X die Spalte Y überschreitet. Diese Funktion überprüft die vorherigen Perioden, um sicherzustellen, dass tatsächlich ein Crossover aufgetreten ist. Crossbelow (X, Y) - Gibt True zurück, wenn Spalte X die Spalte Y überschreitet. Diese Funktion prüft die vorherigen Perioden, um sicherzustellen, dass tatsächlich ein Crossover aufgetreten ist. Und (logicalexpr,) - Boolean Und. Gibt True zurück, wenn alle logischen Ausdrücke True sind. Oder (logicalexpr,) - Boolean Or. Gibt True zurück, wenn einer der logischen Ausdrücke True ist. Daysago (X, 10) - Liefert den Wert (in Spalte X) von 10 Tagen. Previoushigh (X, 10) - Liefert den höchsten Wert (in Spalte X) der letzten 10 Tage einschließlich heute. Previouslow (X, 10) - Liefert den niedrigsten Wert (in der Spalte X) der letzten 10 Tage einschließlich heute. Operatoren Größer als gleich Nicht gleich Größer als oder gleich Addition - Subtraktion Multiplikation Division Spalten (aus AnalysisOutput) A - Spalte AB - Spalte BC .. .. YY - Spalte YY ZZ - Spalte ZZ Dies ist der interessanteste und flexibelste Teil des Eintrags Bedingungen. Es können Spalten aus dem AnalysisOutput-Arbeitsblatt angegeben werden. Wenn die Rücktests durchgeführt werden, wird jede Zeile aus der Spalte für die Auswertung verwendet. Beispielsweise bedeutet A 50, dass jede der Zeilen in Spalte A des AnalysisOutput-Arbeitsblatts bestimmt wird, ob sie größer als 50 ist. AB In diesem Beispiel , Wenn der Wert in Spalte A im AnalysisOutput-Arbeitsblatt größer oder gleich dem Wert von Spalte B ist, wird die Eingabebedingung erfüllt. Und (A B, CD) Wenn in diesem Beispiel der Wert in Spalte A im AnalysisOutput-Arbeitsblatt größer als der Wert von Spalte B ist und der Wert von Spalte C größer als Spalte D ist, wird die Eingangsbedingung erfüllt. Crossabove (A, B) Wenn in diesem Beispiel der Wert der Spalte A im AnalysisOutput-Arbeitsblatt den Wert von B überschreitet, wird die Eingabebedingung erfüllt. Crossabove bedeutet, dass A ursprünglich einen Wert hat, der kleiner oder gleich B ist und der Wert von A anschließend größer als B wird. Exitbedingungen Die Exitbedingungen können Funktionen, Operatoren und Spalten verwenden, wie in den Eingabebedingungen definiert. Darüber hinaus können sie auch Variablen wie folgt verwenden: Variablen für Exit-Bedingungen Profit Dies ist definiert als der Verkaufspreis abzüglich des Kaufpreises. Der Verkaufspreis muss größer sein als der Kaufpreis für einen Gewinn zu machen. Andernfalls wird der Gewinn null sein. Verlust Dies ist definiert als der Verkaufspreis abzüglich des Kaufpreises, wenn der Verkaufspreis unter dem Kaufpreis liegt. Profit (Verkaufspreis - Kaufpreis) Kaufpreis. Muss der Verkaufspreis größer oder gleich Kaufpreis sein. Ansonsten ist die Gewinnspanne Null. Losspct (Verkaufspreis - Kaufpreis) Kaufpreis Hinweis. Muss der Verkaufspreis unter dem Kaufpreis liegen. Andernfalls ist losspct Null. Beispiele profitpct 0.2 Wenn in diesem Beispiel der Gewinn prozentual größer als 20 ist, werden die Exit-Bedingungen erfüllt. Kommission - Kommission in Bezug auf einen Prozentsatz des Börsenkurses. Wenn der Börsenkurs 10 ist und die Kommission 0,1 ist, dann wird die Provision 1 sein. Die prozentuale Provision und Provision in Dollar wird zusammengefasst, um die Gesamtprovision zu berechnen. Kommission - Kommission in Dollar. Die prozentuale Provision und Provision in Dollar wird zusammengefasst, um die Gesamtprovision zu berechnen. Anzahl der Anteile - Anzahl der Anteile, die zu erwerben oder zu verkaufen sind, wenn die Bedingungen für die Einreiseeröffnung erfüllt sind. TradeSummaryOutput Arbeitsblatt Dies ist ein Arbeitsblatt, das eine Zusammenfassung aller Trades enthält, die während der Backtests ausgeführt werden. Die Ergebnisse sind in Long und Short Trades kategorisiert. Eine Beschreibung aller Felder finden Sie weiter unten. Total ProfitLoss - Gesamtergebnis nach Provision. Dieser Wert wird durch Summierung aller Gewinne und Verluste aller im Rücktest simulierten Trades berechnet. Gesamtergebnis vor Kommission - Gesamtergebnis vor Provision. Wenn Provision auf Null gesetzt ist, hat dieses Feld den gleichen Wert wie Total ProfitLoss. Gesamtprovision - Gesamtprovision für alle Trades, die während des Backtests simuliert werden. Gesamtzahl der Trades - Gesamtzahl der Trades, die während des simulierten Backtests durchgeführt wurden. Anzahl der gewinnenden Trades - Anzahl der Trades, die einen Gewinn erzielen. Anzahl der verlierenden Trades - Anzahl der Trades, die einen Verlust machen. Prozentsatz gewinnende Trades - Anzahl der Gewinntrades dividiert durch Gesamtzahl der Trades. Prozentsatz verlieren Trades - Anzahl der verlorenen Trades geteilt durch die Gesamtzahl der Trades. Durchschnittlicher gewinnender Handel - Der durchschnittliche Wert der Gewinne des Gewinns. Durchschnittlicher Verlust des Handels - Der Durchschnittswert der Verluste der verlierenden Trades. Durchschnittlicher Handel - Der Durchschnittswert (Gewinn oder Verlust) eines Einzelhandels des simulierten Rücktests. Größter gewinnender Handel - Der Gewinn des größten Gewinnhandels. Größter Verlusthandel - Der Verlust des größten Verlusthandels. Verhältnis durchschnittlicher Verlust - Durchschnittlicher gewinnender Handel geteilt durch den durchschnittlichen Verlusthandel. Ratio winloss - Summe aller Gewinne in den Gewinntrends geteilt durch die Summe aller Verluste in den verlierenden Trades. Ein Verhältnis von größer 1 gibt eine rentable Strategie an. TradeLogOutput Arbeitsblatt Dieses Arbeitsblatt enthält alle Trades, die vom Backtesting Expert nach dem Datum sortiert werden. Es erlaubt Ihnen, zu einem bestimmten Handel oder Zeitrahmen zu vergrößern, um die Rentabilität einer Strategie schnell und einfach zu bestimmen. Datum - Das Datum, an dem eine Long - oder Short-Position eingegeben oder verlassen wird. Strategie - Die Strategie, die für die Durchführung dieses Handels verwendet wird. Position - Die Position des Handels, ob lang oder kurz. Handel - Gibt an, ob dieser Handel Kauf oder Verkauf von Aktien ist. Aktien - Anzahl der gehandelten Aktien. Preis - Der Preis, zu dem die Aktien gekauft oder verkauft werden. Comm. - Gesamtprovision für diesen Handel. PL (B4 Comm.) - Gewinn oder Verlust vor Provision. PL (Achternkomm.) - Profit oder Verlust nach Auftrag. Cum PL (Aft Comm.) - Kumuliertes Ergebnis nach Provisionen. Dieser wird als kumulativer Gesamtgewinn ab dem ersten Handelstag berechnet. PL (auf Schlussposition) - Gewinn oder Verlust, wenn die Position geschlossen (beendet) ist. Sowohl die Eintrittsprovision als auch die Exit-Provision werden in diesem PL berücksichtigt. Zum Beispiel, wenn wir eine Long-Position haben, bei der die PL (B4 Comm.) 100 ist. Wenn eine Position eingegeben wird, wird eine 10 Provision erhoben, und wenn die Position verlassen wird, wird eine weitere Provision von 10 berechnet. Der PL (an der Schließposition) ist 100- 10 - 10 80. Beide Provisionen beim Betreten der Position und Verlassen der Position werden bei Positionsnahen berücksichtigt. Zurück zu TraderCode Technische Analyse-Software und technische Indikatoren

No comments:

Post a Comment