Saturday 14 October 2017

F # trading systems


Ich arbeitete für eine große Investmentbank vor ein paar Jahren, die angekündigt, dass es alle quant Modelle zu F. Das Ziel hinter dem Schalter war, dass F ist eine funktionale Programmiersprache und verfügbar auf. NET, die beide wünschenswerte Qualitäten für diese besondere waren Unternehmen. Ich verließ, bevor sie auf den Übergang begonnen, also weiß ich nicht, was daraus wurde. Was die verwandte OCaml, Jane Street berühmt verwendet. Antwortete am 8. Februar um 21:10 Es gab riesige Summen über F in der Stadt und wenige Banken / Fonds versuchte sehr aggressiv Leute mit F Wissen und Erfahrung in der Finanzierung zu mieten. So ist Luka Bolognese, einer der F-Autoren, vor fast zwei Jahren der Credit Suisse beigetreten. Auch Don Syme pflegte, Besuchsvorträge über F und seine möglichen Anwendungen zu leiten, um in der Stadt zu finanzieren. Antwortete am 8. Februar um 21:23 Uhr Yop gibt es auch ein paar Hedgefonds lauern für F-Programmierer in Genf ndash SRKX 9830 Sep 9 11 at 14:50 Alle Updates für 2015 ndash Nikos Jul 8 15 at 9:23 Ich arbeite bei Trayport, Dem führenden Anbieter von europäischen Energiehandelslösungen. Wir verwenden F neben C in unserem Trading-Bildschirm Joule. F wird für unsere Berechnungsmodule, Domänen, Hochleistungskomponenten und für die Behandlung von Parallelität verwendet. Die Rechenmaschine nutzt Fs-Anschlusstypen, Musteranpassung und Maßeinheiten. Die Domain nutzt Fs-reiche objektorientierte Konstrukte. F ist besonders stark bei Parallelität mit erstklassigen Ereignissen, eingebauten Agenten. Asynchrone Workflows und Unveränderbarkeit als Standard. Als statisch typisierte. Net-Sprache hat F ähnliche Leistungsmerkmale wie C, mit zusätzlichen Optimierungen wie Schwanz - und Inline-Funktionen. Die Performance des Systems ist vergleichbar mit der bisherigen hochoptimierten C-Implementierung und bei einigen Schlüsselkomponenten deutlich schneller. C39s Ansatz (und die Object Oriented Ansatz, im Allgemeinen), um High-Level-Mathematik ist asinine. Nehmen Sie Delegate, 39callbacks39, und Design-Muster, zum Beispiel. Dies sind Begriffe, die um OO-Kreise herumgehängt werden, wie sie eine super fortgeschrittene Hexerei sind, wenn sie in Wirklichkeit universell so trivial sind wie das Übergeben von g (x) in f () (oder f (g (x))). Wenn Matheleute in diesen Unsinn laufen, ist es wie ein Zivilingenieur, der einen Wolkenkratzer aus Spiel-Teig, Blasen-Gummi und Lincoln-Logs erlebt. Ihre Köpfe brechen, und die Engel sterben. Ndash bordeo Dec 6 15 at 1:00 Für was es wert ist. Ich arbeite für eine große Investmentbank und wir haben beschlossen, die funktionale Weise zu gehen. Da die meisten unserer anderen Legacy-Anwendungen sind JAVA wir beschlossen, mit Clojure auf JVM. I arbeitete für eine große Investmentbank vor ein paar Jahren angekündigt, dass es bewegte alle quant Modelle zu F. Das Ziel hinter dem Schalter war, dass F eine funktionale ist Programmiersprache und verfügbar auf. NET, die beide wünschenswerte Qualitäten für dieses Unternehmen waren. Ich verließ, bevor sie auf den Übergang begonnen, also weiß ich nicht, was daraus wurde. Was die verwandte OCaml, Jane Street berühmt verwendet. Antwortete am 8. Februar um 21:10 Es gab riesige Summen über F in der Stadt und wenige Banken / Fonds versuchte sehr aggressiv Leute mit F Wissen und Erfahrung in der Finanzierung zu mieten. So ist Luka Bolognese, einer der F-Autoren, vor fast zwei Jahren der Credit Suisse beigetreten. Auch Don Syme pflegte, Besuchsvorträge über F und seine möglichen Anwendungen zu leiten, um in der Stadt zu finanzieren. Antwortete am 8. Februar um 21:23 Uhr Yop gibt es auch ein paar Hedgefonds lauern für F-Programmierer in Genf ndash SRKX 9830 Sep 9 11 at 14:50 Alle Updates für 2015 ndash Nikos Jul 8 15 at 9:23 Ich arbeite bei Trayport, Dem führenden Anbieter von europäischen Energiehandelslösungen. Wir verwenden F neben C in unserem Trading-Bildschirm Joule. F wird für unsere Berechnungsmodule, Domänen, Hochleistungskomponenten und für die Behandlung von Parallelität verwendet. Die Rechenmaschine nutzt Fs-Anschlusstypen, Musteranpassung und Maßeinheiten. Die Domain nutzt Fs-reiche objektorientierte Konstrukte. F ist besonders stark bei Parallelität mit erstklassigen Ereignissen, eingebauten Agenten. Asynchrone Workflows und Unveränderbarkeit als Standard. Als statisch typisierte. Net-Sprache hat F ähnliche Leistungsmerkmale wie C, mit zusätzlichen Optimierungen wie Schwanz - und Inline-Funktionen. Die Performance des Systems ist vergleichbar mit der bisherigen hochoptimierten C-Implementierung und bei einigen Schlüsselkomponenten deutlich schneller. C39s Ansatz (und die Object Oriented Ansatz, im Allgemeinen), um High-Level-Mathematik ist asinine. Nehmen Sie Delegate, 39callbacks39, und Design-Muster, zum Beispiel. Dies sind Begriffe, die um OO-Kreise herumgehängt werden, wie sie eine super fortgeschrittene Hexerei sind, wenn sie in Wirklichkeit universell so trivial sind wie das Übergeben von g (x) in f () (oder f (g (x))). Wenn Matheleute in diesen Unsinn laufen, ist es wie ein Zivilingenieur, der einen Wolkenkratzer aus Spiel-Teig, Blasen-Gummi und Lincoln-Logs erlebt. Ihre Köpfe brechen, und die Engel sterben. Ndash bordeo Dec 6 15 at 1:00 Für was es wert ist. Ich arbeite für eine große Investmentbank und wir haben beschlossen, die funktionale Weise zu gehen. Da die meisten unserer anderen Legacy-Anwendungen JAVA sind, entschieden wir uns für die Verwendung von Clojure auf JVM. F für Energiehandel und Energie-Portfolio-Optimierung Wir erhalten viele informelle Rückmeldung, dass F in verschiedenen Anwendungsbereichen groß gewesen ist. Einer meiner Lieblings-Analysen von 8220why war F groß für meine work8221 wurde von Simon Cousins, ursprünglich auf stackoverflow veröffentlicht. Simon hat uns die Erlaubnis gegeben, das zu veröffentlichen, was er hier geschrieben hat. Ich denke, was er sagt, ist wirklich interessant, weil es verschiedene technische Merkmale von F (die ich liebe zu sprechen), um tatsächliche starke Verbesserungen in der Produktivität in der sehr realen Welt Anwendungsbereich der Stromerzeugung Zeitpläne für eine große Energie-Unternehmen, in diesem Fall in Großbritannien. Ich hoffe, Sie genießen, was Simon geschrieben hat, und finden es nützlich, um anderen zu erklären, warum funktionale Programmierung zu konkreten Verbesserungen in der Produktivität und Software-Zuverlässigkeit führt. Mit F für Energiehandel und Energieportfolio-Optimierung, von Simon Cousins ​​Ich habe eine Anwendung geschrieben, um den nationalen Stromerzeugungsplan für ein Portfolio von Kraftwerken auf eine Handelsposition für ein Energieunternehmen auszugleichen. Die Client - und Serverkomponenten waren in C, aber die Rechenmaschine wurde in F geschrieben. Die Verwendung von F, um die Komplexität im Mittelpunkt dieser Anwendung zu adressieren, zeigt eindeutig einen Sweetspot für die Sprache innerhalb von Unternehmenssoftware, nämlich eine algorithmisch komplexe Analyse großer Daten Sets. Meine Erfahrung war sehr positiv. Insbesondere: Maßeinheiten. Die Branche, in der ich arbeite, ist mit Einheiten übersät. Die von mir umgesetzten Gleichungen (oft geometrischer Natur) beschäftigten sich mit Zeit-, Energie - und Energieeinheiten. Mit dem Typ-System überprüfen die Richtigkeit der Einheiten der Eingänge und Ausgänge der Funktionen ist ein großer Zeitersparnis, sowohl in Bezug auf die Prüfung und das Lesen / Verstehen des Codes. Es beseitigt eine ganze Klasse von Fehlern, die früheren Systemen anfällig waren. Explorative Programmierung. Die Arbeit mit Script-Dateien und dem REPL (F Interactive) ermöglichte es mir, den Lösungsraum effektiver zu erforschen, bevor ich eine Implementierung durchführte, als die traditionellere Edit / Compile / Run / Test-Schleife. Es ist eine sehr natürliche Weise für einen Programmierer, ihr Verständnis des Problems und der Design-Spannungen im Spiel aufzubauen. Einheitsprüfung. Code, der unter Verwendung von nicht-seitig wirkenden Funktionen und unveränderlichen Datenstrukturen geschrieben wird, ist eine Freude zu testen. Es gibt keine komplexen zeitabhängigen Wechselwirkungen, um Schrauben oder große Mengen von Abhängigkeiten zu verspotten. Zusammenarbeit. Ich definierte die Schnittstelle zur Berechnungsmaschine in C und implementierte die Berechnung in F. Die Berechnungs-Engine konnte dann in jedes C-Modul injiziert werden, das benötigt wurde, um es ohne Bedenken überhaupt über Interoperabilität zu verwenden. Nahtlos. Der C Programmierer muss nie wissen. Code-Reduzierung. Ein Großteil der in die Rechenmaschine eingespeisten Daten lag in Form von Vektoren und Matrizen vor. Funktionen höherer Ordnung essen diese zum Frühstück mit minimaler Aufregung, minimaler Code. Schön. Mangel an Fehlern. Funktionale Programmierung kann sich seltsam fühlen. Ich kann an einem Algorithmus arbeiten, schwer zu versuchen, den Code zu erhalten, um die Typ-Checker passieren, aber sobald der Typ-Checker erfüllt ist, thatrsquos es, es funktioniert. Itrsquos fast binär, entweder es887t kompilieren oder itrsquos richtig. Weird Edge Fall Fehler minimiert werden, Rekursion und Funktionen höherer Ordnung entfernen eine Menge Buchhaltung Code, der Rand Fall Fehler führt. Parallelität. Die funktionelle Reinheit der resultierenden Implementierung macht es reif, die inhärente Parallelität in Verarbeitungsvektoren von Daten auszunutzen.

No comments:

Post a Comment