Die Ressourcen sind geladen. Beförderung...

3.1 Quantitative Bewertung von Handelsprogrammiersprachen

Schriftsteller:Gutes, Erstellt: 2019-06-25 12:05:44, Aktualisiert: 2023-11-11 16:57:24

img

Bewertung der quantitativen Handelsprogrammiersprache

Zusammenfassung

In Kapitel 1 und 2 haben wir die Grundlagen des quantitativen Handels und die Anwendungen von FMZ Quant-Tools gelernt. In diesem Kapitel werden wir die tatsächlichen Handelsstrategien umsetzen. Wenn ein Arbeiter etwas Gutes tun möchte, muss er zuerst seine Werkzeuge schärfen. Um eine Handelsstrategie umzusetzen, muss man zuerst eine Programmiersprache beherrschen. Dieser Abschnitt führt zuerst die Mainstream-Programmiersprachen im quantitativen Handel sowie die Eigenschaften jeder Programmiersprache selbst ein.

Was ist eine Programmiersprache?

Bevor Sie eine Programmiersprache lernen, müssen Sie zuerst das Konzept von Programmiersprache verstehen. Eine Programmiersprache ist eine Sprache, die sowohl Menschen als auch Computer verstehen können. Es ist ein standardisierter Kommunikationscode. Der Zweck einer Programmiersprache ist es, eine menschliche Sprache zu verwenden, um einen Computer zu steuern und dem Computer zu sagen, was wir tun werden. Der Computer kann Anweisungen gemäß der Programmiersprache ausführen, und wir können auch Code schreiben, um Anweisungen an den Computer zu erteilen.

So wie uns die Eltern das Sprechen lehrten und uns lehrten, zu verstehen, was andere Leute sagen. Nach einer langen Zeit der Erziehung und Selbstlernen haben wir gelernt zu sprechen, ohne es zu wissen, und können die Bedeutung anderer Kinder verstehen, die sprechen. Es gibt viele Sprachen, darunter Chinesisch, Englisch, Französisch usw.

  • Chinesisch: Hallo, Welt

  • Deutsch: Hallo Welt

  • Französisch: Bonjour tout le monde

