DE10061108A1 - Verfahren zur Vorhersage von Börsenkursen - Google Patents
Verfahren zur Vorhersage von BörsenkursenInfo
- Publication number
- DE10061108A1 DE10061108A1 DE2000161108 DE10061108A DE10061108A1 DE 10061108 A1 DE10061108 A1 DE 10061108A1 DE 2000161108 DE2000161108 DE 2000161108 DE 10061108 A DE10061108 A DE 10061108A DE 10061108 A1 DE10061108 A1 DE 10061108A1
- Authority
- DE
- Germany
- Prior art keywords
- indicators
- forecast
- knn
- neural network
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
Die vorliegende Erfindung betrifft Vorhersageverfahren, die mit künstlichen, neuronalen Netzen (14) arbeiten. Eine Vielzahl von Indikatoren (13) dienen zur Berechnung von Prognosewerten P1...Pq auf Basis von historischen Daten (10). Ein genetischer Algorithmus dient zum Zwecke einer Selbstauswahl von treffenderen Indikatoren gegenüber weniger treffenden für eine Verbesserung der Prognosequalität des künstlichen neuronalen Netzes (14).
Description
Die vorliegende Erfindung betrifft Effizienzsteigerungen
und Qualitätssteigerungen bei der computergestützten Bör
senkursprognose. Sie betrifft insbesondere Vorhersagever
fahren, die mit künstlichen, neuronalen Netzen arbeiten.
Eine gute Vorhersage von Börsenkursen ist auf Dauer
schwer zu realisieren. Der Kurswert einer Aktie ist ab
hängig von vielen verschiedenen Einflußfaktoren. Es gibt
ökonomische Einflußfaktoren, wie etwa das ökonomische Um
feld, in dem sich das zu der betreffenden Aktie gehörende
Unternehmen bewegt, es gibt lokale und regionale und so
gar globale Trends, die den Kurswert einer Aktie beein
flussen, wobei bestimmte dieser Trends auch nicht ratio
nal begründbar sind, sondern vielmehr entweder einfach
unvorhersagbar oder auf irrationalen und teilweise emo
tionalen Reaktionen der an der Börse beteiligten Personen
abhängig sind. Eine Börsenkursprognose für eine bestimmte
Aktie kann auf wirtschaftlichen Gesichtspunkten wie etwa
Unternehmensgewinn, Dividendenausschüttung, Shareholder
value des betreffenden Unternehmens basieren und dabei
nach bestimmte lokale, regionale oder globale Trends ver
suchen mit einzubeziehen. Eine solche Börsenkursprognose
ist dann basiert auf dem fundamentalen Fachwissen von
Börsenökonomen, die sich ausgesprochen gut auskennen,
insbesondere auf dem Gebiet der betreffenden Aktie. Sol
che Fachleute sind im Stande, in der Branche des Unter
nehmens befindliche andere Unternehmen mit in die Kalku
lation hineinzunehmen und schaffen es daher, eine Kurs
wertprognose auf eine breitere Basis zu stellen. Der
Nachteil an solchen Kurswertprognosen besteht darin, daß
die Vorhersagegenauigkeit nur bei knapp über 50% liegt,
daß heißt das gesamte Expertenwissen bewirkt lediglich
eine Verbesserung von wenigen Prozent über der 50-%-
Marke, die man ebenfalls durch Würfeln erreichen würde,
wenn der Erfassungszeitraum und die Anzahl der Würfel
groß genug ist. Ein weiterer Nachteil besteht darin, daß
das Verfahren nicht automatisierbar ist, und immer von
Menschenverstand abhängig ist. Der menschliche Verstand
gerät jedoch an seine natürlichen Grenzen, wenn die Si
tuation an der Börse zu komplex wird. In einem solchen
Fall gewinnt immer mehr Intuition die Oberhand bei der
Prognose, was sich manchmal positiv jedoch auch negativ
auswirken kann. Einen anderen Ansatz vertreten Analysten,
die versuchen, aus historischen Kursverläufen einer Aktie
auf die Zukunft des Aktienwertverlaufes zu schließen.
Diese Verfahren besitzen im Grundsatz den Vorteil, daß
sie automatisierbar sind, mit mathematischen Methoden
greifbar und auf Computern implementiert werden können.
Dies wiederum hat den Vorteil, daß die Komplexität der
Situation an der Börse durch einen Upscaling-Vorgang des
zugrunde liegenden Vorhersagemodells aufgefangen werden
kann und dadurch kein unüberwindbares Hindernis zur Er
zielung einer guten Vorhersagequalität mehr vorliegt.
In einem solchen System werden die historischen Daten an
hand von verschiedenen, mathematischen Operatoren, wie
etwa gleitende Durchschnitte, Zinshöhe, Wechselkursver
hältnisse, Umsatzverläufe, Inflationsrate, etc. bearbei
tet und es wird aus einem Vorhersagemodell ein Prognose
wert gewonnen. In fortgeschrittenen Vorhersagesystemen
dieses Typs arbeiten auch Implementierungen von sogenann
ten künstlichen, neuronalen Netzen, die in besonderer
Weise dazu geeignet sind, unregelmäßig strukturierte Da
ten sowie komplexe Regeln aufeinander abzubilden, um so
mit mit einer Wahrscheinlichkeit, die deutlich größer ist
als 50%, eine Kurswertprognose zu leisten.
Ein Beispiel für ein solches Vorhersageinstrument ist auf
der Internet-Web-Seite www.brainmaker.com veröffentlicht.
Das dort gezeigte Vorhersagesystem besteht in einer Kom
bination eines Expertensystems und eines neuronalen Net
zes, um die beiden oben erwähnten, im Grundsatz verschie
denen Ansätze miteinander vorteilhaft zu kombinieren.
Mittels des Expertensystems sollen Regeln computeraus
wertbar dargestellt werden, die das Wissen und die Erfah
rung von Börsenexperten beinhalten, und diesen wertvol
len, fachlichen Input mit der mathematischen Präzision
der Vorhersage eines anhand von historischen Daten trai
nierten künstlichen, neuronalen Netzes kombinieren.
In diesem Beispiel dient das ebenfalls als Computerpro
gramm implementierte Expertensystem dazu, der anderen
Komponente, also dem neuronalen Netzwerk Arbeit und Re
chenleistung abzunehmen, indem es dem neuronalen Netzwerk
bestimmte Regeln als Eingabe zur Verfügung stellt, die es
sich sonst - in Abwesenheit eines Expertensystems - nur
mit immens langer Rechenzeit als berechnete Resultate an
eignen könnte. Dabei darf nicht vergessen werden, daß
durch Zuhilfenahme eines solchen Expertensystems zwar
komprimiertes Expertenwissen einfließt, das jedoch auch
von Zeit zu Zeit aktualisiert werden muß, um Raum zu
schaffen für "neue Börsenregeln", die das aktuelle Ge
schehen an der Börse besser wiedergeben als der Satz der
alten Regeln. Ohne den Einsatz eines solchen Expertensy
stems müßte das künstliche neuronale Netz mit einer Viel
zahl von sogenannten Indikatoren und anhand der vorer
wähnten, historischen Daten trainiert werden.
Ein backpropagation Algorithmus, wie er vielfach zum
Trainieren von neuronalen Netzen verwendet wird, und im
Fall einer besonders leistungsfähigen Programmvariante
ein genetischer Algorithmus trainiert dabei das neuronale
Netz. Da das Trainieren eines neuronalen Netzes die Ba
sisvoraussetzung für eine Prognose ist, muß der Fokus
darauf gerichtet sein, das künstliche neuronale Netz be
sonders gut zu trainieren.
Bei der Vorhersage des oben erwähnten Vorhersageprogram
mes für den S wird das neuronale Netz nur mit
den jüngeren Marktdaten trainiert, weil herausgefunden
wurde, daß das gegenwärtige Marktverhalten entscheidender
ist als das beispielsweise vor 25 Jahren stattfindende.
Des weiteren werden verschiedene Indikatoren verwendet,
beispielsweise ADX, MACD, stochastische Indikatoren, DOW,
Volume, etc.
Der Rechenaufwand für die Trainingsphase eines neuronalen
Netzes ist per se groß, da in einem neuronalen Netz
grundsätzlich jedes Element mit jedem anderen Element von
jeweils benachbarten Schichten verknüpft ist. Verbindet
man ein beliebiges Eingabeneuron eines neuronalen Netz
werks mit einem beliebigen anderen Ausgabeneuron, so er
geben sich um so mehr Möglichkeiten, durch das Netz zu
gehen, je mehr Neuronen das neuronale Netz aufweist. Je
der der oben erwähnten Indikatoren bildet jedoch ein Ein
gabeneuron für das neuronale Netz. Andere Indikatoren
sind beispielsweise die Kurswerte bestimmter anderer Ak
tien, möglicherweise aus derselben Branche wie das be
treffende Unternehmen, oder aus einer benachbarten Bran
che, oder aus irgendeiner anderen Branche, bei der zu
nächst überhaupt kein objektiver, wirtschaftlicher Zusam
menhang zwischen den beiden Branchen besteht.
Die Rechenzeit, die erforderlich ist, um ein realisti
sches, neuronales Netz in vernünftiger Weise zu trainie
ren, damit es die große Vielzahl an Indikatoren oder In
dikatorkombinationen für den Kurswert einer Aktie in ge
bührender Weise berücksichtigt, verhält sich in höchstem
Maße nicht-linear zur Anzahl der verwendeten Indikatoren.
Die Rechenzeit steigert sich im allgemeinen mit 22.Anzahl der
verwendeten Indikatoren
Es wäre daher wünschenswert, ein Vorhersagesystem für
einzelne Aktienkurse zur Verfügung zu stellen, das eine
Vielzahl von Indikatoren bei der Vorhersage mit berück
sichtigt, keine wesentlichen Indikatoren von vornherein
ausschließt und das im wesentlichen ohne Hinzunahme
und/oder Ausnutzen von Expertenwissen von Börsenfachleu
ten betrieben werden kann.
Die vorliegende Erfindung offenbart und beansprucht unter
anderem ein computergestützt ausführbares Verfahren zur
Erstellung von Prognosewerten von Börsenkursen, bei dem
eine Mehrzahl von Indikatoren anhand von historischen Da
ten zur Berechnung von Prognosewerten dienen, enthaltend
die Schritte,
die Resultate wenigstens eines Indikators für eine Be rechnung von Prognosewerten unter Einsatz einer Implemen tierung eines KNN zu verwenden,
Durchführen einer Trainingsphase für das KNN zum Aufbau eines darin enthaltenen Grundschemas, bis zu einer vorbe stimmten, unter Einbeziehung von historischen Daten defi nierten Prognosequalität,
wobei die Trainingsphase unter Einbeziehung eines geneti schen Algorithmus' erfolgt,
Ausgeben wenigstens eines Prognosewertes.
die Resultate wenigstens eines Indikators für eine Be rechnung von Prognosewerten unter Einsatz einer Implemen tierung eines KNN zu verwenden,
Durchführen einer Trainingsphase für das KNN zum Aufbau eines darin enthaltenen Grundschemas, bis zu einer vorbe stimmten, unter Einbeziehung von historischen Daten defi nierten Prognosequalität,
wobei die Trainingsphase unter Einbeziehung eines geneti schen Algorithmus' erfolgt,
Ausgeben wenigstens eines Prognosewertes.
Das Verfahren ist gekennzeichnet durch den Schritt:
Verwenden des genetischen Algorithmus' zum Zwecke einer Selbstauswahl von treffenderen Indikatoren gegenüber we niger treffenden für eine Verbesserung der Prognosequali tät des KNN.
Verwenden des genetischen Algorithmus' zum Zwecke einer Selbstauswahl von treffenderen Indikatoren gegenüber we niger treffenden für eine Verbesserung der Prognosequali tät des KNN.
Das erfindungsgemäße Verfahren mit dem kennzeichnenden
Merkmal des Anspruchs 1 bringt den Vorteil gegenüber dem
oben genannten Stand der Technik mit sich, dass eine grö
ßere Anzahl von Indikatoren bei dem Training des KNN Ver
wendung findet. Eine daraus zunächst zu erwartende dra
stische Zunahme der Rechenzeit für die Trainingsphase des
KNN wird jedoch vermieden, weil aufgrund der Verwendung
des genetischen Algorithmus' hierfür kaum oder gar nicht
optimierende Indikatoren oder Kombinationen daraus
schnell erkannt und aussortiert werden. Es findet also
eine automatische Selbstauswahl der Indikatoren durch das
Prognosesystem selbst statt, wobei gleichzeitig die Re
chenzeit bei der Trainingsphase nicht wesentlich erhöht
wird und für die Anwendungsphase der geschäftsprozessre
levanten Prognose sogar erniedrigt wird.
Im wesentlichen wird dies dadurch erreicht, dass ein ge
netischer Algorithmus eine operative "Klammer" bildet um
die Kombination aus Indikatorberechnung und KNN-
Berechnung mit Daten aus der Indikatorberechnung. So kann
das KNN frühzeitig von unnötigem Ballast befreit und so
gar unter Verzicht auf einen üblichen 'backpropagation'
Algorithmus geprägt und optimiert werden. Nach kurzer,
errastischer Orientierungszeit mit grossen Fehelern im
Vergleich zu backpropagation-Prägung konvergiert das er
findungsgemäße Verfahren jedoch schneller. Es liefert
dann präzisere und treffsichere Vorhersagen als backpro
pagation-basierte KNN vom Stand der Technik.
Dies stellt eine erheblichen Vorteil gegenüber dem vorge
nannten Stand der Technik dar, weil es damit unter Ver
wendung von relativ geringem Rechenaufwand gelingt, bei
Bedarf für jeden Einzelkurs individuelle Indikatoren aus
einer riesigen Vielzahl von Indikatoren oder deren Kombi
nationsmöglichkeiten prinzipiell für eine Kursvorhersage
zu nutzen, ohne ihre Brauchbarkeit dafür von vornherein
auszuschließen.
Ein weiterer Vorteil besteht darin, dass praktisch kei
nerlei Fachkenntnisse mehr notwendig sind, um das erfin
dungsgemäße Verfahren durchzuführen, die im Stand der
Technik unersetzlich sind, da die für die Computervorher
sage verwendeten Indikatoren möglichst kompetent und in
Abhängigkeit des vorherzusagenden Börsenwertes bestimmt
werden müssen.
Damit erhöht sich die Vorhersagequalität für beliebig
wählbare Börsenwerte. Außerdem muß das erfindungsgemäße
Vorhersageverfahren nicht an einzelne Börsenwerte ange
paßt werden. Es gibt daher gute Prognosen ab für Börsen
werte aus beliebigen Branchen.
In den Unteransprüchen finden sich vorteilhafte Weiter
bildungen und Verbesserungen des jeweiligen Gegenstandes
der Erfindung.
Der vorliegenden Erfindung liegt der historisch bekannte
Ansatz zugrunde, dass in den historischen Daten von Akti
enkursen implizite Informationen über den zukünftigen
Verlauf der Aktienkurse enthalten ist.
Dabei können auch in den historischen Daten einer Aktie X
implizit Zukunftsinformationen über mehrere Aktien Y1
. . Yn enthalten sein (1 : n), oder aus der Zusammenschau hi
storischer Daten von Z1 . . Zn Aktienkursen können sich im
plizit Informationen über den zukünftigen Verlauf einer
bestimmten Aktie ergeben (n : 1). Auch m : n Beeinflussungen
sind möglich.
Aufgrund des gezielten Einsatzes des genetischen Algo
rithmus', der vorzugsweise die funktionale Kombination
aus Indikatorergebnissen und deren Verarbeitung in einem
neuronalen Netz 'umhüllt', kann trotz des hochdimensiona
len Eingabeparameter-Raums ein große Vielzahl an Indika
toren, die daraus folgende Vielzahl an Kombinationen von
Indikatoren sowie die Vielzahl an Parametern, mit denen
eine Untermenge der Indikatoren bestückt werden kann, mit
vertretbarem Rechenaufwand getestet werden, um das neuro
nale Netz zu optimieren.
Erfindungsgemäß wird die große Vielzahl an Indikatoren
und Indikatorkombinationen in dem oben genannten genetischen
Algorithmus so verarbeitet, dass zum Training des
KNN vor allem in einer gegenwartsnahen Phase und zur Pro
gnose von Kurswerten selbst nur bevorzugte Indikatoren
oder Indikatorkombinationen verwendet werden, die einen
Selektionsprozess des genetischen Algorithmus' 'überlebt'
haben und die den Validierungsbedingungen des KNN aus der
Trainingsphase genügen.
Kurz zusammengefaßt läuft das erfindungsgemäße Börsenkur
sprognoseverfahren in drei Phasen ab:
Initialisierung,
Training mit Validierung und
Anwendung.
Initialisierung,
Training mit Validierung und
Anwendung.
In der Initialisierungsphase wird eine Population von
neuronalen Netzen mit Indikatoren angelegt. Eine solche
Kombination aus Indikatoren und KNN, bei der Indikatorer
gebnisse aus der Anwendung der Indikatoren als Operatoren
auf historische Kursdaten erzielt werden, die ihrerseits
zur Bildung und Optimierung des KNN verwendet werden,
wird im folgenden auch als Artificial Intelligence Me
thods, kurz: A. I. M. System oder A. I. M.-Netz bezeichnet.
In der Trainingsphase lernen die A. I. M.-Netze aus hi
storischen Kursdaten, die beispielsweise als Datenmatrix
für beliebig viele Einzelwerte oder Indexwerte vorliegen
können, Trends zu erkennen. Diese Trends, mögen sie als
quasiperiodische Schwingung oder als 'wilde', stocha
stisch 'zitternde' und verbeulte Zeitreihe anzuschauen
sein, stellt gelerntes Wissen dar, auf das später in der
Anwendungsphase gewinnbringend zurückgegriffen werden
kann, da es in der 'trainierten' Form des KNN abrufbar
vorhanden ist.
Das erfindungsgemäße Verfahren läßt sich für die Prognose
einer Mehrzahl an Aktienkursen verwenden. Jeder Indikator
hat Zugriff auf die gesamte Eingabematrix. Jedes Ausgabe
neuron des neuronalen Netzes ist mit genau einem Progno
sewert für genau eine Aktie assoziiert. Diese Assoziie
rung findet in der Trainingsphase des KNN dadurch statt,
dass der Ausgabewert an einem bestimmten Ausgabeneuron
mit Differenzwerten mit historischen Daten der betreffen
den vorherzusagenden Aktie verglichen wird.
In der Anwendungsphase wird dann das in den A. I. M.-Netzen
gespeicherte Wissen tatsächlich genutzt, um Prognosen für
zukünftige Kursentwicklungen zu erstellen:
Aus der Trainingsphase geht also ein A. I. M-Netz mit mini malem Fehler hervor. Bei diesem Netz werden Indikatoren, die mit Verbindungen mit geringem Gewicht an das neurona le Netz angeschlossen sind, sowie Verbindungen mit gerin gem Gewicht innerhalb des neuronalen Netzes gelöscht. Da mit wird die Komplexität des A. I. M-Netzes und damit die Rechenzeit für eine Prognose erheblich verringert.
Aus der Trainingsphase geht also ein A. I. M-Netz mit mini malem Fehler hervor. Bei diesem Netz werden Indikatoren, die mit Verbindungen mit geringem Gewicht an das neurona le Netz angeschlossen sind, sowie Verbindungen mit gerin gem Gewicht innerhalb des neuronalen Netzes gelöscht. Da mit wird die Komplexität des A. I. M-Netzes und damit die Rechenzeit für eine Prognose erheblich verringert.
Mit diesem A. T. M.-Netz als "Runtimeversion" werden in der
späteren täglichen Einsatzpraxis die täglichen Kurspro
gnosen berechnet. Zusätzlich werden jeden Tag die Progno
sen des Netzes, die in der Vergangenheit berechnet wurden,
mit der tatsächlichen Kursentwicklung verglichen.
Wird die Abweichung der Prognosen zu groß, wird eine neue
Trainingsphase angestoßen und unter Einbeziehung der neu
entstandenen historischen Kursdaten wird ein neues A. I. M-
Netz berechnet. Dabei wird auf den Pool der A. I. M.-Netze
der vorigen Trainingsphase zurückgegriffen. Diese Netze
haben schon teilweise Trends der Kursentwicklungen ge
lernt und brauchen nicht neu initialisiert werden.
Die Trainingsphase kann eine mehrfache Wiederholung einer
zeitpunktbezogenen Propagation von auf jeweils verschie
denen historischen Zeitpunkten beruhenden Indikatorresul
taten durch das KNN enthalten, wobei die Indikatorresul
tate anhand von historischen Daten gewonnen wurden,
sowie einen jeweiligen Vergleich der zugehörigen, zeit
punktbezogenen Ausgabe des KNN als Kurswertprognose mit
einem entsprechenden, historischen Kurswert enthalten.
Damit wird eine systematische Trainingsphase mit hoher
Effizienz bewirkt.
Die historischen Daten können in vorteilhafter Weise aus
einem Zeitfenster aus einer Anzahl T zusammenhängender
Tage zur Einzelvorhersage eines Kurses verwendet werden.
Die vorgenannte mehrfache Wiederholung kann eine sequen
tielle Abfolge von Einzelwertprognosen enthalten, die
sich aus einer Verschiebung des T-Tages-Fensters aus der
Vergangenheit in die Gegenwart ergibt, und wobei T im Be
reich zwischen 10 und 100, bevorzugt zwischen 20 und 80
und besonders bevorzugt zwischen 40 und 60 liegt, wobei
für die jeweils nächstfolgende Einzelwertprognose das
Zeitfenster um ein Anzahl von D Tagen verschoben wird.
Eine brauchbare Wahl für D ist: 0 < D < 10, und bevorzugt
0 < D < 4, und besonders bevorzugt
D = 1.
T kann beispielsweise um 50 herum liegen. Aber auch ande
re Werte für T sind praktikabel.
Ein weiterer Schritt, eine Vielzahl VZ von Indikatoren
für die Trainingsphase des KNN zum Erhalt eines verbes
serten Grundschemas des KNN zu verwenden, ist vorteilhaft
anwendbar, wobei VZ größer als 3, bevorzugt größer als 10
und besonders bevorzugt größer als 20 ist. Damit ist ein
klarer Vorsprung vor dem Stand der Technik bewirkt, der
aus Rechenzeiterwägungen meist nur eine geringe Anzahl
von Indikatoren berücksichtigen kann.
Insbesondere können auch mathematische Funktionen als In
dikatoren zumindest mitverwendet werden. Dies bewirkt ei
ne sehr systematische Analyse der Zeitreihen und trägt
dazu bei, einzelne Trends, die weder mit bloßem Auge noch
mit erhöhtem Maß an menschlicher Analyse erkannt werden,
als neuen Zusammenhang wertschöpfend in die Prognose ein
zubringen. Nur beispielhaft seien die folgenden Indikato
ren genannt:
Gleitender Durchschnitt (simple/weighted/exponential)
Standardabweichung
OBV-Linie (On-Balance-Volume)
Momentum
ROC (Rate-of-Change)
S-ROC (Smoothed Rate-of-Change)
Differenz zwischen gleitenden Durchschnitten
RSI (Relative-Strength-Index)
Stochastik-Indikator
MACD (Moving Average Convergence/Divergence System)
ADL (Accumulation/Distribution Line)
TRSI (True Strength Index)
VHF (Vertical Horizontal Filter)
Gleitender Durchschnitt (simple/weighted/exponential)
Standardabweichung
OBV-Linie (On-Balance-Volume)
Momentum
ROC (Rate-of-Change)
S-ROC (Smoothed Rate-of-Change)
Differenz zwischen gleitenden Durchschnitten
RSI (Relative-Strength-Index)
Stochastik-Indikator
MACD (Moving Average Convergence/Divergence System)
ADL (Accumulation/Distribution Line)
TRSI (True Strength Index)
VHF (Vertical Horizontal Filter)
ARMA-Modellanpassungen (Autoregressive Moving Average)
Polynom-Interpolation
Fourier-Analyse
Korrelations-Koeffizient
Fraktale Dimension
Maximum/Minimum/Median
Lyapunovexponent
Transinformation
Akima-Interpolation
Spektrogramm
Periodogramm
Waveletkoeffizienten
Principal Component Analysis (SVD Singular Value Decompo sition)
Independent Component Analysis
IIR-Filter (Infinte Impulse Response)
FIR-Filter (Finite Impulse Response)
Support-Vector-Machines
IFS (Iterated Function Systems)
Polynom-Interpolation
Fourier-Analyse
Korrelations-Koeffizient
Fraktale Dimension
Maximum/Minimum/Median
Lyapunovexponent
Transinformation
Akima-Interpolation
Spektrogramm
Periodogramm
Waveletkoeffizienten
Principal Component Analysis (SVD Singular Value Decompo sition)
Independent Component Analysis
IIR-Filter (Infinte Impulse Response)
FIR-Filter (Finite Impulse Response)
Support-Vector-Machines
IFS (Iterated Function Systems)
Desweiteren enthält die Zielfunktion des genetischen Al
gorithmus' in vorteilhafter Weise die Differenz zwischen
aus der Vergangenheit vorhergesagten Kurswerten und durch
die Vergangenheit belegter Kurswerte, wobei die Prognose
qualität durch eine in der Vergangenheit liegende 'Vali
dierungsphase' auf ein objektiv nachprüfbares Maß festge
legt werden kann. Dies stellt einen eigenen Vorteil dar.
Die Feinabstimmung der Indikatoren kann zum Zwecke einer
weiteren Verbesserung der Prognosequalität mit dem KNN
durchgeführt werden.
Weiter können historische Daten einer Mehrzahl von ver
schiedenen Aktien als Input zur Kurswertprognose einer
einzelnen Aktie mit verwendet werden. Die Auswahl der mit
zu verwendenden Aktien kann durch das KNN selbst durchge
führt werden.
Des weiteren können zur Prognose des Kurswertes einer Ak
tie aus einer bestimmten Branche auch branchenfremde Ak
tien verwendet werden.
Ausführungsbeispiele der Erfindung sind in den Zeichnun
gen dargestellt und in der nachfolgenden Beschreibung nä
her erläutert.
Es zeigen:
Fig. 1 eine schematische Darstellung von wesentlichen
Komponenten eines Ausführungsbeispiels eines
Prognoseverfahrens gemäß der vorliegenden Er
findung,
Fig. 2 eine schematische Übersichtsdarstellung der
vier Phasen eines Ausführungsbeispiels eines
Prognoseverfahrens gemäß der vorliegenden Er
findung,
Fig. 3 eine detailliertere, schematische Darstellung
mit weiteren Einzelheiten bezüglich einzelner
Phasen des Verfahrens gemäß Fig. 1,
Fig. 4 eine schematische Übersichtsdarstellung des
Steuerflusses während der Initialisierungsphase
eines Ausführungsbeispiels eines Prognosever
fahrens gemäß der vorliegenden Erfindung,
Fig. 5 eine schematische Übersichtsdarstellung des
Steuerflusses während der Trainingsphase in
Fortsetzung von Fig. 4;
Fig. 6 eine schematische Übersichtsdarstellung des
Steuerflusses während der Trainingsphase in
Fortsetzung von Fig. 5; ;
Fig. 7 Anwendungsphase in Fortsetzung von Fig. 6, und
Fig. 8 eine schematische Detaildarstellung des Steuer
flusses während der Fehlerberechnung über einem
T-Tage-Fenster
In den Figuren bezeichnen gleiche Bezugszeichen gleiche
oder funktionsgleiche Komponenten.
Mit allgemeinem Bezug zu den Zeichnungen und besonderem
Bezug zu Fig. 1 enthält eine Datenmatrix 10 für histori
sche Kursdaten die Tagesabschlusswerte t1, . . tn der letz
ten 10 Jahre für eine bestimmte Auswahl w1, . . wm, bei
spielsweise wm = 100, an Wertpapieren oder Leitwerten, wie
Börsenindizes, DAX, Dow Jones, etc. Bei etwa 220 Han
delstagen pro Jahr hat die Matrix etwa 2200 Zeilen und so
viele Zeitreihen als Spalten, wie Wertpapiere darin ge
führt werden. Mit wm = 100 ergeben sich also ca. 220000
Werte.
Über eine Eingabeschnittstelle 12 werden diese Daten zu
nächst einer Indikatorberechnung zugeführt, die eine
Vielzahl an Indikatoren 13 zur Auswahl hat und zunächst
keinen ausschließt.
Ein Indikator berechnet aus der Matrix der historischen
Kursdaten ein oder mehrere Werte, die in jeweils ein oder
mehrere Eingabeneuronen 15 des neuronalen Netzes 14 (KNN)
einfließen.
Beispielsweise berechnet ein Mittelwert-Indikator für je
de Aktie die Mittelwerte der Kursdaten der letzten 2, 3,
. . . T Tage. Für jede Aktie enthält der Indikator einen
Gewichtsvektor mit T-1 Elementen. Die T-1 Mittelwerte ei
ner Aktie werden mit dem Gewichtsvektor der Aktie gewich
tet und zu einem Wert pro Aktie zusammengefasst. Diese
Werte werden in das neuronale Netz 14 eingespeist. Über
die Gewichtsvektoren der Aktien kann der Indikator vari
iert werden. Er wird somit 'adaptiv' gemäß der vorliegen
den Erfindung.
Ein Fourier-Indikator beispielsweise berechnet Fourier-
Koeffizienten für die Kursdaten jeder Aktie. Die Lage
des Maximums der Koeffizienten fließt in das Neuronale
Netz ein, ein Wert pro Aktie. Vor der Berechnung der
Koeffizienten werden die Daten vorzugsweise mit einem
Bandpass-Filter vorbehandelt. Für jede Aktie enthält der
Indikator einen Filter. Über die obere und untere Grenz
frequenzen bzw. über die Form der Dämpfungskurven der
Filter kann der Indikator variiert werden.
In vorteilhafter Weise können nun die klassischen Finanz-
Indikatorem, jedoch auch die Indikatoren der klassischen
technischen Analyse, und rein mathematische Indikatoren
verwendet werden:
Eine sinnvolle, aber nicht zwangsläufig vollständige Aus wahl ist wie folgt:
Gleitender Durchschnitt (simple/weighted/exponential)
Standardabweichung
OBV-Linie (On-Balance-Volume)
Momentum
ROC (Rate-of-Change)
S-ROC (Smoothed Rate-of-Change)
Differenz zwischen gleitenden Durchschnitten
RSI (Relative-Strength-Index)
Stochastik-Indikator
MACD (Moving Average Convergence/Divergence System)
ADL (Accumulation/Distribution Line)
TRSI (True Strength Index)
VHF (Vertical Horizontal Filter)
Eine sinnvolle, aber nicht zwangsläufig vollständige Aus wahl ist wie folgt:
Gleitender Durchschnitt (simple/weighted/exponential)
Standardabweichung
OBV-Linie (On-Balance-Volume)
Momentum
ROC (Rate-of-Change)
S-ROC (Smoothed Rate-of-Change)
Differenz zwischen gleitenden Durchschnitten
RSI (Relative-Strength-Index)
Stochastik-Indikator
MACD (Moving Average Convergence/Divergence System)
ADL (Accumulation/Distribution Line)
TRSI (True Strength Index)
VHF (Vertical Horizontal Filter)
ARMA-Modellanpassungen (Autoregressive Moving Average)
Polynom-Interpolation
Fourier-Analyse
Korrelations-Koeffizient
Fraktale Dimension
Maximum/Minimum/Median
Lyapunovexponent
Transinformation
Akima-Interpolation
Spektrogramm
Periodogramm
Waveletkoeffizienten
Principal Component Analysis (SVD Singular Value Decompo sition)
Independent Component Analysis
IIR-Filter (Infinte Impulse Response)
FIR-Filter (Finite Impulse Response)
Support-Vector-Machines
IFS (Iterated Function Systems)
Polynom-Interpolation
Fourier-Analyse
Korrelations-Koeffizient
Fraktale Dimension
Maximum/Minimum/Median
Lyapunovexponent
Transinformation
Akima-Interpolation
Spektrogramm
Periodogramm
Waveletkoeffizienten
Principal Component Analysis (SVD Singular Value Decompo sition)
Independent Component Analysis
IIR-Filter (Infinte Impulse Response)
FIR-Filter (Finite Impulse Response)
Support-Vector-Machines
IFS (Iterated Function Systems)
Im vorliegenden Fall wird als künstliches, neuronales
Netz (KNN) 15 ein sogenanntes Multilayer-Perceptron ver
wendet. In diesem Netztyp sind Neuronen in mehreren
Schichten organisiert. Jedes Neuron kann ein oder mehrere
Eingänge und ein oder mehrere Ausgänge haben.
Die erste Neuronenschicht ist die Eingabeschicht 15. Die
Neuronen dieser Schicht verfügen jeweils über genau einen
Eingang. In die Eingänge dieser Neuronen werden Daten von
aussen als Ergebnisse von der Indikatorberechnung kommend
in das Netz 14 geliefert.
Hinter der Eingabeschicht stehen eine oder mehrere ver
deckte Schichten 16, im Beispielsfall eine einzige. Jedes
Neuron einer verdeckten Schicht ist über seine Eingänge
mit jedem Neuron der vorhergehenden Schicht über seine
Ausgänge mit jedem Neuron der nachfolgenden Schicht ver
bunden - jeweils über gewichtete Verbindungen.
Nach den verdeckten Schichten steht die Ausgabeschicht
17. Jedes Neuron der Ausgabeschicht ist über seine Ein
gänge mit jedem Neuron der vorhergehenden, verdeckten
Schicht verbunden. Die Ausgabeneuronen haben jeweils ge
nau einen Ausgang, über den Daten aus dem Netz 14 ausge
lesen werden können. Die Ausgabedaten sind die Prognose
daten P1, . . Pq.
Bei der Propagation des Netzes berechnet jedes Neuron die
Summe der Daten aus allen seinen Eingängen. Diese Summe
wird durch eine nichtlineare (in der Regel sigmoide)
Funktion geschickt (beispielsweise der Tangens Hyperbo
licus). Das Ergebnis der Funktion wird an alle Ausgänge
des Neurons geschickt. Über die gewichteten Verbindungen
erreicht die Ausgabe der einen Schicht die Eingänge der
nächsten Neuronenschicht.
Mit besonderem Bezug zu nun Fig. 2 und Fig. 3 besteht
das erfindungsgemäße Prognoseverfahren aus einer Initia
lisierungsphase 210, eine Trainingsphase 220, einer Vali
dierungsphase 230 und einer Anwendungs-/ und Prognosepha
se 240.
In Fig. 3 ist die Initialisierungsphase 210 nicht darge
stellt. Die Initialisierungsphase 210 wird im folgenden
mit gleichzeitigem Bezug zu Fig. 4 näher erläutert.
In einem Schritt 410 werden die für die spätere Trai
nings-Validierungs- und Anwendungsphase benötigten Modellparameter
festgelegt: im einzelnen handelt es sich
dabei um eine Auswahl derjenigen Aktien, die zur Prognose
für die vorherzusagenden Kurswerte der verschiedenen Ak
tien verwendet werden sollen. Wie oben erwähnt, können
beispielsweise Aktien von Unternehmen der selben Branche
verwendet werden, bei denen ersichtlich ist, daß diese
einen relativ großen Markteinfluß besitzen. Des weiteren
wird ein Zeitfenster von T Tagen für die später folgende
Trainingsphase 220 festgelegt. Wie aus Fig. 3 ersicht
lich, kann dieses Zeitfenster etwa 50 Tage betragen.
Generell wird das KNN innerhalb der in Fig. 3 links ein
gezeichneten Zeitzone, nämlich der Trainingsphase, trai
niert. In der sich anschließenden Validierungsphase wird
dessen Vorhersagequalität anhand von historischen Daten
überprüft. Das heißt, die Vorhersagefähigkeiten des KNN
werden am Ende der Trainingsphase getestet und das jewei
lige Testergebnis wird mit historisch bekannten Daten,
die jedoch das KNN noch niemals "gesehen" hat, validiert.
An die Validierungsphase anschließend ist der Prognosebe
reich, ganz rechts in Fig. 3, gezeichnet.
Wie aus Fig. 3 gut ersichtlich, ist das Prognosedatum der
heutige Tag, T umfasst die direkt zurückliegenden 50 Tage
und das Prognoseziel liegt in der Zukunft, beispielsweise
auf dem 10. Tag, ab "heute", s. rechter Rand der Fig. 3,
dem Tag der Durchführung der Prognose gerechnet.
Die Trainingsphase kann beispielsweise 10 Jahre betragen,
wobei dann beispielsweise eine Validierungsphase von etwa
einem Jahr in vorteilhafter Weise verwendet werden kann.
Ein Prognoserahmen erstreckt sich dann in etwa auf einen
Zeitraum zwischen einem und etwa fünfzig Tagen. Die in
Fig. 3 dargestellten Rechtecke sollen schematisch die
Zeitfenster darstellen, aus denen jeweils historische Da
ten zum Trainieren des KNN verwendet werden. Dieses Fen
ster wird in der Trainingsphase schrittweise verschoben,
so daß sich die in Fig. 3 dargestellte Darstellung er
gibt. Weitere Einzelheiten dazu werden im Zusammenhang
mit der Beschreibung von Fig. 5 gegeben. Genauere Einzel
heiten dazu werden weiter unten gegeben.
Weitere Parameter für das Vorhersageverfahren werden wäh
rend der Initialisierungsphase in das Vorhersagesystem
eingegeben:
Die Größe n einer Population. Diese Größe legt fest, mit wieviel KNN ein Gesamtrun des erfindungsgemäßen Vorhersa geverfahrens laufen soll. Beispielsweise kann n = 300 sein, um 300 A. I. M.-Netze zu berechnen. Je größer n gewählt wird, um so größer ist der Rechenaufwand. Wenn daher n zu groß ist, so kann die Vorhersagequalität meist nicht mehr signifikant gesteigert werden. Ist n hingegen zu klein, so ergeben sich nur zu geringe Kombinationsmöglichkeiten für den genetischen Algorithmus.
Die Größe n einer Population. Diese Größe legt fest, mit wieviel KNN ein Gesamtrun des erfindungsgemäßen Vorhersa geverfahrens laufen soll. Beispielsweise kann n = 300 sein, um 300 A. I. M.-Netze zu berechnen. Je größer n gewählt wird, um so größer ist der Rechenaufwand. Wenn daher n zu groß ist, so kann die Vorhersagequalität meist nicht mehr signifikant gesteigert werden. Ist n hingegen zu klein, so ergeben sich nur zu geringe Kombinationsmöglichkeiten für den genetischen Algorithmus.
Ein maximaler Fehler für die Verbesserung eines A. I. M.-
Netzes wird definiert.
Ebenso wird eine Untergrenze für bestimmte Gewichtsfakto
ren Epsilon definiert, die für bestimmte Verbindungen in
dem neuronalen Netz darüber entscheiden sollen, ob eine
Verbindung gelöscht wird oder nicht.
Des weiteren wird eine maximale Anzahl von Netzmutationen
m für jede Generation festgelegt.
Wichtigste Funktion von m ist, eine hinreichende Variabi
lität und eine hinreichende Adaptionsmöglichkeit zu ge
währleisten. Ist m zu gering, dann unterscheiden sich die
Netze nicht wesentlich. Das System kann dann kaum in an
dere Bereiche vordringen, beispielsweise, völlig neue In
dikatorkombinationen generieren, mit der Folge einer zu
geringen Variation. Ist m hingegen zu groß, dann hat das
System nur unzureichende Möglichkeiten, sich mit kleinen
Variationen, also nur geringfügig besseren Lösungen zu
stabilisieren. Die Folge kann eine Begrenzung der Rechen
zeit sein.
Des weiteren wird die Größe des Zeitfensters T, bei
spielsweise auf 50 Tage festgelegt.
Schließlich wird das Prognoseziel P zeitlich fixiert. Das
heißt, von heute an gerechnet kann der Prognosetag bei
spielsweise in 10 Tagen liegen.
In einem nachfolgenden Schritt 420 der Initialisierungs
phase werden für jede Aktie aus der Datenmatrix 10, siehe
Fig. 1, eine bestimmte Anzahl E Eingabeneuronen für Roh
daten erstellt. Die Anzahl E der Eingabeneuronen ist
identisch mit der Anzahl der Ausgabedaten der Indikatoren
für eine jeweilige Aktie. Denn es muß sichergestellt
sein, daß die Indikatorergebnisse in das neuronale Netz
über die Eingabeneuronen einfließen können. Die Ausgaben
der Indikatoren können singuläre Daten oder auch Vektor
daten sein, die aus einer Mehrzahl von Daten bestehen.
Mit erneutem Bezug zu Fig. 4 werden im folgenden in einem
Schritt 430 die Indikatoren 13 und die zu den Indikator
ausgaben passende Zahl an Eingabeneuronen 15 erstellt. Es
wird also dafür gesorgt, daß die vorerwähnte Indikatorbe
rechnung ein Ergebnis liefert, das dann in dem künstli
chen neuronalen Netz weiterbearbeitet werden kann. Die
Verknüpfungsstelle bilden die Eingabeneuronen für das
KNN. Zu diesem Zweck werden die Indikatoren logisch mit
den Eingabeneuronen verbunden, siehe die Pfeile zwischen
den Indikatoren I1 . . . Ir und der ersten Schicht 15 des
künstlichen neuronalen Netzes 14.
In einem weiteren Schritt 440 wird die verdeckte
Schicht16 des KNN erstellt, Schritt 440. Diese
(mindestens) eine verdeckte Schicht enthält ebenfalls ei
ne Mehrzahl an Neuronen. Jedes Neuron einer verdeckten
Schicht ist über seine Eingänge mit jedem Neuron der vor
hergehenden Schicht und über seine Ausgänge mit jedem
Neuron der nachfolgenden Schicht verbunden. Diese Verbin
dungen geschehen jeweils über eine Wichtung, eine solche
gewichtete Verbindung kann beispielsweise mit einem Wich
tungsfaktor, der zwischen 0 und 1 liegen kann, qualitativ
bestückt werden.
Die Wichtungsfaktoren dienen in bekannter Weise zur Cha
rakterisierung des Zusammenhangs zwischen zwei skalaren
Größen, beispielsweise dem Kurswert zweier Aktien.
Jedes Ausgabeneuron ist also über eine Vielzahl von Wegen
durch das KNN mit einem beliebigen Eingabeneuron verbun
den. Die Anzahl dieser Verbindungen wächst mit der Anzahl
der Eingabeneuronen und der Neuronen aus den verdeckten
Schichten, sowie der Anzahl der verdeckten Schichten.
Für weitere Einzelheiten zur tatsächlichen Implementie
rung eines künstlichen neuronalen Netzes kann auf die
einschlägige, weiterführende Literatur zurückverwiesen
werden.
Dann wird in einem Schritt 450 für jede Aktie ein Ausga
beneuron erstellt. Auch hier ist wieder jedes Neuron der
Ausgabeschicht, siehe die untere Schicht 17 in Fig. 1
über seine Eingänge mit jedem Neuron der vorhergehenden
Schicht verbunden. Jedes Ausgabeneuron hat jeweils genau
einen Ausgang, über den Daten aus dem KNN 14 ausgelesen
werden können. In diesem Fall werden die Ausgabeneuronen
zur Ausgabe der Prognosewerte für eine jeweilige Aktie
verwendet. Diese Ausgabewerte sind in Fig. 1 mit P1, P2,
P3, . . . Pq dargestellt.
In einem nächsten Schritt 460 werden die Neuronenschich
ten miteinander verbunden. In vorteilhafter Weise werden
solche Verbindungen mit zufällig ausgewählten Wichtungsfaktoren
initialisiert. In weiter vorteilhafter Weise
werden die Initialisierungsfaktoren aus einem mittleren
Bereich initial gewählt, Schrittt 470, der keine besonde
re Signifikanz für eine Verbindung darstellt, damit ge
währleistet ist, daß das künstliche neuronale Netz in ei
nem relativ neutralen Anfangszustand ist, wenn die Trai
ningsphase begonnen wird.
Dann wird in einem Schritt 480 das so erzeugte A. I. M.-
Netz zu der gegebenenfalls bereits bestehenden Population
an A. I. M.-Netzen hinzugefügt.
In einem nächsten Schritt 490 wird geprüft, ob die vorge
gebene Anzahl n von zu erzeugenden A. I. M.-Netzen bereits
erreicht ist. Im Nein-Fall setzt sich das Verfahren zur
Erstellung eines neuen A. I. M.-Netzes mit Schritt 420
fort, wogegen im Ja-Fall das Ende 495 der Initialisierung
erreicht ist.
In Ergänzung zu oben Gesagtem wird noch ein Pseudocode
für die Initialisierung eingefügt:
n Größe der Population, z. B. 300
m Anzahl der Selektionen/Mutationen pro Generation, z. B. 90
T Größe des Zeitfensters der historischen Kursdaten, z. B. 50 Tage vor dem Prognosetag
P Prognoseziel, z. B. 10 Tage nach dem Prognosetag
e Untergrenze für Gewichtsfaktoren, z. B. 0.000001
m Anzahl der Selektionen/Mutationen pro Generation, z. B. 90
T Größe des Zeitfensters der historischen Kursdaten, z. B. 50 Tage vor dem Prognosetag
P Prognoseziel, z. B. 10 Tage nach dem Prognosetag
e Untergrenze für Gewichtsfaktoren, z. B. 0.000001
Lege eine Population mit n A. I. M.-Netzen an
Für jedes A. I. M.-Netz
{Für jede Aktie
{Erstelle T Eingabeneuronen im neuronalen Netz für die Rohdaten aus dem Zeitfenster mit den historischen Kursdaten;
Erstelle Indikatoren und für jeden Indika tor die zur Indikatorausgabe passende An zahl Eingabeneuronen im neuronalen Netz;
Erstelle ein Ausgabeneuron im neuronalen Netz}
Erstelle verdeckte Neuronenschichten;
Verbinde jedes Neuron jeder Schicht mit jedem Neuron der nachfolgenden Schicht mit zufälligen Gewichten.}
Ende A. I. M Pseudocode.
Für jedes A. I. M.-Netz
{Für jede Aktie
{Erstelle T Eingabeneuronen im neuronalen Netz für die Rohdaten aus dem Zeitfenster mit den historischen Kursdaten;
Erstelle Indikatoren und für jeden Indika tor die zur Indikatorausgabe passende An zahl Eingabeneuronen im neuronalen Netz;
Erstelle ein Ausgabeneuron im neuronalen Netz}
Erstelle verdeckte Neuronenschichten;
Verbinde jedes Neuron jeder Schicht mit jedem Neuron der nachfolgenden Schicht mit zufälligen Gewichten.}
Ende A. I. M Pseudocode.
Mit Bezug zu Fig. 5 und Fig. 6 wird im Folgenden die
Trainingsphase für ein erzeugtes und initialisiertes
A. I. M.-Netz genauer beschrieben.
Das Training beginnt, nachdem die Initialisierung abge
schlossen ist. In einem ersten Schritt 510 wird der Ge
samtfehler jedes A. I. M.-Netzes aus der Population über
den gesamten Trainingsbereich berechnet und gespeichert.
Dieser Gesamtfehler ergibt sich in bevorzugter Weise als
geeignet definierte Summe von Einzelfehlern, i. a.
(Σ|Δ|n)1/n, n ∈ R, die sich jeweils aus einem bestimmten, hi
storischen Zeitfenster und der Differenz zwischen von dem
künstlichen neuronalen Netz erzeugten Prognosewert und
dem diesem Prognosewert entsprechenden historischen Wert
ergibt. Einzelheiten dazu werden weiter unten ergänzend
mit Fig. 8 erläutert.
Wenn die Trainingsphase also 10 Jahre lang ist, die 10
Jahre etwa 220 Börsentage × 10 = 2.200 Börsentage enthal
ten, und die weiter oben erwähnte Verschiebung eines
Zeitfensters jeweils 1 Tag beträgt, so ergeben sich 2.200
Differenzwerte, die zu einem Gesamtfehler geeignet auf
summiert werden. In bevorzugter Weise werden dabei Beträ
ge oder Quadrate von Differenzen addiert, damit positive
Abweichungen negative Abweichungen nicht kompensieren
können. Diejenige Programmschleife, die die oben erwähn
ten 2.200 Einzelfehler generiert, ist in Fig. 3 innerhalb
des Bereichs Training dargestellt. Der Vollständigkeit
halber sei noch einmal angemerkt, daß in diesem bevorzug
ten Ausführungsbeispiel der Wert jedes Einzelfehlers je
des der 2.200 Schleifendurchläufe auf Grund der in Fig. 1
dargestellten Abfolge von Indikatorberechnungen und der
nachfolgenden Propagation der Indikatorergebnisse durch
ein jeweiliges A. I. M.-Netz als Ausgabewert P gewonnen
wird.
Die Berechnung des Gesamtfehlers kann in bevorzugter Wei
se so vorgenommen werden, wie es nachfolgend anhand von
Fig. 8 erläutert wird.
In einem ersten Schritt 810 wird der Starttag für die Be
rechnung des Gesamtfehlers als erster Tag des histori
schen, im vorliegenden Fall 10 Jahre umfassenden Zeitbe
reich definiert. Dieser Tag ist auch in Fig. 3 ersicht
lich, ganz links am Rand: heute minus 10 Jahre.
Der Endtag als Abbruchkriterium für die nachfolgende
Schleife ist derjenige Börsentag, von dem historische Da
ten vorliegen, der 10 Tage vor dem letzten, aktuellst
verfügbaren historischen Daten liegt, wenn das Prognose
ziel ebenfalls diese 10 Tage in der Zukunft liegt. Endtag
und Starttag bilden daher Anfangs- und Endzeit für die
nachfolgenden Schleifenoperationen, die in bevorzugter
Weise für jeden dazwischen liegenden Börsentag, an dem
eigene Daten in der Eingabematrix 10, siehe Fig. 1, vor
liegen, wiederholt werden. In jedem Schleifendurchlauf
werden Starttag und Endtag um ein vorgegebenes Inkrement
D erhöht, wie oben erwähnt, in bevorzugter Weise um einen
Tag. Jeder Schleifendurchgang berechnet Fehler, die sich
ergeben aus dem oben erwähnten Zeitfenster T von 50 Ta
gen. Auch dieses Zeitfenster ist in Fig. 3 wiederholt
durch entsprechende Rechtecke dargestellt.
In einem ersten Schritt 820 des Schleifenkörpers selbst
werden die Daten zwischen Starttag und Starttag + T
(T = 50) an die Eingabeneuronen für die Rohdaten und an die
Indikatoren angelegt. In einem weiteren Schritt 830 wer
den die Indikatoren berechnet, siehe auch Beschreibung
von Schritt 720.
In einem nächsten Schritt 840 werden die Indikatorresul
tate durch die entsprechenden Eingänge in das künstliche
neuronale Netz eingegeben und dort durch dieses propa
giert, Schritt 840, vergleiche Schritt 730 bei Fig. 7.
In einem nächsten Schritt 850 wird der jeweilige Abstand
zwischen der Ausgabe des KNN an den Ausgabeneuronen und
den entsprechenden, historisch erwiesenen Kursdaten aus
der Eingabematrix für den jeweiligen Schleifendurchgang
spezifischen Endtag + P (P = 10 Tage) nach einer vorher
festgelegten Formel oder Norm berechnet. In bevorzugter
Weise kann eine quadratische Fehlerabweichung verwendet
werden, die positive und negative Abweichungen nicht ge
geneinander aufhebt.
In einem weiteren Schritt 860 werden die Abstände über
die einzelnen Ausgabeneuronen aufaddiert, um ein Maß für
den Gesamtfehler des KNN zu besitzen. Dieses Maß, in Fig.
8 mit 'result' bezeichnet, kann zur Bestimmung der Pro
gnosequalität des verwendeten KNN in dem Sinne herangezo
gen werden, als daß eine Gesamtaussage für die Prognose
der verschiedenen, prognostizierten Aktien gemacht wird.
Je nach Anwendungsgebiet des erfindungsgemäßen Vorhersa
gesystems kann jedoch auch eine weitere Variable für je
des einzelne Ausgabeneuron durch die gesamte Trainings-
und Anwendungsphase verwaltet werden, die einen Einzel
fehler für eine bestimmte Aktie quantifiziert. In weite
rer Abwandlung können auch bestimmte Untergruppen von Ak
tien in gewisser Weise gleich behandelt werden, daß heißt
fehlermäßig 'über einen Kamm geschoren werden'.
Wenn das Zeitfenster T 50 Börsentage groß ist, werden al
so in diesem Schritt historische Daten von 50 Tagen zur
Vorhersage eines einzigen Prognosewertes für eine jewei
lige Aktie verwendet.
Schließlich werden in einem Schritt 870 die Schleifenva
riablen Starttag und Endtag um einen Tag inkrementiert
und in einer Entscheidung 880 festgestellt, ob das
Schleifenabbruchkriterium erfüllt ist, nämlich ob der
Endtag + P = 10 Tage größer ist als der letzte Tag des
Datenbereiches, der in der Eingabedatenmatrix vorliegt.
Im Nein-Fall wird zurückverzweigt zu Schritt 820, daß
heißt das Zeitfenster wird um einen Tag verschoben und
die nachfolgenden Schritte des Schleifenkörpers werden
wiederholt. Diese Verschiebung des Zeitfensters, die so
wohl während der Trainingsphase als auch während der spä
teren Validierungsphase stattfindet, ist in Fig. 3 eben
falls erkenntlich, wo die einzelnen, verschobenen Zeit
fenster jeweils schräg untereinander angeordnet sind.
Wenn die Schleife schließlich komplett abgearbeitet ist,
wird sie durch den Ja-Zweig von Entscheidung 880 verlas
sen und das Ergebnis 'result' wird an das aufrufende Pro
gramm zurückgegeben, Schritt 890.
Ergänzend zu der obigen Beschreibung der Fehlerberechnung
wird nachfolgend noch der entsprechende Pseudocode gege
ben:
Unterroutine, Pseudocode: Berechne den Fehler eines A. I. M.-Netzes über einen Datenbereich von etwa 10 Jahren mit einem Zeitfenster der Größe T = 50 Tagen und einem Prognoseziel, das P = 10 Tage in der Zukunft vom letzten betrachteten Tage liegt.
starttag: = erster Tag des Datenbereiches; z. B. heute vor 10 Jahren;
endtag: = starttag + T; (Definition des ersten Zeitfen sters)
solange (endtag + p ⇐ letzter Tag des Datenbereiches)
{Für jede Aktie
{Lege die Kursdaten zwischen starttag und endtag an die Eingabeneuronen für die Rohdaten;
Lege die Kursdaten zwischen starttag und endtag an die Indikatoren;}
Berechne alle Indikatoren;
Propagiere das neuronale Netz. (Die Ausgabeneuronen liefern eine Prognose für den Tag endtag + p)
Für jedes Ausgabeneuron
{Vergleiche die Prognose des Neurons mit dem tatsächlichen Kurs am Tag endtag + p;
Summiere die Abweichung in result auf;}
starttag: = starttag + 1
endtag: = starttag + T}
Gib result als Gesamtfehler des A. I. M.-Netzes über dem Datenbereich zurück.
Ende Pseudocode.
Unterroutine, Pseudocode: Berechne den Fehler eines A. I. M.-Netzes über einen Datenbereich von etwa 10 Jahren mit einem Zeitfenster der Größe T = 50 Tagen und einem Prognoseziel, das P = 10 Tage in der Zukunft vom letzten betrachteten Tage liegt.
starttag: = erster Tag des Datenbereiches; z. B. heute vor 10 Jahren;
endtag: = starttag + T; (Definition des ersten Zeitfen sters)
solange (endtag + p ⇐ letzter Tag des Datenbereiches)
{Für jede Aktie
{Lege die Kursdaten zwischen starttag und endtag an die Eingabeneuronen für die Rohdaten;
Lege die Kursdaten zwischen starttag und endtag an die Indikatoren;}
Berechne alle Indikatoren;
Propagiere das neuronale Netz. (Die Ausgabeneuronen liefern eine Prognose für den Tag endtag + p)
Für jedes Ausgabeneuron
{Vergleiche die Prognose des Neurons mit dem tatsächlichen Kurs am Tag endtag + p;
Summiere die Abweichung in result auf;}
starttag: = starttag + 1
endtag: = starttag + T}
Gib result als Gesamtfehler des A. I. M.-Netzes über dem Datenbereich zurück.
Ende Pseudocode.
Erfindungsgemäß wird nun in besonders vorteilhafter Weise
ein genetischer Algorithmus verwendet, um die Ausstattung
des künstlichen neuronalen Netzes zu optimieren. Dieser
genetische Algorithmus nimmt Einfluß auf die Auswahl der
Indikatoren. Er hat zum Ziel, daß bestimmte, eher tref
fende Indikatoren gegenüber weniger treffenden zum Zwecke
einer Verbesserung der Prognosequalität des KNN selek
tiert werden. Durch diese Maßnahme kann erfindungsgemäß
gewährleistet werden, daß einerseits sehr viele Indikato
ren grundsätzlich verwendet werden können, das heißt, ei
ne grundsätzliche Prüfung ihrer Tauglichkeit zur Vorher
sage einer bestimmten Aktie wird nicht von vornherein
ausgeschlossen, dennoch wird durch den genetischen Algo
rithmus' erreicht, daß das künstliche neuronale Netz nur
mit erfolgversprechenden Indikatoren im eigentlichen Sin
ne trainiert wird. Der genetische Algorithmus umklammert
also das Pärchen aus Indikatorberechnung und Netzpropaga
tion.
Mit Bezug zurück zu Fig. 5 wird in der Trainingsphase
also ein Fenster von T Tagen im Trainingsbereich festge
legt. Die Kursdaten dieses Fensters werden in ein A. I. M-
Netz der Population eingegeben und durch das A. I. M-Netz
propagiert. Die Ausgabe des A. I. M.-Netzes wird mit der
tatsächlichen Kursentwicklung der Aktien verglichen und
die Abweichung wird gespeichert. Danach wird das Trai
ningsfenster um einen Tag verschoben. Die Daten des ver
schobenen Fensters werden in das A. I. M.-Netz eingegeben
und propagiert. Die Abweichung der Prognose des A. I. M.-
Netzes wird aufsummiert. Dies wird solange wiederholt,
bis das Prognoseziel auf den letzten Tag des Trainingsbe
reiches fällt. Damit ist der Gesamtfehler eines A. I. M.-
Netzes über dem Trainingsbereich berechnet. Der Ge
samtfehler über den Prognosebereich wird für jedes
A. I. M.-Netz der Population berechnet.
Aus der Population wird nun in einem weiteren Schritt 520
ein A. I. M.-Netz zufällig ausgewählt, wobei A. I. M.-Netze
mit kleineren Fehlern eine größere Chance haben, selek
tiert zu werden. Hier sei angemerkt, dass ein absolut ge
sehen kleiner (Gesamt-)Fehler eines A. I. M. Netzes bereits
eine auf einem 10-Jahre abdeckenden Trainingsszeitraum
basierende relativ große Aussagekraft hat, die darauf
schließen läßt, dass die gewählten Indikatoren die be
treffende Aktie schon relativ gut - oder treffend - cha
rakterisieren. Dennoch bleibt in den meisten Fällen Raum
für eine weitere Optimierung der Vorhersagequalität, die
erst erfindungsgemäß in der weitaus überwiegenden Mehr
zahl der Fälle durch die erfindungsgemäße Selbstauswahl
der Indikatoren erreicht wird.
Das ausgewählte A. I. M.-Netz wird dann in einem nächsten
Schritt 530 mutiert, indem vorzugsweise die Gewichte der
Neuronenverbindungen und bestimmte Parameter der Indika
toren zufällig verändert werden. Diese Änderung der Para
meter für bestimmte Indikatoren stellt ein gewisses
'Feintuning' für diese dar. Dieses Feintuning muß im Ver
hältnis zu Schritt 590, siehe weiter unten, betrachtet
werden, bei dem schlechte Indikatoren ganz herausgenommen
und ersetzt werden.
Um hier keinerlei unvernünftige Parametervariation zufäl
lig zu erzeugen, könnten zusätzlich bestimmte Plausibili
tätsüberprüfungen programmiert werden, in die der Sach
verstand von Finanzexperten günstigerweise einfließen
könnte.
Das mutierte Netz wir dann als neues A. I. M.-Netz in die
Population eingefügt und auch dessen Gesamtfehler wird
berechnet, wie es oben bei Schritt 510 und bei Fig. 3 er
läutert wurde, Schritt 540.
In einem nächsten Schritt 550 soll dann das beste Netz
validiert werden.
Zu diesem Zweck wird der Gesamtfehler des besten A. I. M.-
Netzes aus der Population über den Validierungsbereich
berechnet. Der Validierungsbereich ist in Fig. 3 abgebil
det. Er schließt sich zeitlich an den Trainingsbereich an
und grenzt vorzugsweise an die Gegenwart. Bei der Vali
dierung des besten Netzes wird die Prognosesituation qua
si vorweggenommen. Es werden Qualitätsanforderungen an
die Prognosequalität gestellt, die das beste A. I. M.-Netz
erfüllen muß, damit es später für eine echte Prognose im
eigentlichen Geschäftsprozeß verwendet werden kann. Dafür
werden, wie in Fig. 3 ebenfalls dargestellt, anhand der
historischen Daten im Zeitfenster die vom KNN prognosti
zierten Werte mit denen aus der Vergangenheit verglichen.
Mit dem besten A. I. M.-Netz aus der Population (das mit
dem kleinsten Fehler) wird der Fehler über den Validie
rungsbereich berechnet. Auch hier wird wieder ein Fenster
von T Tagen über den Datenbereich geschoben und die Ab
weichungen der Prognosen von den tatsächlichen Kursbewe
gungen werden aufsummiert.
In einem Schritt 560 wird dann der Gesamtfehler des be
sten A. I. M.-Netzes mit dem vorher vorgegebenen erlaubten
Maximalfehler verglichen, und es wird geprüft, ob die An
zahl m der zulässigen Mutationsvorgänge noch nicht über
schritten ist.
Ist der Fehler über den Validierungsbereich genügend
klein, so wird das Training abgebrochen, siehe JA-Zweig
von Entscheidung 560.
Für den Nein-Zweig ist ein Rückverzweigung zu Schritt 510
vorgesehen, um das Training fortzusetzen. Die Auswahl
(520) und Mutation (530) findet maximal m-mal statt, bei
spielsweise m = 90 mal.
Danach werden die A. I. M.-Netze mit großen Fehlern aus der
Population entfernt, um nicht unnötigen Speicherbereich
und Rechenaufwand für schlechte Netze 'zu verschwenden',
Schritt 570. In vorteilhafter Weise wird die Anzahl der
Netze auf die vorgegebene Anzahl n beschränkt, in dem die
überschüssigen, schlechtesten Netze aus der Population
gelöscht werden.
Danach wird in einem Schritt 580 nochmals der Fehler des
besten Netzes daraufhin geprüft, ob er geringer ist als
der vorgegebene Maximalfehler, der noch tolerabel ist.
Die A. I. M.-Netze der Population werden erneut mit dem
Trainingsbereich trainiert, bis der Fehler eines A. I. M.-
Netzes über den Validierungsbereich genügend klein ist.
Nach der Trainingsschleife werden im besten A. I. M.-Netz
diejenigen Indikatoren entfernt, die mit Verbindungen mit
sehr kleinen Gewichtsfaktoren an das neuronale Netz ange
schlossen sind, Schritt 590, Fig. 6 in Fortsetzung von
Fig. 5.
Dies hat den Zweck, das KNN von unnötigem Ballast zu be
freien, denn Indikatoren mit einem sehr niedrigen Gewichtsfaktor,
der kleiner ist als das vorgegebene Epsi
lon-Minimum sind nur schlecht geeignet, um einen Börsen
wert gut vorherzusagen. Dieser Schritt stellt einen we
sentlichen Gesichtspunkt für die erfindungsgemäße Verbes
serung der Prognosequalität im Vergleich zum Stand der
Technik dar, denn erfindungsgemäß sind die Indikatoren
nun 'adaptiv', d. h., sie werden dynamisch vom System ver
ändert, um die Prognosequalität ohne Hinzunahme von Bör
senfachwissen zu erhöhen.
Ebenso werden im neuronalen Netz die Verbindungen mit
sehr kleinen Gewichten gelöscht, Schritt 600. Dies dient
dem selben Zweck wie bei Schritt 590, oben.
Durch diese letztgenannten Bereinigungsmaßnahmen wird das
"wertvolle", weil trainierte KNN zu einem Vorhersagein
strument, das nur kurze Rechenzeit für eine Vorhersage
benötigt.
Darin ist ein besonderer Vorteil zu sehen, wo doch enorm
rechenzeitaufwändige Berechnungen eingeflossen sind, um
das KNN in diesen bevorzugten, trainierten Zustand zu
bringen.
Dann wird in einem Schritt 610 das vereinfachte, berei
nigte KNN für die spätere Anwendungsphase gespeichert und
steht zur Verfügung.
Desweiteren wird die gesamte Population von n Netzen für
später vorzunehmende Trainingsphasen gespeichert, Schritt
620. Damit muß nicht mehr bei 'Null' angefangen werden,
um ein System nachzutrainieren, sondern es kann auf einem
gut bewährten Sockel (Pool) von KNNs aufbauend an den ge
genwärtigen und zukünftigen Kursverlauf der betreffenden
Werte angepasst werden, bis irgendwann wesentlich später
eine komplett neue Netzgenerierung mit erneuter Initiali
sierung und neue Basistraining verlangt ist, um eine hohe
Vorhersagequaltöät auf Dauer halten zu können.
Damit ist die Trainingsphase beendet, und das KNN bereit
für eine 'echte', geschäftsprozeßrelevante Börsenkurspro
gnose für diejenigen Börsennotationen (Aktien), für die
es trainiert wurde. Soll es andere, bisher unberücksich
tigte Aktienkurse vorhersagen, kann das KNN erfindungsge
mäß die Initialisierungs-, Trainings-, und Validierungs
phase erneut durchlaufen, um ein entsprechendes neues KNN
zu generieren.
In Ergänzung zu oben Gesagtem wird im folgenden ein gro
ber Pseudocode für die Trainingsphase eingefügt:
A. I. M. Pseudocode, Training:
Wiederhole
{Berechne den Fehler jedes A. I. M.-Netzes über den Trainingsbereich;
Wiederhole
{Selektiere zufällig ein A. I. M.-Netz mit kleinem Fehler;
Mutiere Gewichte und Indikatoren dieses A. I. M.- Netzes;
Füge den Mutant als neues Individuum der Popu lation hinzu;
Berechne den Fehler des besten A. I. M.-Netzes über den Validierungsbereich;}
bis der Fehler des besten A. I. M.-Netzes über den Va lidierungsbereich genügend klein ist oder m Schlei fendurchläufe abgearbeitet wurden;
Lösche die A. I. M.-Netze mit den größten Fehlern;}
bis der Fehler des besten A. I. M.-Netzes über den Validie rungsbereich genügend klein ist;
Entferne im besten A. I. M-Netz die Indikatoren, die mit Verbindungen mit einem Gewichtsfaktor ⇐ epsilon 1 an das neuronale Netz angeschlossen sind;
Entferne im neuronalen Netz des besten A. I. M.-Netzes die Verbindungen, deren Gewichtsfaktor ⇐ epsilon 2 ist;
Ende Pseudocode.
A. I. M. Pseudocode, Training:
Wiederhole
{Berechne den Fehler jedes A. I. M.-Netzes über den Trainingsbereich;
Wiederhole
{Selektiere zufällig ein A. I. M.-Netz mit kleinem Fehler;
Mutiere Gewichte und Indikatoren dieses A. I. M.- Netzes;
Füge den Mutant als neues Individuum der Popu lation hinzu;
Berechne den Fehler des besten A. I. M.-Netzes über den Validierungsbereich;}
bis der Fehler des besten A. I. M.-Netzes über den Va lidierungsbereich genügend klein ist oder m Schlei fendurchläufe abgearbeitet wurden;
Lösche die A. I. M.-Netze mit den größten Fehlern;}
bis der Fehler des besten A. I. M.-Netzes über den Validie rungsbereich genügend klein ist;
Entferne im besten A. I. M-Netz die Indikatoren, die mit Verbindungen mit einem Gewichtsfaktor ⇐ epsilon 1 an das neuronale Netz angeschlossen sind;
Entferne im neuronalen Netz des besten A. I. M.-Netzes die Verbindungen, deren Gewichtsfaktor ⇐ epsilon 2 ist;
Ende Pseudocode.
Mit ergänzendem Bezug zu Fig. 7 wird im folgenden die An
wendungsphase näher erläutert.
In einem ersten Schritt 710 werden die historischen Daten
an die Eingabeneuronen für die Rohdaten angelegt, so, wie
es vorher in der Trainingsphase mit noch weiter zurückliegenden,
historischen Daten getan wurde. Des weiteren
werden beim besten A. I. M.-Netz die Kursdaten der selben
letzten 50 Tage an die Indikatoren angelegt. In einem
Schritt 720 wird dann die Indikatorberechnung durchge
führt. Damit sind sämtliche Indikatoren des besten
A. I. M.-Netzes berechnet. Diese Indikatorresultate werden
dann in einem Schritt 730 an die Eingabeneuronen des be
sten neuronalen Netzes angelegt und durch das KNN propa
giert. Als Resultat ergeben sich Werte an den Ausgabeneu
ronen für den zu prognostizierenden Tag, der 10 Tage weit
in der Zukunft liegt. Es ergibt sich ein Prognosewert 740
für jede vorherzusagende Aktie.
Damit hat das erfindungsgemäße Prognosesystem seine pri
märe Aufgabe erfüllt, nämlich die Vorhersage eines zu
künftigen Aktienwertes für eine oder eine Mehrzahl von
Aktien oder anderen Börsennotierungen, wie etwa verschie
dene Indexes.
Nach der Prognose wird der Trainings- und Validierungsbe
reich um einen Tag nach vorn verschoben. Mit den neuen
Bereichen wird die Population nachtrainiert, damit sich
die A. I. M.-Netze aktuellen Trends und Entwicklungen an
passen können.
Dies ist in Schritt 750, Fig. 7, schematisch dargestellt.
Dieser Schritt erfordert, daß die Eingabematrix, die die
Fülle an tatsächlichen Kursdaten enthält, nach einem
Börsentag auch wieder aktualisiert wird, um die aktuellen
Börsendaten zu enthalten. In der Population der A. I. M.-
Netze sind in den meisten Fällen eine Mehrzahl an treff
sicheren Netzen enthalten. Im Zuge des Nachtrainierens
anhand von aktualisierten Börsendaten kann es sich durch
aus ergeben, daß ein anderes A. I. M.-Netz nun zum besten
Netz wird und von daher zur Prognose am nächsten Börsen
tag herangezogen wird.
Zeigt eine kontinuierlich mitgeführte Vergleichsstati
stik, die die prognostizierten Werte mit den tatsächli
chen späteren Kurswerten vergleicht, daß die Abweichungen
im Durchschnitt zunehmen und eine Systematik in den Ab
weichungen erkennbar ist, so wird ab einem vorbestimmten
Abbruchkriterium, siehe Entscheidung 760, entschieden,
daß der Pool an Netzen wieder komplett neu trainiert wer
den muß, siehe Ja-Zweig aus Entscheidung 760. In diesem
Fall wird zurück zur Trainingsphase verzweigt. Andern
falls, siehe Nein-Zweig, wird zurück zu Schritt 710 ver
zweigt und das beste A. I. M.-Netz wird zur Vorhersage am
nächsten Börsentag verwendet.
In Ergänzung zu oben Gesagtem wird im folgenden ein Pseu
docode für die Anwendungsphase eingefügt:
A. I. M. Pseudocode, Anwendung:
Für jede Aktie
{Lege beim besten A. I. M-Netz die Kursdaten der letzen T Tage an die Eingabeneuronen für die Rohdaten;
Lege beim besten A. I. M-Netz die Kursdaten der letzen T Tage an die Indikatoren;}
Berechne alle Indikatoren des besten A. I. M-Netzes;
Propagiere das neuronale Netz des besten A. I. M-Netzes;
(Die Ausgabeneuronen liefern die Prognose für den Tag heute + p)
Gib Prognosenwerte für jede Aktie aus;
Verschiebe Trainings- und Validierungsbereich um einen Tag;
Trainiere die Population mit dem neuen Trainings- und Va lidierungsbereich;
Ende Pseudocode.
A. I. M. Pseudocode, Anwendung:
Für jede Aktie
{Lege beim besten A. I. M-Netz die Kursdaten der letzen T Tage an die Eingabeneuronen für die Rohdaten;
Lege beim besten A. I. M-Netz die Kursdaten der letzen T Tage an die Indikatoren;}
Berechne alle Indikatoren des besten A. I. M-Netzes;
Propagiere das neuronale Netz des besten A. I. M-Netzes;
(Die Ausgabeneuronen liefern die Prognose für den Tag heute + p)
Gib Prognosenwerte für jede Aktie aus;
Verschiebe Trainings- und Validierungsbereich um einen Tag;
Trainiere die Population mit dem neuen Trainings- und Va lidierungsbereich;
Ende Pseudocode.
Es sei noch angemerkt, dass die hier genannten Indikato
ren im allgemeinen Sinne zu verstehen sind als Operato
ren, die auf bestimmten Eingabedaten operieren und Ausga
bedaten erzeugen. Die Ausgabedaten können auch identisch
sein mit den Eingabedaten. In diesem Spezialfall läge ein
neutraler Operator vor.
Weiter kann der Gegenstand der vorliegenden Erfindung in
Hardware, Software oder einer Kombination aus beiden rea
lisiert werden. Eine beliebige Art von Computersystem
oder Computergeräten ist dafür geeignet, das erfindungs
gemäße Verfahren ganz oder in Teilen durchzuführen. Eine
typische Hardware-Software-Kombination für die vorliegen
de Erfindung wäre ein leistungsstarker Computer und ein
Computerprogramm, das, wenn es geladen und ausgeführt
wird, den Computer derart steuert, daß er das erfindungs
gemäße Verfahren ganz oder in Teilen ausführt.
Die vorliegende Erfindung kann auch in ein Computerpro
gramm-Erzeugnis eingebettet sein, das sämtliche Merkmale
enthält, die eine Implementierung der hierin beschriebe
nen Verfahren ermöglichen, und die, wenn sie in ein Com
putersystem geladen wird, dazu imstande ist, diese Ver
fahren auszuführen, wenn es mit den aktuellen Daten ver
sorgt wird.
Computerprogrammeinrichtungen oder Computerprogramme be
deuten im vorliegenden Kontext beliebige Ausdrücke in ei
ner beliebigen Sprache oder Notation, oder einem beliebi
gen Code eines Satzes von Anweisungen, die ein System mit
einer Informationsverarbeitungsmöglichkeit dazu veranlas
sen sollen, von den folgenden Funktionen
Umsetzung in eine andere Sprache oder Notation oder einen anderen Code,
Reproduktion in eine unterschiedliche materielle Form, eine bestimmte entweder direkt oder nacheinander oder beide durchzuführen.
Umsetzung in eine andere Sprache oder Notation oder einen anderen Code,
Reproduktion in eine unterschiedliche materielle Form, eine bestimmte entweder direkt oder nacheinander oder beide durchzuführen.
Obwohl die vorliegende Erfindung anhand eines bevorzugten
Ausführungsbeispiels vorstehend beschrieben wurde, ist
sie darauf nicht beschränkt, sondern auf vielfältige Wei
se modifizierbar.
Das Verfahren ist frei skalierbar, um kleinere oder grö
ßere A. I. M. Systeme herzustellen.
Es ist klar, dass die beschriebene Auswahl der Parameter
T, m, n nicht unbedingt optimale Vorhersagequalität bei
möglichst kurzer Rechenzeit garantieren kann. Variationen
sind daher immer Teil der eigentlichen Implementierung
und können auch markt- oder branchenabhängig sein. Des
weiteren kann das erfindungsgemäße System für eine einzi
ge oder für mehrere Branchen eingesetzt werden.
Schließlich können die auf die Indikatoren wirkenden Ver
fahrensschritte auch sinnvoll an anderer Stelle in einem
modifizierten Verfahren eingesetzt werden, ohne dass die
erfinderische Qualität gänzlich verlorengeht.
Schließlich können die Merkmale der Unteransprüche im we
sentlichen frei miteinander und nicht durch die in den
Ansprüchen vorliegende Reihenfolge miteinander kombiniert
werden, sofern sie unabhängig voneinander sind.
Claims (19)
1. Verfahren zur Erstellung von Prognosewerten von Bör
senkursen, bei dem eine Mehrzahl von Indikatoren (13) an
hand von historischen Daten (10) zur Berechnung von Pro
gnosewerten (740) dienen, enthaltend die Schritte,
die Resultate einer Mehrzahl von Indikatoren (13) für ei ne Berechnung von Prognosewerten unter Einsatz einer Im plementierung eines künstlichen, neuronalen Netzes (14) zu verwenden,
Durchführen einer Trainingsphase (510 . . 620) für das KNN zum Aufbau eines darin enthaltenen Grundschemas, bis zu einer vorbestimmten, unter Einbeziehung von historischen Daten definierten Prognosequalität (560),
wobei die Trainingsphase unter Einbeziehung eines geneti schen Algorithmus erfolgt,
Ausgeben wenigstens eines Prognosewertes (740),
gekennzeichnet durch den Schritt:
Verwenden eines genetischen Algorithmus zum Zwecke einer Selbstauswahl (590) von treffenderen Indikatoren gegen über weniger treffenden für eine Verbesserung der Progno sequalität des künstlichen, neuronalen Netzes (14).
die Resultate einer Mehrzahl von Indikatoren (13) für ei ne Berechnung von Prognosewerten unter Einsatz einer Im plementierung eines künstlichen, neuronalen Netzes (14) zu verwenden,
Durchführen einer Trainingsphase (510 . . 620) für das KNN zum Aufbau eines darin enthaltenen Grundschemas, bis zu einer vorbestimmten, unter Einbeziehung von historischen Daten definierten Prognosequalität (560),
wobei die Trainingsphase unter Einbeziehung eines geneti schen Algorithmus erfolgt,
Ausgeben wenigstens eines Prognosewertes (740),
gekennzeichnet durch den Schritt:
Verwenden eines genetischen Algorithmus zum Zwecke einer Selbstauswahl (590) von treffenderen Indikatoren gegen über weniger treffenden für eine Verbesserung der Progno sequalität des künstlichen, neuronalen Netzes (14).
2. Verfahren nach dem vorstehenden Anspruch, wobei eine
Selbstauswahl von Indikatorkombinationen vollzogen wird.
3. Verfahren nach Anspruch 1, wobei die Trainingsphase
eine mehrfache Wiederholung einer zeitpunktbezogenen Pro
pagation (510) von auf jeweils verschiedenen historischen
Zeitpunkten beruhenden Indikatorresultaten durch das
künstliche, neuronale Netz (14) enthält, wobei die Indi
katorresultate anhand von historischen Daten gewonnen
wurden,
sowie einen jeweiligen Vergleich der zugehörigen, zeit
punktbezogenen Ausgabe des künstlichen, neuronalen Netzes
(14) als Kurswertprognose mit einem entsprechenden, hi
storischen Kurswert enthält.
4. Verfahren nach dem vorstehenden Anspruch, wobei die
historischen Daten aus einem Zeitfenster aus einer Anzahl
T zusammenhängender Tage zur Einzelvorhersage eines Kur
ses verwendet werden.
5. Verfahren nach einem der beiden vorstehenden Ansprü
che, wobei die mehrfache Wiederholung eine sequentielle
Abfolge von Einzelwertprognosen enthält, die sich aus ei
ner Verschiebung des T-Tages-Fensters aus der Vergangen
heit in die Gegenwart ergibt, und wobei T im Bereich zwi
schen 10 und 100, bevorzugt zwischen 20 und 80 und beson
ders bevorzugt zwischen 40 und 60 liegt, wobei für die
jeweils nächstfolgende Einzelwertprognose das Zeitfenster
um ein Anzahl von D Tagen verschoben wird.
6. Verfahren nach dem vorstehenden Anspruch, wobei gilt:
0 < D < 10, und bevorzugt 0 < D < 4, und besonders bevor
zugt
D = 1.
7. Verfahren nach Anspruch 1, enthaltend den Schritt, ei
ne Vielzahl VZ von Indikatoren für die Trainingsphase des
KNN zum Erhalt eines verbesserten Grundschemas des KNN zu
verwenden, wobei VZ größer als 3, bevorzugt größer als 10
und besonders bevorzugt größer als 20 ist.
8. Verfahren nach dem vorstehenden Anspruch, wobei mathe
matische Funktionen als Indikatoren zumindest mitverwen
det werden.
9. Verfahren nach dem vorstehenden Anspruch, wobei einer
oder mehrere der folgenden, mathematischen Indikatoren
zumindest mitverwendet wird:
Gleitender Durchschnitt (simple/weighted/exponential),
Standardabweichung,
OBV-Linie (On-Balance-Volume),
Momentum,
ROC (Rate-of-Change),
S-ROC (Smoothed Rate-of-Change),
Differenz zwischen gleitenden Durchschnitten,
RSI (Relative-Strength-Index),
Stochastik-Indikator,
MACD (Moving Average Convergence/Divergence System),
ADL (Accumulation/Distribution Line),
TRSI (True Strength Index),
VHF (Vertical Horizontal Filter),
ARMA-Modellanpassungen (Autoregressive Moving Average),
Polynom-Interpolation,
Fourier-Analyse,
Korrelations-Koeffizient,
Fraktale Dimension,
Maximum/Minimum/Median,
Lyapunovexponent,
Transinformation,
Akima-Interpolation,
Spektrogramm,
Periodogramm,
Waveletkoeffizienten,
Principal Component Analysis (SVD Singular Value Decompo sition),
Independent Component Analysis,
IIR-Filter (Infinte Impulse Response),
FIR-Filter (Finite Impulse Response),
Support-Vector-Machines,
IFS (Iterated Function Systems)
Gleitender Durchschnitt (simple/weighted/exponential),
Standardabweichung,
OBV-Linie (On-Balance-Volume),
Momentum,
ROC (Rate-of-Change),
S-ROC (Smoothed Rate-of-Change),
Differenz zwischen gleitenden Durchschnitten,
RSI (Relative-Strength-Index),
Stochastik-Indikator,
MACD (Moving Average Convergence/Divergence System),
ADL (Accumulation/Distribution Line),
TRSI (True Strength Index),
VHF (Vertical Horizontal Filter),
ARMA-Modellanpassungen (Autoregressive Moving Average),
Polynom-Interpolation,
Fourier-Analyse,
Korrelations-Koeffizient,
Fraktale Dimension,
Maximum/Minimum/Median,
Lyapunovexponent,
Transinformation,
Akima-Interpolation,
Spektrogramm,
Periodogramm,
Waveletkoeffizienten,
Principal Component Analysis (SVD Singular Value Decompo sition),
Independent Component Analysis,
IIR-Filter (Infinte Impulse Response),
FIR-Filter (Finite Impulse Response),
Support-Vector-Machines,
IFS (Iterated Function Systems)
10. Verfahren nach einem der vorstehenden Ansprüche, wo
bei die Zielfunktion des genetischen Algorithmus die Dif
ferenz zwischen aus der Vergangenheit vorhergesagten
Kurswerten und durch die Vergangenheit belegter Kurswerte
enthält.
11. Verfahren nach einem der vorstehenden Ansprüche, ent
haltend den Schritt, die Feinabstimmung der Indikatoren
mit dem künstlichen, neuronalen Netz (14) zum Zwecke ei
ner weiteren Verbesserung der Prognosequalität durchzu
führen.
12. Verfahren nach einem der vorstehenden Ansprüche, ge
kennzeichnet dadurch, historische Daten einer Mehrzahl
von verschiedenen Aktien als Input zur Kurswertprognose
einer einzelnen Aktie mitzuverwenden.
13. Verfahren nach dem vorstehenden Anspruch, enthaltend
den Schritt, die Auswahl der mit zu verwendenden Aktien
durch das künstliche, neuronale Netz (14) selbst durchzu
führen.
14. Verfahren nach einem der beiden vorstehenden Ansprü
che, wobei zur Prognose des Kurswertes einer Aktie aus
einer bestimmten Branche auch branchenfremde Aktien ver
wendet werden.
15. Computerprogramm für die Ausführung in einem Daten
verarbeitungssystem, enthaltend Codeabschnitte zum Aus
führen entsprechender Schritte des Verfahrens nach einem
der Ansprüche 1 bis 14, wenn es zur Ausführung geladen
wird.
16. Computerprogrammprodukt, gespeichert auf einem compu
terlesbaren Medium, enthaltend eine computerlesbare Pro
grammeinrichtung, um einen Computer dazu zu veranlassen,
das Verfahren gemäß einem der vorstehenden Ansprüche 1
bis 14 durchzuführen, wenn die Programmeinrichtung von
dem Computer ausgeführt wird.
17. KNN-Programmprodukt, enthaltend eine computeraus
führbare Implementierung eines künstlichen, neuronalen
Netzes (KNN) (14), trainiert nach einem der Verfahren der
Ansprüche 1 bis 14.
18. Front-end Programmprodukt, enthaltend eine Program
meinrichtung, die eine Schnittstelle zu dem KNN-
Programmprodukt nach dem vorstehenden Anspruch bildet,
sowie eine Programmeinrichtung zum Ausgeben eines oder
mehrerer Prognosewerte.
19. Computervorrichtung, enthaltend lauffähige Program
meinrichtungen zur Durchführung des Verfahrens gemäß ei
nem der vorstehenden Ansprüche 1 bis 14.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2000161108 DE10061108A1 (de) | 2000-12-07 | 2000-12-07 | Verfahren zur Vorhersage von Börsenkursen |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2000161108 DE10061108A1 (de) | 2000-12-07 | 2000-12-07 | Verfahren zur Vorhersage von Börsenkursen |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10061108A1 true DE10061108A1 (de) | 2002-06-27 |
Family
ID=7666307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2000161108 Ceased DE10061108A1 (de) | 2000-12-07 | 2000-12-07 | Verfahren zur Vorhersage von Börsenkursen |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE10061108A1 (de) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10232988A1 (de) * | 2002-07-19 | 2004-02-19 | Infineon Technologies Ag | Verfahren und Vorrichtung zur getakteten Ausgabe asynchron empfangener Digitalsignale |
US8374904B2 (en) | 2010-11-15 | 2013-02-12 | Hewlett-Packard Development Company, L.P. | Market forecasting |
US10242407B1 (en) | 2013-09-24 | 2019-03-26 | Innovative Market Analysis, LLC | Financial instrument analysis and forecast |
-
2000
- 2000-12-07 DE DE2000161108 patent/DE10061108A1/de not_active Ceased
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10232988A1 (de) * | 2002-07-19 | 2004-02-19 | Infineon Technologies Ag | Verfahren und Vorrichtung zur getakteten Ausgabe asynchron empfangener Digitalsignale |
DE10232988B4 (de) * | 2002-07-19 | 2007-11-22 | Infineon Technologies Ag | Verfahren und Vorrichtung zur getakteten Ausgabe asynchron empfangener Digitalsignale |
US8374904B2 (en) | 2010-11-15 | 2013-02-12 | Hewlett-Packard Development Company, L.P. | Market forecasting |
US10242407B1 (en) | 2013-09-24 | 2019-03-26 | Innovative Market Analysis, LLC | Financial instrument analysis and forecast |
US12008652B1 (en) | 2013-09-24 | 2024-06-11 | Innovative Market Analysis, LLC | Graphical instrument performance prediction |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE602005002839T2 (de) | Ablaufplanung von industriellen produktionsprozessen | |
EP2135140B1 (de) | Verfahren zur rechnergestützten steuerung und/oder regelung eines technischen systems | |
EP2185980B1 (de) | Verfahren zur rechnergestützten steuerung und/oder regelung mit hilfe neuronaler netze | |
EP2108139B1 (de) | Verfahren zur rechnergestützten regelung und/oder steuerung eines technischen systems, insbesondere einer gasturbine | |
DE10311311A1 (de) | Berechnung von Preiselastizität | |
DE212020000731U1 (de) | Kontrastives Vortraining für Sprachaufgaben | |
WO2013170843A1 (de) | Verfahren zum trainieren eines künstlichen neuronalen netzes | |
Dutta et al. | Fuzzy stochastic price scenario based portfolio selection and its application to BSE using genetic algorithm | |
DE102016011525B4 (de) | Vorrichtung für maschinelles Lernen und Spulen-Produktionsvorrichtung | |
EP2112568A2 (de) | Verfahren zur rechnergestützten Steuerung und/oder Regelung eines technischen Systems | |
EP3646279B1 (de) | Verfahren zur produktionsplanung | |
EP3511126A1 (de) | Verfahren zur rechnergestützten planung eines durch einen roboter ausführbaren arbeitsablaufs | |
EP1546823B1 (de) | Verfahren zur rechnergestützten erstellung von prognosen für operative systeme sowie system zur erstellung von prognosen für operative systeme | |
WO2021180816A1 (de) | Verfahren und vorrichtung zur optimierten produktion von blechteilen | |
EP1529249B1 (de) | Verfahren und anordnung zum entwurf eines technischen systems | |
DE19637917C2 (de) | Verfahren und Einrichtung zum Entwurf oder zur Steuerung des Prozeßablaufs einer Anlage der Grundstoffindustrie | |
EP0901658B1 (de) | Verfahren zur optimierung eines fuzzy-regelsatzes durch einen rechner | |
DE10061108A1 (de) | Verfahren zur Vorhersage von Börsenkursen | |
DE102020207792A1 (de) | Training eines künstlichen neuronalen Netzwerkes, künstliches neuronales Netzwerk, Verwendung, Computerprogramm, Speichermedium und Vorrichtung | |
EP3992733A1 (de) | Maschinenbelegungsplanung für eine komplexe fertigungsanlage | |
EP2110784A1 (de) | Verfahren und Expertensystem zum Bewerten eines Objekts | |
EP1725981A1 (de) | Prognoseverfahren und -vorrichtung zur bewertung und vorhersage stochastischer ereignisse | |
EP3961528A1 (de) | Verfahren und vorrichtung zur herstellung eines produkts mittels einer optimalen prozesskette | |
EP4332704A1 (de) | Computer-implementiertes verfahren und system zur herstellung eines produkts | |
Zulu et al. | Modelling and Forecasting Foreign Debt Using ARIMA Model: The Zambian Case from 2022 to 2035 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8131 | Rejection |