Algorithmische Partikelschwarmoptimierung (PSO)

Heute möchte ich mit euch über die Partikelschwarmoptimierung (PSO) sprechen.
Eines der zentralen Probleme auf den Finanzmärkten besteht darin, auf der Grundlage historischer Aktienmarktdaten gute Aktienhandelsentscheidungen zu treffen. In diesem Beitrag wird eine Entscheidungsfindungsmethode vorgestellt, die auf der Anwendung von neuronalen Netzen (NN) und Schwarmintelligenztechnologien basiert und dazu dient, Investitionsentscheidungen in einem Schritt im Voraus zu treffen.

Trading ist ein statistische Problem

Entwicklung eines Algorithmus zur Partikelschwarmoptimierung mit verbesserten Such und Lernverfahren

In vielen technischen und naturwissenschaftlichen Aufgabenstellungen müssen aufwendige, nichtlineare und
mehrdimensionale Optimierungsprobleme gelöst werden. Beispielhaft seien hier die Ermittlung von
Modellparametern im Kontext der Systemidentifikation oder von Hyperparametern bei maschinellen
Lernverfahren (z. B. überwachtes Lernen mit künstlichen neuronalen Netzen) oder auch das optimale
Systemdesign von leistungselektronischen Schaltungen in Bezug auf Wirkungsgrad und Bauraum genannt.
Solche sogenannten globalen Optimierungsaufgaben stellen ein ungelöstes mathematisches Problem dar, da
kein Verfahren existiert, welches mit definierbarer Garantie das globale Optimum sicher auffinden kann.

Daher werden häufig (meta-)heuristische Verfahren, wie die Partikelschwarmoptimierung (PSO) verwendet, um im Suchraumraum mit möglichst wenigen Funktionsauswertungen eine zielführende Lösung aufzufinden. Im Fall der PSO wird das Such- bzw. Optimierungsverhalten von Tierschwärmen (z.B. Vögel oder Fische) nachgeahmt, um einen möglichst allgemeingültigen Lösungsansatz für eine Vielzahl von Problemen zu erhalten.

Klassische PSO-Varianten explorieren den Suchraum in hohem Maße zufällig, was insbesondere dazu führen
kann, dass Teilgebiete des Suchraums überhaupt nicht exploriert werden, während an anderer Stelle unnötig
viele, eng benachbarte Suchpunkte gesetzt werden.

Der PSO-Algorithmus ist einer der Algorithmen der Schwarmintelligenz. Es handelt sich um einen populationsbasierten Suchalgorithmus, der auf der Simulation des sozialen Verhaltens von Individuen (Partikeln) beruht, die sich durch einen mehrdimensionalen Suchraum „bewegen“. Jedes Teilchen des Schwarms stellt einen Lösungskandidaten für die Optimierung des Problems dar. Während sich jedes Teilchen durch den mehrdimensionalen Suchraum „bewegt“, passt es seine Position im Suchraum entsprechend seiner eigenen Erfahrung und derjenigen der benachbarten Teilchen an.

Joe Peters

Daher werden häufig (meta-)heuristische Verfahren, wie die Partikelschwarm-optimierung (PSO) verwendet, um im Suchraumraum mit möglichst wenigen Funktionsauswertungen eine zielführende Lösung aufzufinden.

Prof. Dr.-Ing. Joachim Böcker

Universität Paderborn

Einführung

Die ständigen Verbesserungen der Computertechnologien und das Wachstum der Telekommunikationsdienste haben einen großen Einfluss auf die Globalisierung der Aktienmärkte, und es werden immer leistungsfähigere Instrumente zur Informationsverarbeitung benötigt. Die Komplexität und „Unübersichtlichkeit“ der Aktienmärkte erschwert die Echtzeitanalyse und die Vorhersage künftiger Veränderungen. Es wurde nachgewiesen, dass in komplexen Systemen eine Ansammlung von Individuen ein Problem oft besser löst als ein Einzelner – selbst ein Experte.

