Genetische vs. zufällige Cpu-Nutzung
26 Antworten
gentmat
vor 8 Jahren #113897
Ich stelle eine Frage vor dem Kauf, um zu wissen, welchen Computer ich für Ihre Anwendung kaufen soll:
Von dem, was ich weiß (und korrigieren Sie mich, wenn ich falsch bin), ist es besser, einen Xeon (Multi-Core) als eine hohe Taktrate CPU kaufen
So sind 24 Dual Core intel xeon (2,8 GHZ) besser als 8 Kerne (3,7 GHZ).
Dies ist jedoch bei der Verwendung von genetischen Algorithmen der Fall, da der Multi-Thread dazu beiträgt, alle Generationen in verschiedenen Kernen zu bewerten.
Meine Frage ist die folgende:
Ich verwende nur die Zufallsbevölkerung (weil die Genetik zu ähnlichen Strategien führen wird, egal was ich mache)
Verwendet die Zufallsbevölkerung also mehrere Kerne oder nur eine CPU mit hoher Taktrate und Cache.
Ist die zufällige Strategien erstellt jeder auf verschiedenen Kern? wie die genetische?
oder wenn ich 24 Kerne habe, werden die 24 Kerne gleichzeitig 24 verschiedene Strategien erstellen
Dankeschön
tomas262
vor 8 Jahren #131152
Ja, beide Methoden können alle verfügbaren Kerne nutzen (gemäß der Einstellung Werkzeug - Optionen - Leistung)
Mark Fric
vor 8 Jahren #131158
ja, ich bestätige es noch einmal - beide Methoden verwenden alle verfügbaren Kerne (vorausgesetzt, Sie stellen sie in Tool - Options - Performance setting), und in SQ 3 ist die Zufallsgenerierung sogar effektiver als die genetische Evolution, weil es einige einfache genetische Operationen gibt, die nicht parallelisiert sind,
Mit dem neuen SQ 4 wird es noch besser funktionieren.
Mark
StrategyQuant Architekt
gentmat
vor 8 Jahren #131190
Vielen Dank, Leute,
Ich habe einen 5650 Xeon, 24 Threads ... Ich änderte die Einstellungen auf 24 Threads und der CPU-Durchschnitt ist 4% (die meiste Zeit)
Max peak bis 12% oder 14 (durchschnittliche Zeit ca. 0,5 Sekunden pro Strategie im Vergleich zu unten)
Mein macbook pro late 2014 , 3,7 ghz , 1260 xeon mit 8 Threads Spitze bei 80-100% und ist viel viel schneller zu finden Strategien (0,04) durchschnittliche Zeit auf h4.
Gibt es einen Fehler, dass Multicore nicht verwendet werden, so dass die CPU nur 4-10% Peak hat?
geektrader
vor 8 Jahren #131298
SQ3 ist im Multicore-Betrieb leider sehr ineffektiv. Ich kann dieses Verhalten ebenfalls bestätigen. Ich hoffe, dass SQ4 das viel besser macht.
Schwellenwert
vor 8 Jahren #131373
+1 Ich hoffe auf mehr CPU-Nutzung. Ich bin im Durchschnitt etwa 15% CPU-Nutzung für X2 Quadcore Xeons mit SQ auf höchste Priorität und max Threading eingestellt. Ich würde gerne sehen, was es mit 80+% tun kann. Der Computer ist komplett auf SQ eingestellt.
Sollte ich einfach x3 SQ verwenden?
nolube
vor 8 Jahren #131387
+1 Ich hoffe auf mehr CPU-Nutzung. Ich bin im Durchschnitt etwa 15% CPU-Nutzung für X2 Quadcore Xeons mit SQ auf höchste Priorität und max Threading eingestellt. Ich würde gerne sehen, was es mit 80+% tun kann. Der Computer ist komplett auf SQ eingestellt.
Sollte ich einfach x3 SQ verwenden?
Ja, genau das tue ich. Ihre Lizenzen sind spezifisch für Ihren Computer, so dass Sie denselben Lizenzcode dreimal auf demselben Computer verwenden können.
geektrader
vor 8 Jahren #131388
Ich setze die CPU-Kerne in den Einstellungen auf "1" und öffne einfach so viele Instanzen (Sie müssen sie jeweils in ein eigenes Verzeichnis kopieren - ich mache das mit einer intelligenten BAT-Datei), wie ich Kerne habe, und führe die Strategieerstellung durch. Auf diese Weise werden alle Kerne 100% der Zeit genutzt.
gentmat
vor 8 Jahren #131391
Richtig, aber viele Instanzen werden nicht wie echte 1-Instanz-Anwendung durchführen (ich bin ein Entwickler).
Hoffentlich wird sq4 das beheben.
Vielen Dank Jungs für die Bestätigung, dass Sie die gleichen Ergebnisse haben. Ich schlage vor, wie ich schrieb zunächst eine hohe CPU-Takt und nicht viele Kerne. auch die 1 Instanz wird
besser abschneiden als die 4 Instanzen im Multicore.
geektrader
vor 8 Jahren #131392
Ich bin auch Entwickler und es ist nicht immer wahr, es hängt davon ab, wie gut die Implementierung durchgeführt wurde. Außerdem erhalte ich durch mehrere Instanzen eine größere Diversifizierung in den genetischen Optimierungspfaden, die zu unterschiedlichen Ergebnissen führen, da sie verschiedene (zufällige) Evolutionswege nehmen. Daher verwende ich persönlich lieber mehrere Instanzen als nur eine.
Schwellenwert
vor 8 Jahren #131405
Ich betreibe jetzt 4 SQs, die jeweils 2 Kernen zugewiesen sind und im Durchschnitt etwa 85% CPU-Nutzung ohne Verlust der Generationsgeschwindigkeit. Nur brauchen mehr ram, aber ich habe 32GB.
Dies führt viel schneller zu Ergebnissen. (wie buchstäblich 4x schneller)
Schwellenwert
vor 8 Jahren #131407
Ich muss auch hinzufügen, dass Strategien, bei denen einfache Regeln in den Bausteinen aktiviert sind, mehr als doppelt so schnell zu generieren scheinen wie Strategien ohne einfache Regeln.
Schwellenwert
vor 8 Jahren #131421
Ich denke, dass die Idee von GeekTrader der beste Weg ist (viele Kerne, hoher Arbeitsspeicher und mehrere Instanzen von SQ), anstatt weniger Kerne, höhere Frequenzen und nur 1 SQ zu verwenden.
Random Gen ist @ 25k Strategien in etwa 1 Stunde auf jedem SQ getestet. Also 4SQ x 25k= 100k Generationen in 1 Stunde @ 2.83GHZ 8 Kerne. Das sollten ein paar Millionen an einem Tag sein.
Auf meinem Quadcore 4.1GHZ, auf dem 1 Instanz von SQ läuft, würde es ein paar Tage dauern, um nur 1 Million zu erreichen.
gentmat
vor 8 Jahren #131445
Hi Schwellenwert,
Ich danke Ihnen für Ihre Zeit und Ihre Tests. Ich denke, Sie sind viele Faktoren mit Ihrem Test fehlt
ex:
Mit niedrigeren Zeitrahmen wird die mehr Kern effizienter und das ist der Effekt der Cache-CPU l3, l2, so dass die Zeit, um diese Daten zu greifen und zu synchronisieren dauert Zeit.
aber wenn Sie h4 oder d1 verwenden
Sie werden feststellen, dass die höher getaktete CPU besser abschneidet als die Multi-Core-CPU 4 Kerne 4,1 > 8 Kerne 2,8
Fügen Sie auf, dass die Generation Architektur des cpu. können Sie mir bitte sagen, die serielle der 2 cpu, die Sie vergleichen.
Anmerkung: Einfache Regeln sind aus einem Grund schneller, weil die maximale Periode bei 40 Perioden liegt und die Anzahl zwischen 50
aber nicht einfache Regeln können wie EMA von 100 oder 150 abhängig von der maximalen Periode verwenden, die Sie wählen, die die CPU mehr Kerzen als 40 Kerzen rückwärts berechnen wird.
Aber wenn Sie die maximale Anzahl der Indikator-Periode auf rund 50 verringern, werden Sie feststellen, dass es die gleiche Geschwindigkeit (in der Theorie) geben sollte. in der Theorie, weil BBands zum Beispiel komplexere Mathematik als rsi und so weiter verwenden. so depand auf dem Indikator gewählt wird es Zeit nehmen, um zu verarbeiten, dass.
gentmat
vor 8 Jahren #131446
Wie auch immer, ich möchte Sie fragen, wie Sie alte Kunden sind. wie viel dauert es Sie Zeit in der Regel auf 1 gute Strategie zu finden? ich habe spielen rund um für 1 Woche, aber alle meine Strategien nicht die robuste Test. im Anfang zu verlieren Hoffnung
Schwellenwert
vor 8 Jahren #131450
Ich denke, dass 5 Millionen Generationen in der Regel eine solide Strategie ergeben, wenn sie aus einem einzigen Paar generiert werden (nur mit Zufallsgeneratoren) und sogar zusätzliche Daten von anderen Brokern verwendet werden. Dies hängt von Ihren Filtern, Bausteinen und dem Paar ab, für das Sie die Strategie erstellen. Einige Paare benötigen je nach TF und Bausteinen sehr viele Generationen.
A strategy built on only 1 asset will usually “fail” a robustness test when data and parameters are altered because the strategy is curve fitted, but that doesn’t mean the strategy won’t work. The Robustness test feature is very discretionary. I think if a strategy has a 15%DD in backtest, and 35%DD @ 95% confidence in RT, its definitely a pass with data and parameters altered and the EA was generated from only 1 pair. If you want more robust strategies, use multiple broker data and make sure they are all the same timezone. Broker data varies that much and your strategies will be less curve-fitted. Also don’t rely so much on robustness testing. Just put them on a demo account and see.
Der 4,1GHZ Quadcore ist ein übertakteter AMD Phenom Black Edition 975
Der andere besteht aus 2 xeon e5440s.