Wenn Sie die Programmiersprache verwenden, um Hello World auf Ihrem Computerbildschirm anzuzeigen, ist dies der Fall:

  • C-Sprache: setzt (Hello World);

  • Sprache Java: System.out.println ((Hello World);

  • Python-Sprache: Drucken (Hello World)

Sie können sehen, dass Computersprachen ihre eigenen spezifischen Regeln haben, und es gibt viele Sprachen, und diese Sprachregeln sind die Klassifizierung von Programmiersprachen, die wir heute für Sie erklären müssen. In jeder Kategorie müssen wir uns nur an die grundlegendsten Regeln erinnern. Wir können diese Programmiersprachen verwenden, um mit dem Computer zu kommunizieren und den Computer die entsprechende Strategie gemäß unseren Anweisungen ausführen zu lassen.

Klassifizierung von Programmiersprachen

Um Referenzen und Vergleiche zu erleichtern, wählen Sie die quantitative Handelsprogrammiersprache, die zu Ihnen passt. Wir werden die sechs am häufigsten verwendeten Programmiersprachen kategorisieren: Python, Matlab/R, C++, Java/C#, EasyLanguage und Visual Programming Language (wie unten gezeigt).

img

Wir bewerten sie nach Funktionsfähigkeit, Geschwindigkeit, Erweiterung und Lernschwierigkeit. Eine Punktzahl von 1 bis 5, beispielsweise eine Punktzahl von 5 im Funktionsbereich bedeutet leistungsstark, und 1 Punkt bedeutet weniger Funktionalität. (wie oben gezeigt) Visuelle Programmierung und EasyLanguage sind leicht zu lernen und sehr neu; Python hat leistungsstarke Erweiterungsfähigkeiten und eignet sich für die Entwicklung komplexerer Handelsstrategien; C ++ Programmierung ist die schnellste und für Hochfrequenzhändler geeigneter.

Aber für jede Programmiersprache ist die Bewertung hauptsächlich für die Anwendung im Bereich des quantitativen Handels. und mit der subjektiven Komponente des Einzelnen. Sie sind auch willkommen, sie selbst zu erkunden, als nächstes werden wir beginnen, diese Programmiersprachen einzeln einzuführen.

Visuelle Programmierung

Visuelle Programmierung gibt es schon lange, diese Art von "Was Sie sehen, ist was Sie bekommen" Programmierung Idee, ausgestattet mit einer Vielzahl von Steuerungsmodulen, nur durch Drag and Drop, können Sie Code-Logik bauen, das Handelsstrategie-Design abschließen, der Prozess ist wie Bausteine.

img img

Wie oben gezeigt, ist das gleiche Verfahren nur ein paar Zeilen Code auf der FMZ Quant Handelsplattform visuelle Programmierung. Dies reduziert die Programmierschwelle erheblich, vor allem für Händler, die Programmierung überhaupt nicht verstehen, was eine große Betriebserfahrung ist.

Da die zugrunde liegende Implementierungsstrategie dieser visuellen Programmierung in C++ umgewandelt wird, hat dies wenig Einfluss auf die Laufgeschwindigkeit des Programms. Die Funktionalität und Skalierbarkeit sind jedoch schwach und es ist unmöglich, eine zu komplizierte und zu raffinierte Handelsstrategie zu entwickeln.

EasyLanguage

img

Die sogenannte EasyLanguage bezieht sich auf die Programmiersprache, die für einige kommerzialisierte quantitative Handelssoftware einzigartig ist. Obwohl diese Sprachen auch einige objektorientierte Funktionen haben, werden sie hauptsächlich in der Anwendung geschrieben. In Bezug auf Grammatik ist sie auch sehr nahe an unserer natürlichen Sprache. Für Anfänger des quantitativen Handels ist die Verwendung von EasyLanguage als Ausgangspunkt eine gute Wahl. Zum Beispiel die M-Sprache auf der FMZ Quant-Plattform.

Diese Art von Skriptsprache hat keine Probleme bei der Strategie-Backtesting und dem realen Markt in ihrer spezifischen Software, aber in Bezug auf die Erweiterung ist sie oft begrenzt. Zum Beispiel können Strategie-Entwickler keine externen APIs aufrufen.

Python

Wie in der Abbildung unten gezeigt, hat sich die Anzahl der Mainstream-Programmiersprachen in Stackoverflow in den letzten Jahren nicht stark verändert, und nur Python ist enorm gestiegen. Python kann für Webentwicklung, maschinelles Lernen, Deep Learning, Datenanalyse usw. verwendet werden. Es ist aufgrund seiner Flexibilität und Offenheit zur vielseitigsten Sprache geworden.

img

Die Basis-Datenstrukturlisten und -Wörterbücher von Python sind sehr leistungsfähig und können fast alle Bedürfnisse der Datenanalyse erfüllen.

Für die Finanztechnik ist die zielgerichtete Bibliothek Pandas mit zwei Datenstrukturen, Serie und DataFrame, die sich ideal für die Verarbeitung von Zeitreihen eignen.

In Bezug auf Geschwindigkeit ist Python in der Mitte des Spiels, langsamer als C++ und schneller als EasyLanguage, hauptsächlich weil Python eine dynamische Sprache ist, die mit der normalen Geschwindigkeit wie eine reine Python-Sprache läuft.

Als Klebstoffsprache ist Python in Bezug auf Skalierbarkeit die Nummer eins. Neben der Möglichkeit, sich ausgiebig mit anderen Sprachen zu verbinden, ist das Design der Erweiterungs-API sehr einfach zu bedienen. In Bezug auf die Lernschwierigkeit hat Python eine einfache Syntax, hohe Codelesbarkeit und einfache Eingabe.

Matlab/R

Dann gibt es Matlab und R-Sprache. Diese beiden Sprachen sind hauptsächlich auf die Datenanalyse ausgerichtet. Sprache Schöpfer haben eine Menge Design für wissenschaftliche Operationen in Grammatik getan, die durch natürliche Unterstützung für quantitative Handelsoperationen gekennzeichnet ist. Allerdings ist der Anwendungsbereich begrenzt, und es wird im Allgemeinen für Datenanalyse und Strategie-Backtesting verwendet. Für das Handelssystem und Strategie-Algorithmus-Entwicklung, seine Benutzerfreundlichkeit und Stabilität sind weniger.

Darüber hinaus sind ihre Geschwindigkeit und Skalierbarkeit relativ gering, da Matlab und R auf einer einzigartigen virtuellen Maschine laufen. In Bezug auf die Leistung sind ihre virtuellen Maschinen viel schlechter als Java und C #. Aber weil ihre Grammatik der mathematischen Ausdrucksformel näher ist, ist es relativ einfach zu lernen.

C++

C++ ist eine allgemeingültige Programmiersprache, die mehrere Programmiermuster wie prozedurale Programmierung, Datenabstraktion, objektorientierte Programmierung, generische Programmierung und Designmuster unterstützt.

Derzeit ist C++ immer noch die bevorzugte Programmiersprache für den Hochkapazitäts-Hochfrequenzhandel. Der Grund ist einfach. Da C++-Sprachfunktionen leichter auf die zugrunde liegende Schicht des Computers zugänglich sind, ist es das effektivste Werkzeug für die Entwicklung leistungsstarker Backtesting- und Ausführungssysteme, die große Datenmengen verarbeiten.

Java/C#

Java/C# sind statische Sprachen, die auf virtuellen Maschinen laufen. Im Vergleich zu C++ gibt es kein Array out of bounds, keinen Coredump, geworfenen Ausnahmen kann genau den Fehlercode zu lokalisieren, bringen automatischen Müll Sammlung Mechanismus, keine Sorge um Speicher Leak und so weiter. Also in Bezug auf Grammatik Lernschwierigkeit, sind sie auch einfacher als C++. In Bezug auf Geschwindigkeit, weil ihre virtuellen Maschinen mit JIT-Funktionen bei Laufzeit kompiliert kommen, die Geschwindigkeit ist nur der zweite nach C++.

Aber in Bezug auf Funktionalität ist es unmöglich, das zugrunde liegende Handelssystem wie C++ zu optimieren. In Bezug auf die Erweiterungsleistung ist es schwächer als C++, weil ihre Erweiterung die C-Brücke passieren muss, und die beiden Sprachen selbst laufen auf der virtuellen Maschine, also beim Erweiterung des Funktionsmoduls müssen Sie eine weitere Layerwand überqueren.

Zusammenfassend

Allerdings ist am Ende die quantitative Programmiersprache nicht wichtig, die wichtige Sache ist die Idee. Die FMZ Quant M-Sprache und die visuelle Programmiersprache sind als Sprungbrett für den Einstieg in den quantitativen Handel völlig problemlos. Nach den Grundlagen besteht die Verbesserung darin, kontinuierlich verschiedene Marktbedingungen zu erforschen und zu versuchen, mehr zugrunde liegende Sprache wie C++ zu verwenden.

Entwerfen Sie Ihre Strategie und handeln Sie mit Ihren Ideen. Aus dieser Perspektive ist der Kern des quantitativen Handels immer noch der Handel mit Ideen. Als quantitativer Trader müssen Sie nicht nur die grundlegende Grammatik und Funktionen der Strategie-Schreibplattform beherrschen, sondern auch das Handelskonzept im tatsächlichen Kampf verstehen.

Nachschulübungen

  1. Welche Vorteile hat die Python-Sprache als quantitatives Handelswerkzeug?

  2. Versuchen Sie, ein paar häufig verwendete APIs in der M-Sprache zu schreiben?

Ankündigung zum nächsten Abschnitt

Ich glaube, dass mit der oben genannten Einführung in die Programmiersprache, müssen Sie wissen, wie man es wählt, dann in den nächsten Kapiteln, werden wir eine quantitative Handelsstrategie auf der Grundlage der Klassifizierung von Programmiersprachen zu entwickeln.


Verwandt

Mehr