Kurz gesagt, die Analyse historischer Aktienkursschwankungen wird mit Hilfe von „einschichtigen“ NN durchgeführt, und anschließend wird der Algorithmus der Partikelschwarmoptimierung (PSO) angewandt, um das „global beste“ NN für die zukünftigen Investitionsentscheidungen auszuwählen und die Gewichte anderer Netzwerke an die Gewichte des besten Netzwerks anzupassen. Die experimentellen Untersuchungen wurden unter Berücksichtigung einer unterschiedlichen Anzahl von NN, gleitenden Zeitintervallen und Kommissionsgebühren durchgeführt. Die in dem Papier vorgestellten experimentellen Ergebnisse zeigen, dass die Anwendung der von uns vorgeschlagenen Methode bessere Ergebnisse als der Durchschnitt des Marktes erzielen lässt.1

Das PSO ist eng mit der evolutionären Berechnung und dem künstlichen Leben (A-life) im Allgemeinen verbunden. Ebenso wie die evolutionäre Programmierung ist es in hohem Maße von stochastischen Prozessen abhängig. Der Optimierer, der im PSO-Algorithmus verwendet wird, während er Anpassungen in Richtung „lokaler“ und „globaler“ bester Partikel vornimmt, ähnelt konzeptionell der Crossover-Operation, die von genetischen Algorithmen verwendet wird. Außerdem enthält PSO eine Gütefunktion, die die Nähe der entsprechenden Lösung zum Optimum misst. Die gleiche Funktion ist auch in den Paradigmen der evolutionären Berechnung enthalten. Der Hauptunterschied zwischen dem PSO-Konzept und dem evolutionären Rechnen besteht darin, dass die Suche nach potenziellen Lösungen durch den Hyperraum auf „bessere“ Lösungen hin beschleunigt wird, während evolutionäre Berechnungsverfahren direkt mit potenziellen Lösungen arbeiten, die als Orte im Hyperraum dargestellt werden.

Das Problem der Börsenprognose wurde in der Vergangenheit von vielen Forschern untersucht. Es wurden beträchtliche Anstrengungen unternommen, um die Entwicklung der Aktienmärkte zu untersuchen und Prognosesysteme zu entwickeln. Es gibt nicht so viele Beispiele für Anwendungen der Schwarmintelligenz zur Lösung dieses Problems.

Beschreibung der vorgeschlagenen Methodik

Die Analyse und Vorhersage von Aktienmarktschwankungen ist aufgrund ihrer Komplexität und Unschärfe ein schwieriges Unterfangen. Es reicht nicht aus, konventionelle Techniken für die Vorhersage der Aktienmärkte zu verwenden, da ihre Veränderungen durch stochastische menschliche Faktoren, nichtlineare, multivariable und zeitliche Veränderungen der Aktienkurse beeinflusst werden. Der Einsatz von künstlicher Intelligenz hat einen großen Einfluss auf die Prognose- und Investitionsentscheidungstechnologien, und es wurde bewiesen, dass damit gute Ergebnisse erzielt werden können.2

In den Untersuchungen werden die Kursveränderungen der Aktien für 5 Tage berücksichtigt. Die Kursveränderungen von 5 Tagen wurden unter der Annahme genommen, dass solche Aktienkursveränderungen die höchste Korrelation mit der Kursveränderung des nächsten Tages haben. Wenn beispielsweise die Kursveränderungen von fünf Tagen negativ sind, besteht eine hohe Wahrscheinlichkeit, dass der Kurs dieser Aktien am nächsten Tag steigt und umgekehrt. Darüber hinaus werden für jeden Tag und jede Aktie die Neuempfehlungen unter Verwendung einer unterschiedlichen Anzahl von „einschichtigen“ NN und unter Berücksichtigung von Preisänderungen an einer unterschiedlichen Anzahl von Tagen berechnet. Das Nettoergebnis wird an die hyperbolische Tangensfunktion weitergegeben, und es werden Empfehlungen für den Handel mit den Aktien berechnet. Die Empfehlungen stellen den relativen Rang der Investitionsattraktivität jeder Aktie im Intervall dar.

