Wie kann man einen Algorithmus testen?

Ein Algorithmus funktioniert, wenn die Befolgung aller seiner Anweisungen in der richtigen Reihenfolge zum gewünschten Ergebnis führt. Beispiel: Das Rezept für Spaghetti Carbonara funktioniert, wenn das Befolgen der Anweisungen in der richtigen Reihenfolge zu richtigen Spaghetti Carbonara führt. Algorithmen sind also eine Art von Theorien. Sie sagen uns: Wenn Sie dies und dann dies und dann das tun, erhalten Sie dieses oder jenes Ergebnis.

Laut Wissenschaftstheorie gibt es grundsätzlich zwei Arten von Theorien:

  1. Empirische Theorien: Theorien über Objekte, die wir mit unseren Sinnen wahrnehmen und beobachten können, wie zum Beispiel Theorien darüber, wie der menschliche Körper funktioniert oder wie sich Tiere verhalten.
  2. Analytische Theorien: Theorien über Objekte, die wir nicht mit unseren Sinnen wahrnehmen können, zu denen wir aber irgendeine Art von Zugang haben (wir wissen nicht genau welchen), wie zum Beispiel Theorien über die Objekte von Mathematik und Logik (Zahlen, Mengen, Dreiecke, ...)

Analytische Theorien können durch reines Nachdenken getestet, das heißt verifiziert oder falsifiziert werden. Mathematiker und Logiker beobachten keine Gegenstände mit ihren Sinnen. Sie verwenden auch keine Geräte wie Mikroskope, um die Objekte zu beobachten, von denen ihre Theorien handeln. Sie denken einfach über ihre Objekte nach und schreiben die Ergebnisse ihres Denkens auf.

Empirische Theorien können dagegen nicht allein durch Nachdenken getestet werden. Bei den Objekten empirischer Theorien, wie etwa dem Verhalten von Eichhörnchen, mag logisches Denken bis zu einem gewissen Grad helfen, aber es kann niemals ausreichen, etwas zu beweisen oder zu widerlegen. Empirische Theorien werden mit Beobachtungen getestet und dazu gehören auch Experimente. Je mehr eine Theorie durch die gemachten Beobachtungen gestützt wird, desto mehr kann man ihr vertrauen.

Betrachten wir das ein bisschen genauer. Schauen Sie sich folgende Frage an

Essen Eichhörnchen Thunfisch?
Welche Art von Theorie wird benötigt, um diese Frage seriös zu beantworten? Können wir sie beantworten, indem wir einfach nur über Eichhörnchen nachdenken? Offensichtlich nicht. Wir müssen Experimente machen. Wir müssen Eichhörnchen beobachten

Natürlich reicht es nicht aus, einfach irgendwelche Eichhörnchen auf irgendeine Art zu beobachten, um die Frage seriös zu beantworten. Bei unseren Beobachtungen kann viel schiefgehen. Wir könnten zum Beispiel in den Wäldern Zentralsibiriens vier Tage lang drei Eichhörnchen beobachten. Drei Eichhörnchen reichen nicht aus, um statistisch relevant zu sein. Vier Tage sind eine zu kurze Zeitspanne. Und in den Wäldern Zentralsibiriens gibt es keinen Thunfisch. Daher sind Beobachtungen dieser Art wissenschaftlich nicht valide.

Die Beobachtung des Verhaltens von Eichhörnchen, und dazu gehört auch das Experimentieren mit Eichhörnchen, indem man ihnen Thunfisch anbietet, ist zwar der richtige Weg, aber Beobachtungen allein reichen nicht aus. Wir brauchen auch ein gewisses Verständnis dafür, wie empirische Hypothesen, wie zum Beispiel die Hypothese, dass Eichhörnchen Thunfisch, wissenschaftlich valide überprüft werden.

Wie lässt sich das alles auf das Trading anwenden? Schauen wir uns noch einmal den Tradingalgorithmus aus dem letzen Abschnitt an:

Wenn der Goldpreis drei Tage hintereinander fällt, kaufen Sie Gold.
Handelt es sich hier um ein empirisches oder um ein analytisches Problem? Offensichtlich ist es genau wie beim Eichhörnchenproblem: Der Goldpreis hängt vom Verhalten der anderen Trader, also Marktteilnehmer, ab. Wenn viele Marktteilnehmer Gold kaufen, steigt der Preis. Wenn viele Marktteilnehmer Gold verkaufen, fällt der Preis.

Warum könnte der obige Tradingalgorithmus funktionieren?

