Jump to content
Tom Next - Daytrading Community

Performancevergleich von Backtestumgebungen


joshsmi

Recommended Posts

Dieser Thread http://www.tom-next.com/community/topic/59908-langsame-berechnung-des-backtests/page__pid__119620 hat mich mal aus Interesse auf die Idee gebracht, einen Performancevergleich (Zeitdauer) verschiedener Backtesteumgebungen zu starten.

 

Als Contender würde ich mal die üblichen Verdächtigen des Forums vorschlagen. Amibroker, Metatrader, Multicharts, Ninjatrader. Die anderen drei Jforex, Strategytester, Trade Projekt sagen mir vom Funktionsumfang her gesehen nichts, aber falls diese auch über Backtestmöglichkeit verfügen und jemand diese Programme verwendet, dann natürlich auch diese. Wer andere Programme verwendet, ist natürlich mit eingeladen am Test teilzunehmen, also zum Bleistift Metatstock oder Tradestation oder ... also alles, was vorhanden ist.

 

Ich würde mal als Anfang ein simples Standardsystem mit CCI vorschlagen (CCI(20)). Cross Level 100 dann Buy, Re-Cross Level 100 nach Buy dann Sell, Cross Level -100 dann Short, Re-Cross Level -100 nach Short dann Cover. Als Testperiode würde ich vorschlagen 2005 bis heute sowie als Timeframe M1, Underlying EURUSD. Würde eventuell auch vorschlagen, dass wir alle noch die selbe Historienquelle verwenden, falls überall die Importmöglichkeit bestehen sollte, wovon ich eigentlich ausgehe?

 

Wer hat Lust?

 

Noch irgendwelche Vorschläge (wozu auch "Mach dich vom Acker" gehören würde)?

  • Upvote 1
Link to comment
Share on other sites

Um einigermassen vergeichbare und damit aussagekräftige Ergebnisse zu erzielen wäre es notwendig diese Tests auf gleicher Hardware durchzuführen, wenn ich eine SW auf einem Single Core laufen lasse, die andere auf eine 2 Prozessor Six Core Xeon, dann hält sich die Aussage in Grenzen.
Link to comment
Share on other sites

Goso, das stimmt natürlich schon, aber mir kommt es nicht auf Sekundengenaugikeit an. Ich denke, die Meisten her verwenden ähnliche Hardware. Hey ich würde sogar entgegenkommen und zusätzlich einen ganz alten Celeron mit 1GB RAM verwenden. Ich würde behaupten, dass ich dann immernoch mit vorn mitspielen würde. Was dann zu beweisen wäre.
Link to comment
Share on other sites

Also Jungs oder auch Mädels(?), ich fange mal mit dem Spaß an und gebe mal einen Wert vor. Ich habe das System von 2005 bis Juli 2011 getestet und es kamen ca 48000 Signale (Buy, Sell, Short , Cover) zustande.

 

Dauer des Backtestes: 14 Sekunden

Verwendete Software: Amibroker

 

Ich bin auf M5 gewechselt, da es, schätze ich, im M1 bei Einigen zu craschen beginnen könnte und es kommen zu viele Signale für den Zeitraum zustande. Aber ich erwähne, auch im M1 hat es im Sekundenbreich gelegen. Als Hardware kam nichts Besonderes zum Einsatz, da ich kein Fetischist diesbezgl. bin. Habe mal ein ganz normales Mehrkernsystem mit XP pro (ja, gibt es tatsächlich noch :-)) verwendet.

 

Schlagbar?

 

Vielleicht lade ich noch ein Video als Beweis hoch, obwohl ich bin ein Ehrenmann.

Link to comment
Share on other sites

Würde eventuell auch vorschlagen, dass wir alle noch die selbe Historienquelle verwenden

Na dann mal her mit der Historienquelle. Ich nehme M1-Daten gerne entgegen (CSV) und würde MultiCharts bemühen. Wobei der Amibroker wahrscheinlich nicht zu schlagen sein wird. Ich bin aber mal auf die Unterschiede gespannt. Dennoch denke ich, dass die Hardware einiges ausmacht. Nicht bei deinen 14sec, aber sicherlich bei anderen Systemen, die mehr Zeit beanspruchen.

Link to comment
Share on other sites

Ich habe noch, wie versprochen, das Selbe auf dem 5 oder 6 Jahre alten Intel Celeron Not(e)book mit 768MB (ich dachte, er hätte mehr) meiner holden Fee, die ein 1000fach verringerter Hardware Fetischist ist als ich, getestet. Nur für Internet und Office benötigt.

 

Selber Testzeitraum, selbe Daten, selbes Testsystem, selbes TF.

 

Jetzt ratet mal, ....

 

