[PYTHON] Tutoriel Quantopian LESSON 1, 2

introduction

J'ai décidé d'utiliser Quantopian à Un certain événement, alors je suis allé sur Tutorial. J'ai essayé de résumer les points qui sont susceptibles d'être des points. Puisqu'il s'agit d'une super-traduction qui a été mâchée (bienvenue à Tsukkomi), veuillez vous référer au document officiel si vous souhaitez le confirmer correctement.

Caractéristiques de Quantopian

Qu'est-ce que Quantopian? Si vous vous référez à cet article, les fonctionnalités que je pensais bonnes sont les suivantes. ..

Comment utiliser

Enregistrez-vous en tant qu'utilisateur sur www.quantopian.com et sélectionnez «Recherche - Algorithmes - Nouvel algorithme» pour afficher l'EDI sur votre navigateur.

Vous pouvez créer un algorithme en éditant le code dans le modèle et en sélectionnant Build Algorithm pour exécuter un test simple. Sélectionnez Run Full Backtest pour une vérification plus approfondie.

Règles uniques d'écriture de code

Quantopian a ses propres règles d'espace de nom et de nom de fonction. Si vous ne comprenez pas cela, vous serez soudainement coincé, je vais donc l'expliquer le plus attentivement possible.

objet de contexte

Une instance globale est créée sans rien définir. Les fonctions décrites ci-dessous accèdent aux attributs de cette instance pour obtenir les informations requises. Il semble être une bonne idée d'ajouter des attributs arbitraires à cet objet context sans créer de variable globale (objet). C'est mon imagination, mais si tous les paramètres passés à la fonction sont utilisés comme arguments, il sera inefficace de partager le même paramètre avec plusieurs fonctions, ou la docstring sera énorme et ce sera difficile. Donc je pense que ça a été conçu comme ça.

Voici un exemple de configuration de l'objet context. En écrivant ainsi, un objet Apple est créé.

context.aapl = symbol('AAPL')

objet de données

Comme le contexte, il existe soudainement. L'objet data contient diverses API pour les informations de tarification.

Dans l'exemple ci-dessous, le dernier cours de l'action est obtenu à partir de l'objet Apple créé ci-dessus.

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

LESSON 2 Core Functions Sautez la LEÇON 1 et commencez par la LEÇON 2 Quant à la raison, j'ai décidé que cela devait être compris en premier, ce qui est inclus dans la règle initiale susmentionnée.

L'algorithme de Quantopian a trois fonctions principales. Celles-ci doivent être définies par l'utilisateur et non par les fonctions intégrées.

initialize() Vous aurez certainement besoin d'une fonction portant ce nom. Appelé au début du test de l'algorithme. Spécifiez un objet context comme argument.

handle_data() Si vous définissez une fonction avec ce nom, elle sera exécutée toutes les minutes (toutes les minutes de la période de test). Il est utilisé pour obtenir des données sur les prix et pour mettre en place un portefeuille (achat, vente). Spécifiez l'objet context et l'objet data comme arguments. Si vous voulez l'exécuter quotidiennement ou hebdomadairement, utilisez la fonction schedule_function () introduite dans la LESSON 7.

before_trading_start() Appelé quotidiennement avant le début du trading. Il est utilisé lors de la définition d'une action à négocier le jour même. Spécifiez l'objet context et l'objet data comme arguments.

Hello world Familiarisez-vous avec l'IDE avant de vous lancer dans le tutoriel.

Écrivez le code ci-dessous, sélectionnez «Enregistrer» (s'il n'est pas enregistré), puis sélectionnez «Construire l'algorithme».

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

image.png

Vous devriez voir quelque chose comme ci-dessus dans le volet de droite. ʻLa fonction initialize () est toujours appelée au début de l'algorithme, donc print ('hello world') est exécuté. La sortie standard s'affiche dans la fenêtre Journaux. Si vous voulez garder un journal de la progression de l'algorithme, il est recommandé d'écrire print dans la fonction handle_data ()`.

Par défaut, SPY (SPDR S & P 500 ETF) est défini comme référence. L'algorithme ci-dessus ne prend aucune position, il est donc affiché à 0%.

Ensuite, clonons l'algorithme de LESSON 2 dans le tutoriel.

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

image.png

Sélectionner Clone sur le côté droit ci-dessus lance l'EDI dans un nouvel onglet et clone l'algorithme.

Sélectionnez Build Algorithm pour tester l'algorithme.

image.png

Vous pouvez voir qu'il est sorti dans les journaux toutes les minutes, contrairement au cas de Hello world mentionné ci-dessus. Sélectionnez «Plus» pour agrandir la fenêtre Journaux.

LESSON 1 Introduction Clonons l'algorithme de LESSON 1 dans le tutoriel.

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

image.png

Sélectionnez Build Algorithm pour tester l'algorithme.

image.png

Le code ci-dessus est un algorithme pour aspirer les actions Apple. ʻLe second argument '1.00' de order_target_percent () signifie que tous (100%) des fonds sont alloués. La fonction ʻorder_target_percent () sera introduite dans la LESSON 4.

Sélectionnez Run Full Backtest sur la droite pour effectuer un backtest détaillé de l'algorithme.

image.png

-> LESSON 3

Recommended Posts

Tutoriel Quantopian LESSON 10
Tutoriel Quantopian LEÇON 8
Tutoriel Quantopian LESSON 1, 2
Tutoriel Quantopian LESSON 6
Tutoriel Quantopian LEÇON 9
Tutoriel Quantopian LESSON 5
Tutoriel Quantopian LESSON 3
Tutoriel Quantopian LESSON 7
Tutoriel Quantopian LEÇON 4
Tutoriel Quantopian LEÇON 11
Tutoriel PyODE 2
Tutoriel Python
Tutoriel PyODE 1
Tutoriel PyODE 3
Tutoriel du didacticiel TensorFlow