Die Werte -1,0 und +1 stehen für die Empfehlungen „Verkaufen“, „Halten“ bzw. „Kaufen“. Nachdem die Empfehlungen berechnet wurden, werden alle Aktien in absteigender Reihenfolge sortiert. Nach der Sortierung der Aktien werden die 3 Aktien (für jeden Tag) mit den höchsten Empfehlungen berücksichtigt. Außerdem wird das Kursverhalten dieser Aktien am nächsten Tag unter Berücksichtigung unterschiedlich langer Zeitintervalle beobachtet. Anhand dieser Beobachtung können wir sehen, wie gut die Ergebnisse sind, die wir erzielen, wenn wir die Entscheidungen auf der Grundlage der Kursveränderungen der Aktien mit den höchsten Empfehlungen treffen. Der nächste Schritt in unserer Methode ist der Einsatz des PSO-Algorithmus und die Auswahl der „global besten“ Partikel, die für die Berechnung des erwarteten Gewinns verwendet werden.

Anwendung des Algorithmus zur Partikelschwarmoptimierung

In diesem Blog ist es unser Ziel, den PSO-Algorithmus anzuwenden, der auf der Suche nach dem „global besten“ Partikel basiert. Hier werden die Partikel als „einschichtige“ NN dargestellt. Das so genannte „global beste“ Partikel wird für jeden Tag unter Berücksichtigung des gewählten gleitenden Zeitintervalls ausgewählt. Das bedeutet, dass wir jeden Tag die Leistung (Gütefunktion) der NN vergleichen und das Netz mit der höchsten Leistung für weitere experimentelle Untersuchungen ausgewählt wird.

Die Anpassung der Gewichte der anderen Partikel erfolgt in Richtung der Gewichte des „global besten“ Partikels; diese Anpassung der Gewichte und das Training der NN ermöglichen es uns, uns auf die beste Lösung zuzubewegen, da die Handelsentscheidungen immer mit dem NN getroffen werden, das die beste Leistung gezeigt hat. Wenn wir den Tag und das NN kennen, das an diesem Tag die beste Performance gezeigt hat, wählen wir 3 Aktien mit den höchsten Empfehlungen aus. Wir glauben, dass die Untersuchung der Aktien mit den höchsten Empfehlungen den besten Gewinn am nächsten Handelstag erzielen lässt.

Kleiner Exkurs- was sagt die Wiki darüber?

Wikipedia versteht unter der Partikelschwarmoptimierung (PSO) folgendes: PSO wird als ein naturanaloges Optimierungsverfahren bezeichnet, das nach dem Vorbild des biologischen Schwarmverhaltens eine Lösung für ein Optimierungsproblem sucht.

Analog zum natürlichen Phänomen wird eine Population von Lösungskandidaten durch den Suchraum bewegt, um eine gute Lösung für das Problem zu erhalten. In jedem Rechenschritt wird dazu die Position jedes Individuums neu berechnet. Die PSO ist eine Metaheuristik, sie wurde 1995 von James Kennedy und Russell Eberhart vorgeschlagen.3

Der Algorithmus versucht, das Verhalten von Tieren nachzuahmen, die bei der Nahrungssuche in Gruppen kooperieren. Entsprechend dieser Eigenschaft kann dieser Algorithmus in den Bereich der Schwarmintelligenz eingeordnet werden. 

Die PSO basiert jedoch nicht nur auf sozialer Interaktion. Shi und Eberhart erwähnten in[4], dass die Entscheidungsgleichung des Algorithmus aus 3 Teilen besteht, wobei der zweite Teil die Entscheidung hinsichtlich der persönlich besten Lage des Partikels im Auslegungsraum beeinflusst. Dieser Teil wird auch als kognitiver Anteil bezeichnet und stellt das eigene Denken eines Partikels dar. Aus diesem Grund kann die PSO auch als eine Methode der künstlichen Intelligenz bezeichnet werden. Die PSO versucht, ein Ziel (Finde das Minimum) mit Berücksichtigung des Umfelds durch eigenes Denken zu erreichen, das der Definition in [5] entspricht.

