15
High Frequency Trading Introduction

High Frequency Trading Introduction. Séminaires de 30 minutes, une fois par semaine (8 en tout) Sujets abordés – Définition dun algorithme et introduction

Embed Size (px)

Citation preview

Page 1: High Frequency Trading Introduction. Séminaires de 30 minutes, une fois par semaine (8 en tout) Sujets abordés – Définition dun algorithme et introduction

High Frequency Trading

Introduction

Page 2: High Frequency Trading Introduction. Séminaires de 30 minutes, une fois par semaine (8 en tout) Sujets abordés – Définition dun algorithme et 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

Page 3: High Frequency Trading Introduction. Séminaires de 30 minutes, une fois par semaine (8 en tout) Sujets abordés – Définition dun algorithme et introduction

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

Page 4: High Frequency Trading Introduction. Séminaires de 30 minutes, une fois par semaine (8 en tout) Sujets abordés – Définition dun algorithme et introduction

High Frequency Trading

Définition d’un algorithme et introduction à la programmation

Page 5: High Frequency Trading Introduction. Séminaires de 30 minutes, une fois par semaine (8 en tout) Sujets abordés – Définition dun algorithme et introduction

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

Page 6: High Frequency Trading Introduction. Séminaires de 30 minutes, une fois par semaine (8 en tout) Sujets abordés – Définition dun algorithme et introduction

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.)

Page 7: High Frequency Trading Introduction. Séminaires de 30 minutes, une fois par semaine (8 en tout) Sujets abordés – Définition dun algorithme et introduction

Exemple d’un algorithme

YES NO

YES

NO

NO

YES

YES

NO

NO

Begining

Don't mess with itDid you

mess with it?

Is it working?

Does anyone know?

Will you get screwed?

You're an idiot

Hide it You poor bastard

Can you blame someone else?

No Problem

Put it in the bin

Yes

Page 8: High Frequency Trading Introduction. Séminaires de 30 minutes, une fois par semaine (8 en tout) Sujets abordés – Définition dun algorithme et introduction

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 conditionexé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érationEnd

• 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érationend

Page 9: High Frequency Trading Introduction. Séminaires de 30 minutes, une fois par semaine (8 en tout) Sujets abordés – Définition dun algorithme et introduction

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)

Table de vérité opérateur ETA B A & B0 0 00 1 01 0 01 1 1

Page 10: High Frequency Trading Introduction. Séminaires de 30 minutes, une fois par semaine (8 en tout) Sujets abordés – Définition dun algorithme et introduction

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)

Table de vérité opérateur OUA B A |B0 0 00 1 11 0 11 1 1

Page 11: High Frequency Trading Introduction. Séminaires de 30 minutes, une fois par semaine (8 en tout) Sujets abordés – Définition dun algorithme et introduction

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é?

Table de vérité opérateur NON

A ~A0 11 0

A B ~A ~B A & B A | B ~A & B ~A | B ~A & ~B ~A | ~B ~(A & B) ~(A | B)0 0 1 1 0 0 0 1 1 1 1 10 1 1 0 0 1 1 1 0 1 1 01 0 0 1 0 1 0 0 0 1 1 01 1 0 0 1 1 0 1 0 0 0 0

Résumé tables de vérités

Page 12: High Frequency Trading Introduction. Séminaires de 30 minutes, une fois par semaine (8 en tout) Sujets abordés – Définition dun algorithme et introduction

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 Bfonction Addition (A,B)Somme = A+B;return (Somme) Si j’appelle ma fonction Addition dans mon codeA = 5;B = 6;Y = Addition (A,B)On aura alors Y = 11

Page 13: High Frequency Trading Introduction. Séminaires de 30 minutes, une fois par semaine (8 en tout) Sujets abordés – Définition dun algorithme et introduction

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!!!

Page 14: High Frequency Trading Introduction. Séminaires de 30 minutes, une fois par semaine (8 en tout) Sujets abordés – Définition dun algorithme et introduction

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

Page 15: High Frequency Trading Introduction. Séminaires de 30 minutes, une fois par semaine (8 en tout) Sujets abordés – Définition dun algorithme et introduction

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!!!