[PYTHON] Quantopian Tutorial LEKTION 1, 2

Einführung

Ich habe mich für Quantopian bei Ein bestimmtes Ereignis entschieden und bin zu Tutorial gegangen. Ich habe versucht, die Punkte zusammenzufassen, bei denen es sich wahrscheinlich um Punkte handelt. Da es sich um eine gekaute Superübersetzung handelt (willkommen bei Tsukkomi), lesen Sie bitte das offizielle Dokument, wenn Sie es ordnungsgemäß bestätigen möchten.

Eigenschaften von Quantopian

Was ist Quantopian? Dieser Artikel Wenn Sie sich darauf beziehen, sieht es so aus, wenn ich die Funktionen aufliste, die ich für gut hielt. ..

Wie benutzt man

Registrieren Sie sich als Benutzer unter www.quantopian.com und wählen Sie "Research --Algorithms --New Algorithm", um die IDE in Ihrem Browser anzuzeigen.

Erstellen Sie einen Algorithmus, indem Sie den Code in der Vorlage bearbeiten, und wählen Sie "Algorithmus erstellen", um einen einfachen Test auszuführen. Wählen Sie "Vollständigen Backtest ausführen" zur weiteren Überprüfung.

Einzigartige Regeln zum Schreiben von Code

Quantopian hat seine eigenen Namespace- und Funktionsnamenregeln. Wenn Sie das nicht verstehen, werden Sie plötzlich stecken bleiben, deshalb werde ich es so sorgfältig wie möglich erklären.

Kontextobjekt

Eine globale Instanz wird erstellt, ohne etwas zu definieren. Die unten beschriebenen Funktionen greifen auf die Attribute dieser Instanz zu, um die erforderlichen Informationen abzurufen. Es scheint eine gute Idee zu sein, diesem "Kontext" -Objekt beliebige Attribute hinzuzufügen, ohne eine globale Variable (Objekt) zu erstellen. Dies ist meine Vorstellung, aber wenn alle an die Funktion übergebenen Parameter als Argumente verwendet werden, ist es ineffizient, denselben Parameter mit mehreren Funktionen zu teilen, oder die Dokumentzeichenfolge ist riesig und schwierig. Ich denke, es wurde so entworfen.

Das Folgende ist ein Einstellungsbeispiel für das "Kontext" -Objekt. Durch dieses Schreiben wird ein Apple-Objekt erstellt.

context.aapl = symbol('AAPL')

Datenobjekt

Wie der Kontext existiert er plötzlich. Das Datenobjekt enthält verschiedene APIs für Preisinformationen.

Im folgenden Beispiel wird der aktuelle Aktienkurs aus dem oben erstellten Apple-Objekt ermittelt.

data.current(context.aapl, 'price')

LESSON 2 Core Functions Überspringen Sie LEKTION 1 und beginnen Sie mit LEKTION 2. Aus diesem Grund habe ich beschlossen, dass dies zuerst verstanden werden sollte, was in der oben genannten ursprünglichen Regel enthalten ist.

Der Quantopian-Algorithmus hat drei Kernfunktionen. Diese müssen vom Benutzer definiert werden, nicht die integrierten Funktionen.

initialize() Sie benötigen auf jeden Fall eine Funktion mit diesem Namen. Wird zu Beginn des Testens des Algorithmus aufgerufen. Geben Sie ein "Kontext" -Objekt als Argument an.

handle_data() Wenn Sie eine Funktion mit diesem Namen definieren, wird sie jede Minute (jede Minute des Testzeitraums) ausgeführt. Es wird verwendet, um Preisdaten abzurufen und ein Portfolio aufzubauen (Kaufen, Verkaufen). Geben Sie das Objekt "context" und das Objekt "data" als Argumente an. Wenn Sie es täglich oder wöchentlich ausführen möchten, verwenden Sie die in LEKTION 7 eingeführte Funktion sched_function ().

before_trading_start() Wird täglich vor Handelsbeginn aufgerufen. Es wird verwendet, wenn eine Aktie festgelegt wird, die am Tag gehandelt werden soll. Geben Sie das Objekt "context" und das Objekt "data" als Argumente an.

Hello world Machen Sie sich mit der IDE vertraut, bevor Sie mit dem Tutorial beginnen.

Schreiben Sie den folgenden Code, wählen Sie "Speichern" (falls nicht gespeichert) und dann "Algorithmus erstellen".

def initialize(context):
    print('hello world')

image.png

Sie sollten so etwas wie oben im rechten Bereich sehen. Die Funktion "initialize ()" wird immer zu Beginn des Algorithmus aufgerufen, daher wird "print (" Hallo Welt ")" ausgeführt. Die Standardausgabe wird im Fenster Protokolle angezeigt. Wenn Sie den Fortschritt des Algorithmus protokollieren möchten, wird empfohlen, "print" in die Funktion "handle_data ()" zu schreiben.

Standardmäßig wird SPY (SPDR S & P 500 ETF) als Benchmark festgelegt. Der obige Algorithmus nimmt keine Position ein und wird daher als 0% angezeigt.

Als nächstes klonen wir den Algorithmus aus LEKTION 2 im Tutorial.

https://www.quantopian.com/tutorials/getting-started#lesson2

image.png

Durch Auswahl von "Klonen" auf der rechten Seite oben wird die IDE in einer neuen Registerkarte gestartet und der Algorithmus geklont.

Wählen Sie "Algorithmus erstellen", um den Algorithmus zu testen.

image.png

Sie können sehen, dass es im Gegensatz zum oben erwähnten Fall von Hello World jede Minute in Logs ausgegeben wird. Wählen Sie "Mehr", um das Protokollfenster zu vergrößern.

LESSON 1 Introduction Lassen Sie uns den Algorithmus aus LEKTION 1 im Tutorial klonen.

https://www.quantopian.com/tutorials/getting-started#lesson1

image.png

Wählen Sie "Algorithmus erstellen", um den Algorithmus zu testen.

image.png

Der obige Code ist ein Algorithmus zur Sehnsucht nach Apple-Aktien. Das zweite Argument '1.00' von 'order_target_percent ()' bedeutet, dass alle (100%) der Mittel zugewiesen sind. Die Funktion order_target_percent () wird in LEKTION 4 eingeführt.

Wählen Sie rechts "Vollständigen Backtest ausführen", um einen detaillierten Backtest des Algorithmus durchzuführen.

image.png

-> LESSON 3

Recommended Posts

Quantopian Tutorial LEKTION 10
Quantopian Tutorial LEKTION 8
Quantopian Tutorial LEKTION 1, 2
Quantopian Tutorial LEKTION 6
Quantopian Tutorial LEKTION 9
Quantopian Tutorial LEKTION 5
Quantopian Tutorial LEKTION 3
Quantopian Tutorial LEKTION 7
Quantopian Tutorial LEKTION 4
Quantopian Tutorial LEKTION 11
PyODE Tutorial 2
Python-Tutorial
PyODE Tutorial 1
PyODE Tutorial 3
TensorFlow Tutorial Tutorial