Wie kann jetzt hier Wealth Lab 8 helfen?

Nachdem wir jetzt wissen, was eine Partikelschwarmanalyse (PSO) bedeutet, stellt sich die Frage, wie kann hier Wealth Lab 8 weiterhelfen?

Nun, dazu muss man wissen, dass Wealth Lab 8 über die Firma finantic eine tolle Extension / Erweiterung für WL8 anbietet, mit der ich unterschiedliche Optimierungsverfahren für meine Tradingstrategien anwenden kann. Darunter ist auch ein Partikelschwarmoptimierung (PSO) enthalten, auf die ich hier ein wenig näher passend zum Thema eingehen möchte.

Wealth Lab 8 – Partikelschwarmoptimierung

Partikelschwarm-Optimierer: PSO wird mit einer Gruppe von Zufallspartikeln initialisiert und sucht dann durch die Aktualisierung von Generationen nach dem Optima. In jeder Iteration wird jedes Partikel durch zwei „beste“ Werte aktualisiert. Der erste Wert ist die beste Lösung, die das jeweilige Partikel bisher gefunden hat. Der andere „beste“ Wert ist der globale beste Wert, der von jedem Partikel in der Population bisher erreicht wurde.

Die Entwicklung von PSO ist noch nicht abgeschlossen. Und es gibt noch viele unbekannte Bereiche in der PSO-Forschung, wie zum Beispiel die mathematische Validierung der Teilchenschwarmtheorie.

Man kann viele Informationen aus dem Internet finden. Im Folgenden finden Sie einige Informationen, die Sie online abrufen können:

http://www.particleswarm.net Viele Informationen über Partikelschwärme und insbesondere über die Optimierung von Partikelschwärmen. Viele Partikelschwarm-Links.

http://icdweb.cc.purdue.edu/~hux/PSO.shtml listet eine aktualisierte Bibliographie der Partikelschwarm-Optimierung und einige Online-Papier-Links

http://www.researchindex.com/ Sie können nach Partikelschwarm-bezogenen Papieren und Referenzen suchen .

Referenzen:

http://www.engr.iupui.edu/~eberhart/

http://users.erols.com/cathyk/jimk.html

http://www.alife.org

http://www.aridolan.com

http://www.red3d.com/cwr/boids/

http://iridia.ulb.ac.be/~mdorigo/ACO/ACO.html

http://www.engr.iupui.edu/~shi/Coference/psopap4.html

Quelle: Bachelor-/Studien Masterarbeit Prof. Dr.-Ing. Joachim Böcker, Leistungelektronik und Elektrische Antriebstechnik
1. Jovita Nenortaite and Rimvydas Simutis, Stocks’ Trading System Based on theParticle Swarm Optimization AlgorithmJovita Nenortaite and Rimvydas SimutisVilnius University Kaunas Faculty of Humanities,Muitines st. 8,3000 Kaunas, Lithuania S.843
2. Jovita Nenortaite and Rimvydas Simutis, Stocks’ Trading System Based on theParticle Swarm Optimization AlgorithmJovita Nenortaite and Rimvydas SimutisVilnius University Kaunas Faculty of Humanities,Muitines st. 8,3000 Kaunas, Lithuania S.845
3. Eberhart, Russell C.; Shi, Yuhui: Computational Intelligence: Concepts to Implementations, S.87
4. J. Kennedy und R. Eberhart, "Particle swarm optimization," Proceedings of ICNN'95 - International Conference on Neural Networks, 1995, pp. 1942-1948 vol.4, doi: 10.1109/ICNN.1995.488968.
5. Y. Shi und R. Eberhart, "A modified particle swarm optimizer," 1998 IEEE International Conference on Evolutionary Computation Proceedings. IEEE World Congress on Computational Intelligence (Cat. No.98TH8360), 1998, pp. 69-73, doi: 10.1109/ICEC.1998.699146.