Es könnte eine Gegenbewegung geben. Wenn der Goldpreis drei Tage hintereinander fällt, könnten manche Leute, oder vielleicht viele Leute, denken: „Gold ist billiger geworden. Das ist eine Kaufgelegenheit.“ Und wenn viele Leute etwas kaufen, steigt der Preis. Offensichtlich könnte der Algorithmus aus demselben Grund auch für andere „securities“ funktionieren. (Beim Trading wird das, was gekauft oder verkauft wird, wie zum Beispiel eine Aktie, eine Währung, ein Rohstoff usw., oft als „security“ bezeichnet.)

Da es sich hier jedoch um eine empirische Frage handelt, reicht Nachdenken alleine nicht aus. Wir müssen unsere Hypothese, die in unserem Fall ein Tradingalgorithmus ist, durch Beobachtungen testen. Offensichtlich werden wir nicht physische Händler auf einem physischen Marktplatz direkt beobachten, so wie wir physische Eichhörnchen in einem physischen Wald direkt beobachten würden. (Vor 500 Jahren wäre das vielleicht die einzige Möglichkeit gewesen.) Wir beobachten nur Datenspuren des Verhaltens echter physischer Trader.

Sie können den obigen Tradingalgorithmus ganz einfach selbst testen, ohne etwas über Trading zu wissen: Suchen Sie einfach im Internet nach historischen Goldpreisen, wie zum Beispiel den Goldpreisen der letzten drei Monate, und schauen Sie sich alle Reihen von drei Tagen an, in denen der Goldpreis in Folge gestiegen ist. Angenommen, Sie kaufen bei jedem dieser Ereignisse am vierten Tag Gold. Und angenommen, Sie verkaufen Ihr Gold am fünften Tag. Schreiben Sie alle Gewinne als positive Zahlen und alle Verluste als negative Zahlen auf und summieren Sie alle diese Zahlen. Wenn die Summe eine positive Zahl ist, dann hätten Sie mit dem Algorithmus Gewinn gemacht. Wenn die Summe eine negative Zahl ist, dann hätten Sie mit dem Algorithmus Geld verloren.

Zum letzten Absatz sind mehrere Anmerkungen zu machen: Zunächst spielt die Größe Ihrer Datensätze eine Rolle. Wenn Sie den Tradingalgorithmus nur auf Daten von drei Monaten testen, ist dies kein wissenschaftlich valider Test. (Das wäre, als würde man nur drei Eichhörnchen beobachten.) Zweitens sind wir stillschweigend darüber hinweggegangen, dass jeder Trade mit gewissen Kosten verbunden ist. Um genaue Ergebnisse zu erhalten, müssten wir diese Kosten in unseren Backtests berücksichtigen. (Tests von Algorithmen auf historischen Daten werden „Backtests“ genannt.) Drittens stellt sich heraus, dass die ursprüngliche Definition unseres Tradingalgorithmus ziemlich vage war: Sie sagte nichts darüber, was mit dem gekauften Gold geschehen sollte. Ein paar Möglichkeiten:

  1. nie verkaufen
  2. am fünften Tag verkaufen
  3. am sechsten Tag verkaufen
  4. nach einem Monat verkaufen
  5. verkaufen, wenn Gold um 5% gestiegen ist
  6. verkaufen, wenn Gold um 10% gestiegen ist
  7. ...
Offensichtlich gibt es hier eine unbegrenzte Anzahl von Optionen. Und mit jeder Option erhalten Sie einen anderen Algorithmus mit anderen Ergebnissen. Eine andere naheliegende Möglichkeit, Varianten des obigen Algorithmus zu finden, besteht darin, andere Zeiträume auszuprobieren, in denen der Goldpreis steigen soll. Warum nicht Gold nach Folgen von 5 Tagen kaufen, in denen der Preis fällt? Oder nach 3 Monaten oder 10 Minuten? Und was ist mit dem Verkauf? Warum nicht Gold verkaufen, nachdem sein Preis drei Tage hintereinander gestiegen ist?

Offenbar wäre es viel Arbeit, all diese Möglichkeiten manuell auszuprobieren, insbesondere bei größeren Datensätzen. Da wir im Zeitalter der Computer leben, wäre es wahrscheinlich viel besser, sie diese Arbeit für uns erledigen zu lassen. Wie könnte das funktionieren? Wir schauen uns das gleich an. Aber bevor wir das tun, fragen wir uns, ob unsere Art des Backtestings unserer Tradingtrategie wirklich vertrauenswürdig ist.

 

Nutzungsbedingungen | Datenschutzerklärung | Impressum

© 2025-2026 Lektiko GmbH. Alle Rechte vorbehalten.