Testdauer: 19 Sekunden, ungelogen.

 

Hammerunterschied *g*

Link to comment
Share on other sites

Ich habe einen ähnlichen Test vor ein paar Monaten gemacht, aus dieser Erfahrung (allerdings mit wesentlich komplexeren Regeln) würde ich auf Amibroker wetten, relativ schnell war auch Neoticker.

 

ich würde darauf wetten, dass Metatrader mit Abstand die langsamste Software ist. :palomitas:

Link to comment
Share on other sites

ich würde darauf wetten, dass Metatrader mit Abstand die langsamste Software ist. :palomitas:

 

Kommt drauf an....

MT5 hat mächtig aufgeholt und unterstützt sowohl Multicore, 64 Bit, als auch das Anschließen von beliebig vielen anderen Rechnern. Im gut ausgestatteten Heimnetzwerk dürfte es also in der Regel schneller sein, mit MT5 zu optimieren / zu backtesten, als mit MC, NT etc, welche zwar MultiCore unterstützen, aber eben nur einen Rechner benutzen.

Diese eine Funktion nötigt mir sehr sehr viel Respekt und Neid ab für Metatrader, und das sage ich als überzeugter MC-User. Zumal es einfach und sicher funktioniert.

Link to comment
Share on other sites

Kommt drauf an....

MT5 hat mächtig aufgeholt und unterstützt sowohl Multicore, 64 Bit, als auch das Anschließen von beliebig vielen anderen Rechnern. Im gut ausgestatteten Heimnetzwerk dürfte es also in der Regel schneller sein, mit MT5 zu optimieren / zu backtesten

 

MT5 habe ich noch nicht ausprobiert - aber mich wundert, dass bei MT4 selbst das Backtesting von simplen EA's nicht in Realtime geht. Zumal es sich am um kompiliertes C handelt. Ich glaube die Jungs sind da etwas rückständig. Da gibt es Software, die auf der Grafikkarte weit aufwändigere Berechnungen durchführt. Aber was soll's. Ganz gut in der Performance ist der Forex Strategy Builder - aber ich glaube das ginge auch in Realtime...

Link to comment
Share on other sites

System von 2005 bis Juli 2011 getestet und es kamen ca 48000 Signale (Buy, Sell, Short , Cover) zustande.

 

Dauer des Backtestes: 14 Sekunden

Verwendete Software: Amibroker

 

Ich bin auf M5 gewechselt

Wow, das hätte ich nicht erwartet:

 

EUR/USD Januar 2005 bis Juli 2011, 45896 Signale im M5

Dauer des Backtests: 7 Sekunden

Verwendete Software: MultiCharts v7

 

Hardware: ein realer Prozessorkern mit 2,4 GHz (+ Hyperthreading, also gesehene 2) und 1 GB RAM.

 

BTW: Die Strategie ist nicht profitabel :wink2:

 

EDIT:

Ups, ich hatte einen Fehler im Sourcecode, wodurch er nur long gehandelt hat. Also long und short:

 

EUR/USD Januar 2005 bis Juli 2011, 91150 Signale im M5

Dauer des Backtests: 12 Sekunden

Verwendete Software: MultiCharts v7

  • Upvote 1
Link to comment
Share on other sites

Hallo Rainworm, meinst du 91k Roundturns oder Halfturns? Wenn Ersteres, dann kann das etwas nicht stimmen. Im unteren Chart sieht du die Signale (große Dreiecke - Buy oder Short, kleine Pfeile - Sell oder Cover). Im Schnitt über die gesamte Dauer ca 24 (Buy-, Short-) Signale pro Tag. Doppelt so viele RTs halte ich für nicht richtig bei CCI(20) im 5er.

 

AB hat insgesamt knapp 47,8k RTs berechnet. Wenn Deine 91k allerdings HTs sind, ergäbe das 45500 RTs also ca 2.3k weniger. Hm.

post-1535-0-03085100-1310851533_thumb.gif

Link to comment
Share on other sites

Ich habe noch mal in den Einstellungen von AB nachgeschaut, woran es gelegen haben könnte, dass ich langsamer war und da sah ich, dass ich "Detailed Report" angeklickt hatte (Tomasz Janezko hat noch dahintergeschrieben 'slow'. "Aha", dachte ich, "das könnte es wohl sein"). Nachdem ich dies wegklickte, komme ich nun auf 6 Sekunden. Puh, Glück gehabt. *frech grins*

 

Der Report ist eigentlich immernoch detailed. Muss ich mal in den Help Files nachschauen, was da der Unterschied ist.

 

Als Beweis lade ich morgen vielleicht zwei Videos hoch, einmal mit angeklicktem "Detailed Report" und einmal ohne, damit es nicht heißt, der spinnt doch.

