150 likes | 282 Views
High Frequency Trading. Introduction. Introduction. Séminaires de 30 minutes, une fois par semaine ( 8 en tout) Sujets abordés Définition d’un algorithme et introduction à la programmation(Séance 1) L’utilisation des algorithmes en finances (Séance 2)
E N D
High FrequencyTrading Introduction
Introduction • Séminaires de 30 minutes, une fois par semaine (8 en tout) • Sujets abordés • Définition d’un algorithme et introduction à la programmation(Séance 1) • L’utilisation des algorithmes en finances (Séance 2) • Évaluation de la performance des algorithmes (Séance 3) • Inefficiences de marché et opportunités de profits (Séance 4) • Stratégies (Séances 5 et 6) • Gestion d’un portefeuille de stratégies HFT (Séance 7) • « Back-Testing » et gestion de risques (Séance 8) • Libre à ceux et celles qui veulent assister
Introduction • Quelques raisons d’assister à ces présentations • Sujet chaud en finance • Apprendre l’utilité et l’application des algorithmes • Voir le différentes applications des algorithmes en finances • Culture personnel • Participer à la compétition boursière RITC
High FrequencyTrading Définition d’un algorithme et introduction à la programmation
Définition d’un algorithme et introduction à la programmation • Plan de présentation • Définition d’un algorithme • Exemple d’un algorithme • Commandes logiques de base • Opérateurs logiques • Utilité des fonctions en programmation
Définition d’un algorithme et introduction à la programmation • Définition d’un algorithme • Processus systématiques de résolution, par le calcul, d'un problème permettant de décrire les étapes vers le résultat • C’est tout simplement une procédure pas-à-pas permettant de donner une réponse à un problème • Un algorithme peut être appliqué à n’importe quel problème où la solution peut être résolue par une suite logique d’évènement (finance, mathématiques, ingénierie etc.)
Commandes logiques de base • Conditionnel (If, Else If, Else) Si la condition est respectée (habituellement : <, >, ≥, ≤, =), exécute l’opération • Exemple: If variable = Condition exécute opération quelconque Elseif variable > une autre condition exécute une opération différente Else (dans tout les autres cas) éxecute une opération par défaut end • Boucle (For) Utile lorsqu’on veut répéter une opération pour un nombre fini de fois • Exemple: For i = 1:100 exécute une opération End • Boucle Conditionnelle (While) • Utilisée lorsqu’on veut répéter une opération indéfiniment tant qu’une condition est respectée • Exemple: While (Condition) exécute une opération end
Opérateurs logiques • Et (&, and) • Afin que la condition soit vraie, A et B doivent être vrai • Exemple: A = 50, B = 75 • A & B < 100 – Vrai (1) • A & B < 60 – Faux (0) • A & B < 50 – Faux (0)
Opérateurs logiques • Ou (|, or) • Afin que la condition soit vraie, soit A ou soit B ou les deux doivent être vrai • Exemple A = 50, B = 75 • A | B > 100 – Vrai (1) • A | B = 75 – Vrai (1) • A | B = 50 – Vrai (1) • A | B < 50 – Faux (0)
Opérateurs logiques • Non (~, not,!) • Opérateur qui inverse la logique • Peut être utilisé avec les opérateurs mathématiques de base (<, >, ≥, ≤, =) • Exemple: A = 75 • A ~= 75 – Faux (0) • Peut être utilisé avec des conditions (variable booléenne: 0 = faux, 1 = vrai) • Qu’est-ce qu’on peut remarquer à propos de la distributivité?
Utilité des fonctions en programmation • Une série d’instruction programmée à laquelle on peut faire appel dans le code Exemple: Addition de deux nombre A et B fonction Addition (A,B) Somme = A+B; return (Somme) Si j’appelle ma fonction Addition dans mon code A = 5; B = 6; Y = Addition (A,B) On aura alors Y = 11
Utilité des fonctions en programmation • Avantages • Simplification et organisation du code • Éviter les erreurs de copier/coller • Portabilité (peut être réutilisée dans d’autre projets ou plusieurs fois dans le code) • Rend le code plus facile à débugger • Etc… • Désavantages • AUCUN!!!
Type de variables • Variables Locales (Private) • Variables utilisée dans une seule fonction i.e. elle n’existe plus lorsque la fonction termine • On peut cependant passé des variables locales d’une fonction à l’autre en les mettant en paramètres • Variables Globales (Public) • Très rarement utilisées, ces variables peuvent être accédées dans n’importe quelle fonction du code • Difficile à débugger car il y a risque d’écrasement de la variable si on prend un variable locale avec le même nom. Il n’est pas recommandé d’utiliser les variables globales, a moins que cela ne soit VRAIMENT nécessaire
Pertinence des commentaires dans un code • Commentez votre code!!! • Commentez votre code!!! • Commentez votre code!!! • Commentez votre code!!! • Commentez votre code!!! • Commentez votre code!!! • Commentez votre code!!! • Commentez votre code!!!