Trading-PC

      dertrader schrieb:

      Perfect Trader schrieb:

      [...]
      warum für manche Aufgaben vielleicht die eine oder andere Open Source Software doch weit besser tut als manches proprietäre Produkt.[...]
      An was für Aufgaben und Software denkst du dabei?


      Da PT jetzt hoffentlich endlich ins Bett gegangen ist - ich hab ihn hier heute morgen um 4 Uhr noch rumgeistern sehen als ich von meiner nächtlichen Youtube-Umbra-Et-Imago-Ich-denk-an-meine-wilde-Jugend--Session nochmal kurz vorbeigeschaut habe -, werde ich mal versuchen, ob ich trotz Tinnitus eine relativ sinnvolle Antwort hinbekomme:


      Man kann grob zwischen leicht "parallelisierbaren" Rechenaufgaben unterscheiden und solchen, die nicht ganz trivial sind. Und wie so oft im Leben bleibt dann ein Rest übrig. Das sind Probleme, die mit der aktuellen Hard- und Software nicht lösbar sind oder wo man den Witz mit der Langspielplatte adaptieren könnte: "In Ihrem hohen Alter sollten Sie solche langlaufenden Prozesse besser nicht mehr starten". Oder es wächst einem "nur" über den Kopf, und man hat nach X gescheiterten Lösungsversuchen keinen Bock mehr, was ja nicht zwangläufig heißt, dass das Problem nicht lösbar ist, sondern nur, dass man selbst keine Lösung gefunden hat.

      Fall1: Was ist "relativ leicht" paralellelisierbar ?
      Es gibt Probleme wie bspw. das systematische Untersuchen von Eingangsvariablen (unterschiedlichste Kombinationen von Stopp und Takeprofit, Haltedauern/Timestopp etc. pp.) von Handelssystemen. Je feiner man rastert (z.B. 0.1 Abstände zwischen verschiedenen Stoppwerten statt 1er Abstände) und/oder je mehr Eingangsvariablen man betrachtet, umso aufgeblähter wird das Problem.

      Kleines Beispiel:
      2 Eingangsvariablen: SL und TP

      Variante 1:
      SL läuft von 10 % in 10er Schritten bis 50 %: 10,20,30,40,50 (5)
      TP läuft von 5 % in 5er Schritten bis 30 %: 5,10,15,20,25,30 (6)

      Will man alle Kombinationen durchtesten, muss man die Funktion/das Programm/das Handelssystem 5*6 m= 30 mal mit einer der möglichen Kombinationen laufen lassen.

      Nun kann man sich vorstellen, was passiert, wenn man statt 10er (bzw. 5er) Schrittweiten eine feinere Auflösung wünscht.

      Variante 2: Statt +10 rechnet man z.B. +0.1.
      Dadurch ergeben sich entsprechend mehr Kombinationen. Irgendwelche Heuristiken, die man noch anwenden könnte, weil man bestimmte Kombinationen wegen Unsinnigkeit filtern könnte oder sonst was lass ich mal außen vor.

      In der Grundproblematik macht man also X-mal dasselbe, nur mit einer anderen Konfiguration (die spezielle Eingangsparameter-Kombination). Da das Ergebnis eines Durchlaufs keine Einflüsse/Abhängigkeiten von einem beliebigen anderen Durchlauf hat/haben sollte, kann man diese Problematik gut parallelisieren. "Teile und herrsche" ist hier die Devise.

      Man zerlegt im einfachsten Fall die Liste der Kombinationen in soviele Teile, wie man Rechensklaven hat. Dadurch ist die Liste mit durchzusimulierenden Kombinationen viel kürzer und man ist entsprechend schneller fertig. Man kann z.B. primitiv dem (Teilproblem)Programm eine spezielle Datei mit auf den Weg geben, wenn man es startet, in der alle zu durchlaufenden Kombinationen stehen.

      Sind alle Rechenknechte mit ihrer Arbeit fertig, sammelt man die Ergebnisse (z.B. wiederum in Dateien geschrieben) ein, fügt sie zusammen und tut dann so, als hätte ein Prozess am Stück alles gemacht. Sowas lässt sich in der Regel auch recht gut programmieren.

      Wo drängt sich das zwangsläufig auf? Wenn man nur eine begrenzte Zeit hat, die beste Lösung zu finden. Z.B. will man auf den Vortagesdaten plus anderen Daten was ausrechnen, hat aber nur die Nacht über Zeit, da man 8 Uhr morgens die Ergebnisse braucht. Auf einem Prozessor benötigt man aber dafür 6 Tage. Dann MUSS man teilen, sonst kann man das Ergebnis auch instant löschen. In anderen, weniger zeitkritischen Fällen kann man das Ganze natürlich auch aussitzen und rechnet nur auf einem Prozessor/Rechner/... Man muss nicht immer alles hochtunen, nur weil es theoretisch geht, meiner Meinung nach.

      Fall 2: Das Problem ist nicht trivial:
      Man will z.B. irgendwas Raffiniertes optimieren und das Ergebnis von Schritt 1 wird benötigt, um Schritt 2 zu machen. Es macht in dem Fall wenig Sinn, das Problem aufzuteilen und Schritt 2 GLEICHZEITIG zu Schritt 1 starten zu lassen. Schritt 2 weiß ja noch nicht, was bei 1 rauskam. Man muss nun entweder das Programm in Schritt 2 so programmieren, dass es trotzdem schon mal was tun kann und man abschließend das Ergebnis von Schritt 1 und Schritt 2-Teil1 durch eine simple Gleichung zu Schritt 2-Teil 2 und somit zum Gesamtergebnis zusammenführen kann oder oder oder... hier ist Kreativität gefragt. Das meine ich mit "Nichttrivial".

      Ziel bei der Parallelisierung ist daher oft: Datenmengen zerhacken, Kommunikation zerhacken, Ressourcennutzungen beachten (gemeinsam genutzte Dateien usw.), Probleme so in Teilprobleme zerlegen, dass sie möglichst nicht voneinander abhängig sind und dann diese Teilprobleme den einzelnen Prozessoren unterschieben.

      Fall 3:
      Richtig eklig sind eigentlich nur Probleme wie z.B. Virtuelle Welt-Simulationen, die sich nicht so gut zerlegen lassen, da man ja davon ausgeht, dass das Ganze mehr ist als die Summe der Teile (wie es bei den einfacheren Problemen der Fall ist). Meine heimische Zuckerwelt, die ich mir in Mathematica programmiert habe, läuft recht zügig bei 50 mal 50 Zellen. Aber wenn ich das ganze doch etwas realistischer haben will und auf 500000 mal 500000 gehe, die Welt entsprechend mit Akteuren fülle, dann reißt mein heimischer Rechner irgendwann die Hufe hoch. Solche Größenordnungen zu zerhacken geht sicherlich auch irgendwie, aber das ist dann sportlich. Vielleicht geh ich das mal an, die Amazon Cloud scheint ja da doch recht komfortabel zu sein (Danke PT für Deine Bemühungen an der Stelle ;) ).

      Ein anderes Beispiel wäre: Fahrplansimulation bei der Deutschen Bahn (in dem Zusammenhang lernt man dann auch schönen neue Worte wie "Zugteilbelegungszeit"), wo man auch zusätzliche Heuristiken einfließen lassen muss, um sowas noch sinnvoll zu zerlegen, denn man will ja eigentlich schon, dass der ICE von Hamburg nach München auf halber Strecke für 4 Stunden hält, weil leider da der Programmierer das Problem, 35000 Züge zu koordinieren zerhackt hatte und die Ergebnisse der Teiloptimierungen nicht so ganz matchen *hust*.

      Aber im Tradingbereich sind meiner Meinung nach die auftretenden Probleme in der Mehrheit recht gut zerlegbar. Da ich mir die Amazon-Cloud noch nicht so im Detail angeschaut habe, kann ich nur vermuten, dass man eigentlich ca. alles verwenden könnte. Ich weiß, dass es gut mit R klappt (zumindest hab ich R schon auf Clustern verwendet), vermutlich sind aber kompilierte C-Programme, Dot-Net-Assemblies, verschiedene Metatrader-Instanzen, auch das von mir nach wie vor ungeliebte Python (ich bin nun mal verwöhnt) denkbar, weil Amazon ja dem Kunden eigentlich eine angenehme Lösung anbieten will. Ich glaube, die haben in ihrer gesamten Servicesparte mittlerweile bessere Margen als mit dem Warenverkauf- und versand. Das kommt ja nicht von ungefähr.


      @sayula:
      Ich kenn es so, dass man zu Beginn seinen ganzen Kram (Programm, Daten) auf das Cluster schiebt oder halt nun in die Cloud, dann startet man es, kann den eigenen Rechner und das I-Net auch abschalten und die einzelnen Programme rödeln gemütlich vor sich hin. Wenn sie länger laufen, schaut man gelegentlich mal nach, indem man sich "Remote" einloggt, was aber auch cooler klingt als es ist (ich vermute mal, Amazon hat dafür auch ne schnuffelige Web-Application) und tscha, irgendwann ist es fertig, dann downloaded man sich die Ergebnisse wieder auf den heimischen Rechner.
      Stell es Dir so vor: Du legst Deiner Sekretärin einen Berg Akten auf den Tisch (oder dem gesamten Team), befiehlst ihnen, zu arbeiten, gehst einen Kaffee trinken und ne Runde Golf spielen und kommst zurück, holst Dir die Ergebnisse ab und das war's. Eventuell installierst Du noch nen Email/SMS-Service a la "Chef, wir sind fertig."

      Schnäppchen-Preise bei Amazon-EC2-Spot-Instanzen

      Beiträge auf Forderung des Autors kulanterweise entfernt. Wir entschuldigen uns, sollten Folgepostings dadurch unverständlich werden.
      Bilder
      • Schnäppchen-Stunde.png

        10,87 kB, 689×522, 328 mal angesehen
      • Das gibt's fürs Geld.png

        8,22 kB, 553×406, 310 mal angesehen
      Zubehör für die T Serie.

      Schützen und transportieren Sie Ihr Notebook mit einer ThinkPad Tragetasche, die als Rucksack oder Toploader erhältlich ist. Für eine optimale Akkulaufzeit wählen Sie den 9-Zellen-Zusatzakku für 24 Stunden Computernutzung ohne Anschluss ans Stromnetz. Im Büro ermöglichen der ThinkPad Portreplikator Serie 3 oder das Mini-Dock Serie 3 mit Kabelführung und Verbindungsoptionen eine Nutzung als Desktop-PC. Das Mini-Dock Plus unterstützt zusätzlich zu Ihrem Notebook-Display drei Monitore und ermöglicht so eine Vier-Monitor-Konfiguration.


      shop.lenovo.com/deweb/de/de/le…420-t520/index.html#Third
      Ich nutze seit einiger Zeit Lenovo Notebooks, da gibt es von Low Budget bis zum High End Bereich viele Geräte auch mit Non-Glare Display, mein eigenes NB*würde ich jederzeit empfehlen, aber es sprengt den vorgegebenen finanziellen Rahmen.

      *Hauptgrund für diese relativ teure Wahl war SSD, eingebautes 3G-Modem (ich schaffe es immer wieder das USB Modem irgendwo zu verlegen), umschaltbare Grafik und die Möglichkeit eine passende Dockingsstation kaufen zu können, das ist meines Erachtens äusserst praktisch.

      Trading Notebook

      Mein altes Medion Notebook hat es endgültig zerlegt und nun bin ich auf der Suche nach einem Neuen. Traden tue ich zu 99% von meinem PC und das soll auch so bleiben, alleine schon wegen mehrerer und größerer TFT´s.
      Ein Notebook brauche ich aber alleine schon als backup für Ausfälle des PC oder Strom, um Positionen weiter verfolgen bzw. noch schließen zu können. Habe noch ein Netbook aber das ist mangels Leistung nicht wirklich geeignet.

      Außerdem soll das Notebook auch noch tradingfremden Zwecken auf dem Sofa oder im Garten dienen. Es muß leise sein und einen matten Bildschirm haben. Display etwa 15 Zoll. Mache keine Spiele.

      Wer kann ein aktuell auf dem Markt befindliches Notebook emfehlen? Preisvorstellung alles zwischen 500-1000€.

      PS. Mag dieses Einheitsschwarz eigentlich gar nicht, :( aber es ist fast nichts anderes auf dem Markt, daher kann das nicht das Kriterium sein
      Da ich langsam Probleme mit den Augen bekomme und mich mein Hauptmonitor dermaßen anstrahlt, dass ich mir wie mein Avatar vorkomme, möchte ich auf augenschonendere Monitore umsteigen. Ausschlaggebend dürften dabei wohl die Panels sein? Hat jemand Monitore mit VA-Panels im Einsatz oder sind IPS-Panels die bessere Wahl?

      cavobi schrieb:

      Ein neuer Simulationsrechner soll her, der Anwendungsbereich ist hauptsächlich Matlab, Amibroker und co.

      Ein paar Fragen an die Experten:

      CPU: i7 (2600k) (jemand Erfahrung mit i3930k+ ?)
      Ram: 16gb-24gb (Frage, wie groß ist der Leistungsunterschied zwischen 1333 und 1600/1800mhz)
      HDD: 1te ssd, 2te sata (oder besser beide ssd mit raid1? )
      Grafikkarte: es werden 2-3 Monitore angeschlossen. (Frage hier, wie wirkt sich eine passive/langsame graka auf die Gesamtperfomance aus, so lange es keine Grafikintensive Simulationen sind, sollte es diese nicht beeinflussen oder?)


      Die jeweils erste Variante, ist das was mir momentan vorschwebt. Jemand noch andere/bessere Vorschläge?

      Vorab danke! :)


      Stichwort L2 cache

      Is there anything that I can do to improve the performance of the optimization over the larger period?


      T. Janeczko ( 2008 ) schrieb:

      Turn on QuickAFL in AA.

      Other than that, there is very simple reason why more data leads to performance degradation:

      Every bar of your data is 40 bytes. Multiply number of bars x 40. You will get memory requirement for data alone per symbol. Now compare this to CPU cache size. If your CPU has say 2MB on-chip L2 cache it can keep on-chip only 2MB/40 = 50K bars. Anything more than 50000 bars does not fit onto on-chip cache.

      Now since system RAM is 10 times slower than CPU cache, as soon as you reach the size of on-chip CPU cache you will hit performance drop.

      Next boundary is when your system runs out of physical free RAM and starts swapping. This is easily 3 orders of magnitude slower than RAM.


      Der eine deiner beiden CPUs hat 8Mb der andere hat 12 MB, also 50% mehr bei ca 80% höherem Preis. Den Rest musst du entscheiden.
      Hier gibt es noch ein paar allg Tipps, da du ja AB ansprachst amibroker.com/kb/2011/10/25/re…resoftware-for-amibroker/

      Ansonsten gehe ich aus Testerfahrungen mit PT konfrom, das Software keine unbedeutene Rolle zukommen gelassen werden sollte. Denn was nützen die größten Hardwareverrenkungen, wenn die Software lahmt. Am Ende hat man mit teureren Hardwareverrenkungen und Softwareschrott eventuell sogar ähnliche Performanceergebnisse als mit durchschnittl. Hardware und gut programmierter Software.

      goso schrieb:

      Da ich bekennender Trader's Verweigerer bin kann ich den Artikel nicht nachlesen,
      Tz, tz, tz, ein richtiger Bauarbeiter braucht seine morgentliche BILD-Zeitung, ein richtiger Trader sein "Blättchen". ;) ^^

      Die BILD macht aus einem Bauarbeiter (k)einen besseren Handwerker, Trader´s aus einem Trader ... :whistling:

      Der Sport-Teil der BILD ist relativ brauchbar, auch im Trader´s ist ab und zu mal etwas brauchbares dabei. Als Zeitvertreib zwischen den Trades oder auch während längeren Trades lese ich das Blättchen eigentlich ganz gerne. :)
      Man muss die Vermutung mit "einfach das teuerste jeder Baugruppe" eingebaut relativieren, bei den GraKas wird sparsam agiert, man hätte zumindest Matrox M9188 (OktaGraKa) verbauen können (ab EUR 1.450,--/Stk), die Steigerung wären noch PNY Quadro Plex oder Tesla Grafikeinheiten. 8)
      Ich kam bei meinen Nachkalkulationen auf ein ähnliches Fazit, und bezüglich der Sinnhaftigkeit des LSI Warpdrives hat mir ein befreundeter Hardwarehändler erklärt, dass das Teil zwar nett ist, er es aber -selbst unter der Prämisse der eigenen Umsatzsteigerung- niemand empfehlen würde, da vollkommen überteuert.

      Ausserdem bin ich über die Back-Up Festplatten verwundert, wer einen derartig hohen technischen Aufwand betreibt wird wohl auch irgendwo im LAN ein NAS oder einen Server stehen haben, dort wäre ein Back-Up meines Erachtens wesentlich besser aufgehoben.