Zitat:Das lies mich zu dem Schluß kommen, das es eine Lösung in
Tai-Pan-Formelsprache einfach nicht schneller zuläßt.
Ich glaube nicht, dass es an der TP-Programmierung liegt.
Wenn man den Rang von 100 Aktien berechnet, dann werden 100 Aktien mit 99 anderen Aktien verglichen, das sind dann 9.900 Berechnungs-Schritte.
Bei der Berechnung von 200 Aktien werden 200 Aktien mit 199 anderen Aktien verglichen, das sind dann 39.800 Berechnungs-Schritte.
Die Rechenzeit verdoppelt sich also nicht, sondern ist vier mal so hoch. Quadriert sich also.
Wenn man sich das Ganze dann über die z.B. letzten 12 Monate berechnen lassen will, ist die Rechenzeit noch länger, da ja dann nicht mehr nur der letzte Tag berechnet wird, sondern jeder Tag der letzten 12 Monate.
Dazu kommt, dass die Wertpapiere unterschiedlich lange Zeitreihen haben. Am Anfang der Berechnungen sind also z.B. nur 50 Aktien im Katalog, im Laufe der Zeit erhöht sich die Anzahl auf z.B. 100. Ein Wert des Rangindikators von, sagen wir mal 10 hätte zu zwei verschiedenen Zeitpunkten unterschiedliche Bedeutungen. Man muss deshalb den Rangindikator prozentual berechnen. Also z.B. so: Rang / X * 100 (X = Anzahl der Aktien im Katalog zum jeweiligen Zeitpunkt). Das wären dann nochmals mehr Berechnungen.
Je mehr Wertpapiere also man miteinander vergleicht und je länger die Zeitreihen sind, umso illusorischer wird es, das alles mit einem normalen PC ausrechnen zu lassen.
Ich wollte das mit ca. 4400 Aktien mit Zeitreihenlängen bis zu 60 Jahren aus den beiden Vanguard-Katalogen von Herrn Jäkle machen. Es würde mehrere Jahre (oder Jahrzehnte ?) dauern.
Es gibt allerdings in einigen Softwarepaketen die Berechnungsart "RangCache", die intern programmiert ist. Ob das mit der normalen TP-Programmiersprache im Formeleditor möglich ist, bezweifle ich allerdings.
Da wird der jeweilige Rang einer Aktie mit dem Rang der Aktie mit der längsten Kurshistorie verglichen. Damit entfällt zumindest die Quadrierung der Rechenoperationen bei höherer Anzahl der Aktien.
Um das mit Investox zu machen, habe ich mir extra einen schnelleren Rechner zugelegt. Prozessor "i7 4600 K" und den dann übertaktet. Das Ergebnis: Um den Rang-Indikator mit 4400 Aktien über 60 Jahre prozentual berechnen zu lassen, brauche ich (bzw. der Rechner) ziemlich genau 9 Stunden. Eigentlich wollte ich das mit 10.000 Aktien machen. Es dauert aber einfach zu lange. Mein Problem ist, dass Investox nur einen Prozessorkern nutzt. Amibroker nutzt alle, dann würde die Berechnung bei 4 Kernen nur noch 2 Stunden und 15 min dauern. Wie das bei anderen Programmen ist, z.B. Captimizer, Tradesignal ..., weiß ich nicht.
Ich kann nur erahnen was die machen, um solch enorme Rechenleistung zu benötigen:
https://boerse.ard.de/boersenwissen/boersengeschichte-n/investorenlegenden/james-simons-und-die-macht-der-computer100.htmlhttps://boerse.ard.de/anlagestrategie/geldanlage/david-shaw102.htmlVielleicht u.a. ungefähr Folgendes (?):
Rang_1 (z.B.: Lineare Regression)
Rang_2 (z.B.: niedrige Vola)
Rang_3 (z.B.: Fundamentaldaten)
Rang: (Rang_1 + Rang_2 + Rang_3) / 3
Aber etwas ähnliches hat ja auch Herr Jäkle gemacht:
Lineare Regression * Bestimmtheitsmaß * Gleichmäßigkeit * Kursqualität