Link to comment
Share on other sites

Korrigiert mich wenn ich falsch liege, aber gehts hier nicht um den Performancevergleich von Backtestumgebungen?

 

Irgendwie klingt das für mich gerade mehr nach "Ich hab die Beste". Wenns um einen Vergleich (auf dem Niveau von Tom-Next) geht, sollte man einerseits alles auf der gleichen (oder wenigstens vergleichbaren) Hardware testen und andererseits vielleicht etwas nehmen das aussagekräftigere Resultate liefert als ein paar Sekunden.

 

Nicht falsch verstehen, wenns darum geht zu beweisen das AB der beste überhaupt ist, ist das ok, aber dann wär ich für eine Umbenennung des Threads.

Link to comment
Share on other sites

Korrigiert mich wenn ich falsch liege, aber gehts hier nicht um den Performancevergleich von Backtestumgebungen?

 

Irgendwie klingt das für mich gerade mehr nach "Ich hab die Beste". Wenns um einen Vergleich (auf dem Niveau von Tom-Next) geht, sollte man einerseits alles auf der gleichen (oder wenigstens vergleichbaren) Hardware testen und andererseits vielleicht etwas nehmen das aussagekräftigere Resultate liefert als ein paar Sekunden.

 

Nicht falsch verstehen, wenns darum geht zu beweisen das AB der beste überhaupt ist, ist das ok, aber dann wär ich für eine Umbenennung des Threads.

 

 

Natürlich geht es um einen Vergleich. Das schließt ja nicht aus, das man selbst nach Gründen sucht, weshalb etwas langsamer gewesen ist. Und das ist ein eklatanter Grund gewesen, denn detailed report ist im Standard nicht angewählt. Das ist so, als würdest du ein F1 Renner mit zusätzlichen Bleigewichten bestücken. Somit habe ich für mich persönlich wieder etwas gelernt, was mir vorher nicht aufgefallen wäre bzw was ich nicht gewußt hätte. Desweiteren bin ich ja der Threadstarter und natürlich hätte ich gern nebenbei als AB User gewußt, ob die Behauptung vom Entwickler Tomasz Janeczko zutrifft, die lautete

 

"You are dreaming if you think you will do your optimization in any other software faster than in Amibroker. Amibroker outperforms any competition."

 

wirklich wahr ist. Was ein weiterer Grund für eine Suche nach der Ursache gewesen wäre. Desweiteren hätte ich allg. auch gern gewußt, was andere Programme grob im Stande sind, zu leisten. Die von Rainworm verwendete Hardware ist auch kein Quantensprung, dass man sagen kann, "Wow damit läßt es sich nach Signalen aus dem Weltraum auf der Suche nach Ausserirdischen ". Die Hardware ist also vergleichbar mit meiner.

 

Mir geht auch keiner ab, wenn sich AB als langsamer herausstellen würde. Wenn du zwischen den Zeilen lesen würdest, dann würdest du auch das verstärkte Augenzwinkern erkennen. Dies ist auch ein offensichtlicher Spaßthread.

 

Das Lustige finde ich, dass du plötzlich von ein paar Sekunden sprichst, sind es doch eigentlich nach deiner korrekten Rechnungsweise 50% weniger zwischen den Programmen. Wenn ich die 6 sec mit deinen fleißig berechneten 35% auf dem alten Notebook hinzunehme, wären es wohl ca 8 sec dort, was dann halt bei einem Mittelwert von 7 sec. von mir aus 40% schneller wäre.

 

Desweiteren wenn es nur um ein paar Sekunden geht, wie du schriebst, aber gleichzeitig forderst, es hätte nur Zweck auf einem gleichen System, widerspricht sich das eine bisschen. Was kann ich dafür, wenn Metatader zig zusammengeschaltete PCs benötigt, um eine Riesenverbesserung herauszuholen, die immernoch nicht zufriedenstellend wäre. *Scherz*

 

Aber damit du in Ruhe frühstücken kannst, stelle ich den Code von AB rein und dann kann ja Rainworm oder ... ja mal selber vergleichen, falls Lust. Oder falls es eine Demo von MC gibt, kann ich das ja auch übernehmen.

 

PS: Darf ich fragen, ob du von Beruf Beamter bist, die ja im Allg., so meine Erfahrung, ultra zugeknüpft sind und alles peinlichst genau und bierernst nehmen müssen?

Link to comment
Share on other sites

PS: Darf ich fragen, ob du von Beruf Beamter bist, die ja im Allg., so meine Erfahrung, ultra zugeknüpft sind und alles peinlichst genau und bierernst nehmen müssen?

Hehe, du bist aber nicht so richtig gut drauf heute, oder ?

Hat dir doch niemand etwas getan....

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...