Hier sind ein paar Vorschläge. Suche Amazon (oder Ihre Lieblings-Buchhändler) für Bücher über C quantitative Finanzen. Ich fand mehrere Titel, die vielversprechend aussehen. Ich ging zu SourceForge (Suche auf Trading Systems) und sah mehrere vielversprechende Systeme, die Ihnen ein Bein in Drawdown, MAE, etc. geben könnte. Ich benutze TradeStation 9.0 für den Vergleich verschiedener Handelsstrategien. Es wird MAEMFE Graphen, Handels-Equity-Kurven und Rank-Strategien basierend auf maximalen Drawdown. Aber sicher sein, zu lesen, Trading Systems That Work: Aufbau und Bewertung von effektiven Trading Systems von Thomas Stridsman für eine apt Kritik der TradeStations generiert Berichte. Antwort # 1 am 15:51 Das OP wollte quotsome der Funktionen, die bei der Entwicklung einer trading strategy. quot verwendet werden Obwohl ich keine Beweise in Unterstützung zitieren kann, bin ich ziemlich sicher, dass die Werkzeuge der technischen Analyse können in der Entwicklung verwendet werden Derartige Strategien. Ob TAlib in C oder C geschrieben ist, gut ich stand korrigiert. Ndash babelproofreader Apr 3 11 um 14: 37BarsMonster: Ich konnte sehen, aber für Dinge wie Netzwerk-Stacks, die völlig Plattform abhängig sind, erfordern einige Körper des Wissens, bevor sie in der Lage, Plattformen wechseln. Plus Dinge wie Gabel, die in POSIX Welt sind aber nicht möglich, in einer Windows-Umgebung. Ich denke es ist eine vernünftige Antwort. Ndash Billy ONeal LinuxUNIX sind viel mehr nutzbar für gleichzeitige Remote-Benutzer, so dass es einfacher zu script rund um die Systeme, verwenden Sie Standard-Tools wie grepsedawkperlrubyless auf Protokolle. Sshscp. Alles was da drin steckt. Es gibt auch technische Probleme, zum Beispiel: Um die verstrichene Zeit unter Windows zu messen, können Sie zwischen einem Satz von Funktionen auf der Basis des Windows-Taktes und dem hardwarebasierten QueryPerformanceCounter () wählen. Erstere werden jeweils 10 bis 16 Millisekunden inkrementiert (beachten Sie, dass einige Dokumente mehr Präzision implizieren - z. B. die Werte von GetSystemTimeAsFileTime () auf 100ns, aber sie melden denselben 100ns-Rand des Taktes, bis sie erneut tickt). Letztere - QueryPerformanceCounter () - hat show-stop-Probleme, wo verschiedene corescpus können Taktgeber-seit-Start, die sich um mehrere Sekunden, aufgrund der Erwärmung zu verschiedenen Zeiten während des Systemstarts zu unterscheiden. MSDN dokumentiert dies als einen möglichen BIOS-Bug, aber seine gemeinsame. Also, wer will die Entwicklung von Low-Latency-Trading-Systeme auf einer Plattform, die nicht richtig instrumentiert werden kann (Es gibt Lösungen, aber Sie finden keine Software, die bequem sitzen in Boost oder ACE). Viele LinuxUNIX-Varianten verfügen über eine Reihe von leicht zu testenden Parametern, um die Latenzzeiten für ein einzelnes Ereignis gegenüber der durchschnittlichen Latenzzeit unter Last, Zeitscheibengrößen, Planungsrichtlinien usw. auszugleichen. Auf Open-Source-Betriebssystemen gibt es auch die Sicherheit, Code, wenn Sie denken, dass etwas schneller sein sollte, als es ist, und das Wissen, dass eine (potenziell riesige) Gemeinschaft von Menschen gewesen und sind so kritisch - mit Windows seine offensichtlich vor allem die Menschen Hure zugewiesen werden. Auf der FUD Reputation Seite - etwas unfassbar, aber ein wichtiger Teil der Gründe für OS Auswahl - Ich denke, die meisten Programmierer in der Branche würden nur LinuxUNIX mehr vertrauen, um zuverlässige Scheduling und Verhalten zu liefern. Darüber hinaus hat LinuxUNIX einen Ruf für das Abstürzen weniger, obwohl Windows ist ziemlich zuverlässig in diesen Tagen, und Linux hat eine viel volatile Code-Basis als Solaris oder FreeBSD. Beantwortet 29. August um 0:42 Windows-Client-Betriebssystemen nur eine Person zu verwenden RDP zu einem Zeitpunkt. Allerdings Windows Terminal Server wurde für immer (es war in der Tat die ursprüngliche Verwendung von RDP) und es ermöglicht so viele Verbindungen wie Sie haben Client Access Lizenzen. Windows Server-Betriebssysteme verfügen über die Möglichkeit, mehr als einen Remote-Benutzer standardmäßig zu haben. Wenn Sie den Kommentar zur Terminierung Quelle könnte dann würde ich hier - dieser Teil der Antwort scheint zu sein FUD an diesem Punkt zu mir (der Rest der Antwort ist gut). YMMV. Ndash Billy ONeal Es ist keine UNIXLinux Scheduling. Es ist einer der Bereiche, in denen sich die Implementierungen unterscheiden. Und Linux hat in der Tat mehr als ein Scheduler Wahl (google Completely Fair Scheduler Linux für Hintergrund), so können Sie can39t sogar sagen, quotLinux Scheduling ist zuverlässig. Ndash MSalters Aug 30 10 am 11:37 Ich zweite die Meinungen der historischen und Zugang zu Kernel-Manipulation. Abgesehen von diesen Gründen glaube ich auch, dass genau wie, wie sie deaktivieren Garbage Collection von. NET und den ähnlichen Mechanismus in Java, wenn Sie diese Technologien in einigen niedrigen Latenzzeit. Sie könnten Windows aufgrund der APIs auf hohem Niveau zu vermeiden, die Interaktion mit niedrigen os und dann den Kernel. Also der Kern ist natürlich der Kernel, der mit dem Low-Level-OS interagiert werden kann. Die High-Level-APIs werden nur für die gemeinsame Benutzerleben erleichtern. Aber im Falle von Low Latency ist dies eine fettige Schicht und Fraktion Sekunden Verlust um jede Operation. So eine lukrative Option für die Gewinnung von wenigen Sekunden pro Anruf. Abgesehen von dieser anderen Sache zu prüfen ist Integration. Die meisten der Server, Rechenzentren, Börsen verwenden UNIX-Fenster nicht so verwenden die Clients der gleichen Familie macht die Integration und Kommunikation einfacher. Dann haben Sie Sicherheitsprobleme (viele Leute draußen möglicherweise nicht mit diesem Punkt zwar) Hacking UNIX ist nicht einfach im Vergleich zu Hacking WINDOWS. Ich stimme nicht Lizenzierung muss das Problem für Banken, weil sie Geld auf jedem einzelnen Stück Hardware und Software und die Menschen, die sie anpassen, so dass Kauf von Lizenzen wird nicht so groß sein das Problem, wenn man bedenkt, was sie durch den Kauf gewinnen. Beantwortet Dec 21 12 at 20:05 Ihre Antwort 2017 Stack Exchange, IncHard zu sagen, what039s passiert. Eine Sache über HFT ist, dass die Geschwindigkeit der Sprache seltsam doesn039t viel viel. Sie sprechen über Latenzen von 20 Millisekunden, und jede Sprache kann 20 Millisekunden, da CPU-Zeiten in Nano-Sekunden statt in Millisekunden gemessen werden. In algo Handel Java ist in der Regel quotfast genugquot, da der Trick ist immer die Multithreading und Vernetzung rechts statt zu verbringen Anstrengungen auf die CPU. Da Java ist die Standard-Sprache der Bank Netzwerken, dann macht es Sinn, dass, wenn that039s, was Sie bereits haben. Die andere Sache, die Sie vorsichtig sein müssen, ist quotmarketingquot. Niemand heuert quotprogrammersquot in der Finanzierung. Jeder möchte ein quotquant. quot Die gleiche Sache scheint, mit HFT zu geschehen. Da HFT ist sexy, dann jeder Job heißt HFT. C ist notwendig, wenn Sie über ultra-schnelle Systeme sprechen, aber die meisten algo Handel doesn039t dies zu tun, und es gibt eine Menge von Algo Handel, die Dinge, die ich wouldn039t betrachten HFT, sondern ein Personalvermittler oder Person werben einen Job könnte. 5.6k Ansichten middot Ansicht Upvotes middot Nicht für Fortpflanzung middot Antworten von einer Person beantragt Wie eine der Antworten darauf hingewiesen, sind die meisten HFT-Systeme selten in einer Sprache implementiert. Sogar innerhalb des HFT Raumes gibt es ziemlich ein wenig von wiggle Raum abhängig von, was Sie laufen. Wenn Sie versuchen, einen Vanilla-Index arb, wo Ihr Erfolg hängt davon ab, aus der Gunning der Konkurrenz, Ihre einzige Schuss auf die Arbeit mit einem FPGA oder ein ASIC ist. Wenn Sie spielen in der Sub 10 Mikrosekunde Bereich alles in C hilft viel. Meine wichtigsten Gründe für die Auswahl von C vor Java sind Die Fähigkeit, Objekte zu erstellen, zu zerstören und zurücksetzen, wie und wann ich will. Meine größte Bequemlichkeit mit C ist die Fähigkeit, einen Objekt-Destruktor aufzurufen, ohne die Objekte Speicher freizugeben. Die Möglichkeit, direkt Makros, GCC-Direktiven (für Sachen wie Branch Vorhersage) und in Zeile Montage. Die Möglichkeit der Handcodierung einer Latenzkritischen Subroutine beim Zusammenbau und direkte Integration mit Code ist unbezahlbar. Native OS-Aufrufe (selten). Nahtlose Shared Memory und die Fähigkeit, bestimmte Tweaks wie die Schaffung von NUMA bewusst Algorithmen, Pinning bestimmte Threads zu Kerne, DDIO etc. Diese Dinge definitiv helfen Rasur überall von 2 bis 10 Mikrofone aus Ihrem Trading-Stack je nachdem, was Sie upto sind. Viele Hochfrequenzstrategien laufen im Zeitrahmen von 20-30 Mikrosekunden. Ich denke, das ist, wo eine Menge von Vielfalt in Bezug auf die Einrichtung auftritt. Die meisten Systeme in diesem Zeitbereich bestehen aus Konnektivitäts - und Auftragsverwaltungssystemen, die in C und Strategieschnittstellen geschrieben wurden, die es Ihnen erlauben, Ihre Strategie in dem zu schreiben, was in Ihrem Unternehmen beliebt ist. I039ve C, Java, C, Scala, Python und sogar Haskell verwendet hier. Jane Straße Ansprüche auf Ocaml. Large Firmen verwenden haben mehrere Teams, die über verschiedene Zeithorizonte Handel. Die meisten Infrastruktur ist in der Regel für die Menschen, die die schnellste Sachen geschrieben und dann, die auf andere verteilt wird geschrieben. In der Regel haben die meisten Geschäfte eine Hardware-Lösung und eine Software-Lösung. Core infra sehr selten wird in Java geschrieben. Backtesting, Strategie und Forschung Leute können jedoch verwenden es substantialy. 2.9k Aufrufe middot Ansicht Upvotes middot Nicht für Fortpflanzung Lance Diduck. Dutzende C-Systeme über 20 Jahre gebaut Ein automatisiertes Handelssystem wird selten in einer Sprache implementiert. "HFTquot könnte nur bedeuten, I039m Ein-und Aussteigen einer Position mehrmals am Tag. Viele dieser Systeme beginnen als quothigh touchquot Anwendung, in der Regel Java oder C, wo ein Händler wird dort sitzen und drücken Sie Tasten, um Trades zu initiieren. Um die Ausführungskosten zu senken, benötigen wir ein System mit niedriger Latenz, das einen guten Determinismus in Antwortzeiten aufweist. Sie können nicht Pause für Hash-Tabelle Rebucketing oder Garbage Collectors oder das OS nehmen Sie Ihre Zeitscheibe oder verschieben Sie zu einem diferent Prozessor oder was auch immer. Es gibt Jungs, die dies in Java versuchen, und verbringen die meiste Zeit versucht, Java-Arbeit deterministisch zu machen. Viel Glück Aber Berichterstattung Tools, Konsolen, Monitoring-Bildschirm, sicher, dass diese Teile in Java oder C oder JavaScript für diese Angelegenheit sein könnte. Ich persönlich benutze eine Mischung aus Python und C 3.1k Ansichten middot Ansicht Upvotes middot Nicht für Fortpflanzung middot Antwort von 1 Person beantragt Wenn Sie in ultra HFT sind, dann ist C die einzige Antwort (neben kundenspezifischer Hardware - FPGA amp ASIC). Sie können can039t leisten Müllsammler. Ich habe nie gesehen, C geschlagen von Java in UHFT, wenn Kursen Millionen von Nachrichten eine Sekunde. Für Dutzende von Millionen benötigen Sie FPGAs und Hunderte ASICs. 2.9k Views middot View Upvotes middot Nicht für die Reproduktion Warum ist C so attraktiv über Java oder C Was ist günstiger zu lernen, wie eine erste Programmiersprache, Java oder C Warum Wie wichtig sind die TA oder FA in der Welt der HFT Welche Sprache sollte Ich lerne nach Python, C oder C Wie viel Zeit wird benötigt, um C, C und Java zu lernen Was sollte ich zuerst lernen - C, Java, C oder C Gibt es Tutorials für die Programmierung mit niedriger Latenz in Java speziell für HFT Java ist JavaScript Wie C ist zu C Warum ist Java besser als C Welche besser ist: C, C oder Java Sollte ich lernen, C, Java oder HTML Sind C Ausnahmen in HFT oder Mid-Hold-Trading verwendet Ist es möglich, Java zu lernen, ohne CC lernen Was Sind die Vor-und Nachteile von Java und C Warum ist Java-Syntax ähnlich C Sollte ich lernen, C, C oder Java zuerst Und warum ist C härter zu lernen als Java Das ist am härtesten, Java, C oder C Welche ist schneller, Java Oder C Ist Java einfacher als C
No comments:
Post a Comment