Chapitre 7. Systèmes de trading Expert et Maestro

Table des matières

1. Généralités
1.1. Introduction
1.2. Définition des termes importants
1.3. Mise en œuvre
2. Création des stratégies
2.1. Généralités
2.2. Création
2.3. Création des règles d'ouverture et de fermeture de position
2.4. Définition des conditions d'exécution
2.5. Définition de conditions de stop
2.6. Définition des Modalités
2.7. Importation et exportation de stratégies
3. Programmation des indicateurs
3.1. Généralités
3.2. Bibliothèque des indicateurs disponibles
3.3. Programmation d'un indicateur personnel
3.4. Représentation graphique d'un indicateur personnel
3.5. Fonctions mathématiques
3.6. Importation et exportation d'indicateurs personnels
4. Programmation des signaux
4.1. Généralités
4.2. Bibliothèque des signaux
4.3. Programmation d'un signal personnel
4.4. Application d'un signal à un graphique de cours
4.5. Fonctions mathématiques
4.6. Importation et exportation de signaux personnels
5. Stratégie appliquée à un graphique de cours
5.1. Généralités
5.2. Personnalisation de l'affichage du résultat dans le graphique
5.3. Commande du backtesting
5.4. Equity courbe dans le graphique principal
5.5. Equity courbe et drawdown dans un graphique secondaire
6. Analyse des résultats des stratégies
6.1. Généralités
6.2. Rapport général des essais d'une stratégie
6.3. Rapport détaillé d'un essai de stratégie
6.4. Tableaux généraux pour l'ensemble des essais des stratégies
7. Comparaison des stratégies
7.1. Généralités
7.2. Personnalisation de l'affichage graphique du résultat
7.3. Choix des conditions de la comparaison et lancement de l'essai
7.4. Définition de la variabilité des paramètres des règles
7.5. Présentation graphique de la comparaison

1. Généralités

1.1. Introduction

La finalité d'un système de trading est de définir une stratégie d'achat et de vente basée sur des conditions établies à partir d'indicateurs techniques, et d'en tester la profitabilité sur les historiques des cours pour en dégager les règles de décisions à appliquer dans le futur.

Cette approche repose sur le postulat que dans le futur les cours auront généralement les mêmes comportements que dans le passé. Ceci est en partie vraie, mais avec deux remarques importantes :

  • La profitabilité d'une stratégie peut changer significativement après certaines périodes. Il convient donc de la vérifier régulièrement pour savoir si les conditions d'achat et de vente sont toujours d'actualité ou bien si elles méritent d'être revues.

  • Les valeurs boursières n'ont pas toutes le même comportement. Par conséquent les bonnes stratégies ne sont pas adaptées à toutes les valeurs.

Axial Finance permet de concevoir de façon simple des stratégies même complexes, d'analyser en détail leur profitabilité et les risques de pertes, de les comparer entre elles et d'identifier les valeurs pour lesquelles elles sont le mieux adaptées.

1.2. Définition des termes importants

Ce chapitre utilise à de nombreuses reprises les termes suivants qui doivent s'entendre de la façon suivante :

Barre

Unité de temps d'un graphique. Par exemple, dans un graphique journalier, une barre représente une séance de bourse. Dans un graphique intraday en période 5 minutes la barre représente une unité de temps de 5 minutes.

Indicateur

Une fonction numérique évoluant dans le temps (barre après barre) représentable graphiquement par une courbe. Les indicateurs techniques sont des indicateurs spécialement développés pour l'analyse technique.

Signal

Une condition élémentaire VRAIE ou FAUSSE, déterminée à chaque barre et basée sur l'utilisation d'indicateurs. Exemple de signal : "Le cours de clôture coupe à la hausse une Moyenne Mobile".

Règle

Une combinaison logique de signaux, définissant une condition complexe évaluée VRAIE ou FAUSSE. Un signal peut être assimilé à une règle simple composé d'une seule condition.

Stop

Une condition de fermeture de position prioritaire sur la règle de fermeture éventuellement présente. Par exemple, un stop pour la fermeture de position quand la perte enregistrée depuis l'ouverture de la position est supérieure à un certain seuil.

Modalités

L'ensemble des modalités permettant d'évaluer la profitabilité d'une stratégie. Par exemple, la mise initiale, le nombre maximum de titres par opération, etc.

Stratégie

Une stratégie est caractérisée par ses règles d'ouverture et de fermeture de positions, éventuellement par des conditions stop, et par ses modalités d'évaluation du résultat.

Position longue

Une position est dite "longue" (ou "long") quand elle est ouverte par l'achat de titres et fermée par la revente de ces titres.

Position courte

Une position est dite "short" quand elle est ouverte par la vente à terme de titres et fermée par le rachat de ces titres.

Backtesting

Opération constituant à appliquer une stratégie sur un historique de cours.

Equity courbe

Valeur barre après barre du capital investi à partir d'une mise de départ résultant de l'application d'une stratégie.

Drawdown

La perte éventuelle constatée en fermeture de position. Le drawdown maximum définit la perte maximum constatée au cours des différentes opérations. Le drawdown maximum mesure donc le risque maximum de perte d'une stratégie.

1.3. Mise en œuvre

L'ensemble des opérations pouvant être réalisées dans la mise en œuvre des systèmes de trading sont les suivantes :

  1. Programmation d'indicateurs personnels à l'aide du langage universel de programmation JavaScript pour utilisation dans les signaux

  2. Programmation de signaux à l'aide du langage universel de programmation JavaScript pour utilisation dans les règles

  3. Conception de règles d'achat et de vente pour utilisation dans les stratégies ou en en screening de marché (on parlera alors de règle de screening)

  4. Conception de stratégies de trading et backtesting sur un graphique de cours (journalier ou intraday).

  5. Affichage de l'equity courbe dans une fenêtre graphique de la zone Suivi des marchés avec les signaux d'ouverture et de fermeture de position

  6. Affichage du drawdown dans le graphique

  7. Affichage des equity courbes dans le module Écran Stratégies en alternative à Suivi des marchés. Écran Stratégies permet de calculer et d'afficher simultanément le résultat :

    • d'une même stratégie appliquée à une liste de valeurs

    • d'une liste de stratégies appliquée à une même valeur

    • une même stratégie appliquée à une valeur en y faisant varier pas à pas certains paramètres des règles

  8. Sélection de l'échelle verticale de l'equity courbe en montant monétaire ou bien en pourcentage relatif de gain/perte

  9. Sélection de la présentation de l'equity courbe avec ou sans les variations potentielles pendant l'ouverture des positions

  10. Présentation du résultat détaillé d'une stratégie avec un résumé global, la liste des positions ouvertes, et les valeurs de l'equity courbe

  11. Présentation dans un tableau de synthèse de l'ensemble des résultats des stratégies exécutées

  12. Exportation et importation du logiciel d'indicateurs personnels, de signaux et de stratégies

  13. Exportation dans un fichier Excel des positions ouvertes d'une stratégie et de l'equity courbe

2. Création des stratégies

2.1. Généralités

Une stratégie est définie par :

  • ses règles d'ouverture et de fermeture de positions

  • éventuellement des conditions stop de fermeture de position

  • ses Modalités d'évaluation de profitabilité

Important

Avant de créer une stratégie, il convient de s'assurer que tous les signaux et règles nécessaires à la définition des conditions d'ouverture et de fermeture de positions existent en bibliothèque. Si ce n'est pas le cas, commencer par les définir comme expliqué aux paragraphes ci-après Programmation des indicateurs et Programmation des signaux.

2.2. Création

Pour créer ou modifier une stratégie, au menu général Trading System choisir l'option Stratégies pour ouvrir la fenêtre d'édition :

La fenêtre d'édition comprend trois parties :

  1. En haut, la liste des stratégies en bibliothèque et à sa droite les boutons Nouveau, Copier, Supprimer, Appliquer et Rapport...

  2. Au centre à gauche, une zone avec une boite à onglets, affichant pour la stratégie sélectionnée dans la bibliothèque au-dessus :

    • Le nom

    • À l'onglet Achat : la règle d'ouverture "long" avec les conditions d'exécution de l'ordre

    • À l'onglet Vente Dec : la règle d'ouverture "short" avec les conditions d'exécution de l'ordre

    • À l'onglet Revente : la règle de fermeture "long" avec les conditions d'exécution de l'ordre

    • À l'onglet Rachat : la règle de fermeture "short" avec les conditions d'exécution de l'ordre

    • À l'onglet Général : les modalités de l'ordre (mise initiale, nombre de titres par ordre, etc)

  3. Au centre à droite, la liste des signaux et règles en bibliothèque pour la composition des règles d'ouverture et fermeture de la stratégie.

En cliquant sur le bouton Nouveau, une nouvelle stratégie est ajoutée dans la bibliothèque sous le nom provisoire "(Nouveau)". Entrer le nom de cette stratégie dans ce champ puis définir les règles, conditions d'exécution et modalités comme expliqué ci-dessous.

2.3. Création des règles d'ouverture et de fermeture de position

Une stratégie peut comprendre :

  • Deux règles : ouverture "long" et fermeture "long"

  • Deux règles : ouverture "short" et fermeture "short"

  • Quatre règles : ouverture "long", fermeture "long", ouverture "short" et fermeture "short"

A chaque règle sont associées des conditions d'exécution comme lors de la passation d'ordre chez un courtier.

La procédure de création d'une règle est identique à celle décrite au paragraphe Création et édition de règles.

Ensuite pour chaque règle :

2.3.1. Définition de la condition racine

Chaque règle commence obligatoirement par une première condition appelée condition racine. Par défaut, cette condition est un (ET en logique booléenne).

Pour remplacer la condition racine ET par un OU, cliquer avec le bouton droit de la souris sur l'icône de cette condition racine pour ouvrir le menu contextuel, et choisir l'option Remplacer ET par OU.

Procéder inversement avec Remplacer OU par ET

2.3.2. Insertion d'un signal

Pour ajouter un signal à la condition racine ou à toute autre condition ou de la règle :

  1. Cliquer avec le bouton droit de la souris sur l'icône de la condition puis ouvrir le menu contextuel et choisir l'option Ajouter signal. Une flèche horizontale rouge préfigurant la place du signal s'insère en dessous.

  2. Sélectionner cette flèche rouge en cliquant dessus.

  3. Pour y insérer ensuite un signal de la bibliothèque, deux méthodes sont utilisables :

    1. sélectionner le signal dans la liste et cliquer sur le bouton

    2. ou bien appuyer sur ce signal avec le bouton gauche de la souris, glisser en conservant le bouton gauche appuyé et relâcher le bouton de la souris au-dessus la flèche rouge.

2.3.3. Paramétrage d'un signal

Pour paramétrer un nouveau signal ajouté par la méthode précédente, ou bien pour modifier le paramétrage d'un signal existant :

  1. Double cliquer sur le signal dans la représentation graphique de la règle pour ouvrir la fenêtre de saisie des paramètres.

  2. Définir les différents paramètres puis cliquer sur le bouton OK.

2.3.4. Changement d'un signal

Pour remplacer un signal de la règle par un autre signal de la bibliothèque :

  1. Sélectionner le signal à remplacer en cliquant dessus dans la représentation graphique de la règle.

  2. Ensuite, deux méthodes sont utilisables :

    1. Sélectionner le nouveau signal dans la bibliothèque puis cliquer sur le bouton

    2. ou bien appuyer sur ce signal avec le bouton gauche de la souris, glisser (en conservant le bouton gauche appuyé) et déposer le pointeur de la souris sur la flèche dans la représentation graphique.

2.3.5. Ajout de conditions ET / OU

L'ajout d'une condition ET ou OU s'effectue à partir de la position d'un signal de la représentation graphique situé à l'emplacement logique (au sens de la logique booléenne) de la future condition.

  1. Sélectionner le signal qui se trouve à l'emplacement logique de la condition à ajouter.

  2. Cliquer sur la flèche de ce signal puis ouvrir le menu contextuel en cliquant dessus avec le bouton droit de la souris.

  3. Selon les cas, choisir l'option Remplacer par OU ou bien Remplacer par ET.

Exemple de construction d'une règle complexe :

2.3.6. Remplacement d'une condition ET / OU

Pour remplacer une condition par une autre condition :

  1. Cliquer sur l'image de cette condition puis ouvrir le menu contextuel en cliquant dessus avec le bouton droit de la souris.

  2. Selon les cas, choisir l'option Remplacer par OU ou bien Remplacer par ET.

2.3.7. Suppression d'un signal ou d'une condition

  1. Cliquer sur l'image de cette condition ou du signal puis ouvrir le menu contextuel en cliquant dessus avec le bouton droit de la souris.

  2. Choisir l'option Annuler.

La suppression d'un condition supprime tous les signaux et autres conditions inclus dans cette condition.

2.4. Définition des conditions d'exécution

Pour chaque ordre d'ouverture et de fermeture de position, des conditions précises d'exécution peuvent être fixées :

2.4.1. Le délai d'exécution

L'ordre peut être exécuté à la barre du signal ou bien à une barre suivante. Ainsi dans un graphique en cours quotidiens, pour exécuter un ordre le lendemain on affiche la valeur 1 pour le délais d'exécution, sinon 0 pour une exécution immédiate.

2.4.2. La durée de validité

Quand après un signal un ordre est initialisé, son exécution est fonction de la condition d'exécution dépendant du type d'ordre. Selon les cas, l'exécution peut être immédiate ou différée dans l'attente de la réalisation de la condition. La durée de validité définit le nombre de barres pendant lequel l'ordre initialisé pourra être exécuté, sinon ce délais dépassé l'ordre sera supprimé.

Un délais de validité égal à 1 dans un graphique en cours "fin de journée" signifie que l'ordre ne pourra être exécuté que pendant une seule journée.

2.4.3. Le type d'ordre

Axial Finance permet de choisir entre les quatre types d'ordres suivants généralement disponibles chez les courtiers :

Au marché

l'ordre sera exécuté immédiatement au prix de la barre défini dans la liste déroulante associée : Ouverture, Clôture, etc.

À la meilleure limite (ML)

Pour définir le prix de la meilleur limite, on choisit dans la liste déroulante associée un indicateur technique qui calcule ce prix limite à la barre d'exécution. Par exemple, pour fixer le prix limite à 1 % en dessous du prix d'ouverture de la barre, il suffit de créer un indicateur effectuant ce calcul, indicateur ensuite sélectionné dans la liste déroulante.

A seuil de déclenchement (ASD)

Pour définir le prix du seuil à déclenchement, on choisit dans la liste déroulante associée un indicateur qui calcule ce prix de déclenchement à la barre d'exécution. Par exemple, pour fixer le prix de déclenchement à 2 % au dessus du prix d'ouverture de la barre, il suffit de créer un indicateur effectuant ce calcul, indicateur ensuite sélectionné dans la liste déroulante.

Sous Condition

On peut définir une condition plus complexe d'exécution de l'ordre, par exemple, si le cours passe au dessus de la moyenne mobile à 30 périodes. On crée dans la bibliothèque des règles la règle correspondant à la condition souhaitée, règle ensuite sélectionnée dans la liste déroulante associée de la condition.

2.4.4. Les frais de courtage

Les frais de courtage peuvent être définis de trois façons différentes :

%

en pourcentage du montant de l'ordre.

Fx

par un montant fixe pour l'ordre.

Ctr

par un montant fixe par nombre de titres (ou de contrats).

2.5. Définition de conditions de stop

Indépendamment des conditions de fermeture de position définies dans les règles, Axial Finance permet de décider sans attendre la fermeture de la position "long" ou "short" dans certaines situations précises.

Pour programmer ces situations, cliquer sur le bouton Stops pour ouvrir la fenêtre de dialogue. Sept types de stop peuvent être activés :

Stop si l'Objectif de profit est atteint

Ce stop s'active en cochant la case Activation. Le niveau objectif de profit se fixe en Montant ou en % du prix d'ouverture. Entrer le niveau de profit dans le champ Niveau.

Stop quand le niveau du Stop suiveur est franchi.

Ce stop s'active en cochant la case Activation. Un stop suiveur permet de définir à chaque période le niveau de prix pour fermer la position. Ce niveau est recalculé à chaque période à partir d'une formule définie par l'utilisateur. Cette formule est équivalente à la programmation d'un indicateur personnel. Cliquer sur le bouton Éditer pour ouvrir la fenêtre de dialogue permettant de programmer cette formule et ensuite sélectionner son nom dans la liste déroulante pour l'affecter au stop suiveur.

Stop si la position atteint un niveau de Perte maximum.

Ce stop s'active en cochant la case Activation. On fixe le niveau maximum de pertes pour la position en Montant ou en % du prix d'ouverture. Entrer le niveau de perte dans le champ Niveau.

Stop si le Point mort est atteint.

Ce stop s'active en cochant la case Activation. Il se déclenche quand le cours revient à proximité du prix d'ouverture. On fixe le seuil de déclenchement, en Montant ou en % du prix d'ouverture. Entrer le seuil de déclenchement du point mort dans le champ Niveau.

Stop en cas d'Inactivité.

Ce stop s'active en cochant la case Activation. Il permet d'éviter de garder une position ouverte si le cours n'évolue pas suffisamment pendant une certaine durée. Cocher les cases correspondantes dans le cadre Inactivité et entrer la valeur numérique (en % ou en montant) du seuil Minimum à dépasser ainsi que le nombre de périodes définissant la durée depuis l'ouverture de la position.

Stop après un Nombre de périodes max.

Ce stop s'active en cochant la case Après. Il permet de fermer systématiquement une position après un nombre de périodes fixé si la position est toujours ouverte. Définir dans la liste déroulante Périodes ce nombre maximum de périodes d'ouverture de la position.

Stop en Fin de journée (cas des cours intraday)

Cocher la case dans le cadre correspondant pour activer ce mode de stop appliqué uniquement dans le cas de cours intraday.

2.6. Définition des Modalités

Sélectionner l'onglet Général et préciser les modalités suivantes d'application de la stratégie :

2.6.1. Le capital de départ

Quatre méthodes différentes peuvent êtres utilisées pour définir le nombre de titres en ouverture de position :

Mise initiale capitalisée

A chaque ouverture de position, Axial Finance détermine la quantité maximum de titres pouvant être achetés (ou vendus) en fonction du capital disponible et du cours du moment. En fermeture de position, le capital disponible est mis à jour en fonction du profit ou de la perte réalisée. Le montant à saisir pour cette méthode correspond au capital disponible pour la première ouverture de position.

Il est en outre possible d'imposer :

  • Un nombre de titres maximum par ordre.

  • Un nombre de titres minimum par ordre. Ainsi, aucun ordre ne sera exécuté si le capital disponible n'est pas suffisant.

Mise fixe par ordre

Le capital disponible en ouverture de position est toujours le même. Axial Finance détermine la quantité maximum de titres pouvant être achetés (ou vendus) en fonction de ce capital disponible et du cours du moment.

Nombre de titres ou de contrats fixe par ordre

La quantité de titres ou de contrats achetés (ou vendus) est toujours la même.

Nombre de titres calculés

La quantité de titres est calculée à chaque ouverture à partir d'une formule mathématique programmable. Cette programmation est réalisée au moyen d'un indicateur personnel, la valeur de l'indicateur à la barre d'ouverture de position devant être égal à la quantité de titres.

Dans les seconde et troisième méthodes, pour le calcul du résultat de la stratégie, Axial Finance détermine a posteriori le capital initial qui aurait été nécessaire pour conserver un capital disponible positif ou nul à tout moment.

2.7. Importation et exportation de stratégies

Axial Finance permet d'importer et d'exporter les stratégies entre utilisateurs du logiciel. Ces échanges se font au moyen de fichiers transmis par Internet.

2.7.1. Exportation d'une stratégie

  1. Au menu général Trading System choisir les options Exporter puis Stratégie pour ouvrir La fenêtre de dialogue ci-contre.

  2. Sélectionner la stratégie à exporter dans la liste

  3. Dans le champ Nom du fichier conserver le nom mis par défaut par le logiciel ou bien choisir un autre nom pour le fichier exporté.

  4. Cliquer sur le bouton ... pour ouvrir la fenêtre de sélection du répertoire de destination dans lequel le fichier sera enregistré puis cliquez sur le bouton Choisir.

  5. Cliquer alors sur le bouton Exporter

Le fichier créé a l'extension .strax et apparaît dans le répertoire de destination sous l'appellation complète nomdufichier.strax

Les indicateurs et signaux personnels inclus dans la stratégie seront exportés simultanément dans le même fichier.

2.7.2. Importation d'une stratégie

Le fichier de la stratégie à importer étant enregistré sur le disque dur de l'ordinateur ou dans une clé USB :

  1. Au menu général Trading System choisir les options Importer depuis fichier puis Stratégie pour ouvrir La fenêtre de dialogue ci-contre.

  2. Dans la fenêtre de recherche, sélectionner le répertoire puis le fichier à importer qui doit porter l'extension .strax

  3. Cliquer sur le bouton Importer

Dans la bibliothèque des stratégies, les stratégies importées sont repérées par le symbole

3. Programmation des indicateurs

3.1. Généralités

Un indicateur (ou indicateur technique) définit l'évolution au cours du temps d'une variable caractérisant l'état d'une valeur boursière ou d'un marché. Il existe de nombreux indicateurs mis au point par les analystes, généralement classés selon les catégories suivantes :

  • Indicateurs de tendance

  • Indicateurs de momentum

  • Indicateurs de volatilité

  • Indicateurs de volumes

  • Indicateurs de marchés

  • Indicateurs de support-résistance

Mais chaque utilisateur peut être amené à concevoir d'autres indicateurs, appelés indicateurs personnels, pour utilisation dans les signaux.

Axial Finance est fourni avec une bibliothèque contenant de nombreux indicateurs et permet également de programmer des indicateurs personnels ou d'importer des indicateurs conçus par d'autres utilisateurs du logiciel.

3.2. Bibliothèque des indicateurs disponibles

Chaque indicateur est défini par un code unique utilisé dans la programmation d'autres indicateurs et de signaux.

3.2.1. Indicateurs issus de l'analyse technique :

Code Nom Script
AROdown Aaron Indicator down AROdown(n, Periode)
AROup Aaron Indicator up AROup(n, Periode)
AROosc Aaron Oscillator AROosc(n, Periode)
ADI Accumulation Distribution Index ADI(n)
ADWP Accumulation Distribution Williams ADWP(n)
ASI Accumulation Swing Index ASI(n)
ADX Average Directional Index ADX(n, Periode)
ATR Average True Range ATR(n, Periode)
BBB Bande de Bollinger Basse BBB(n, Periode, StDev, Type)
BBH Bande de Bollinger Haute BBH(n, Periode, StDev, Type)
COG Centre de Gravité COG(n, Periode, Prix)
CMF Chaikin Money Flow CMF(n, Periode)
COS Chaikin Oscillator COS(n, PeriodeCt, PeriodeLt)
CVO Chaikin Volatility CVO(n, Periode)
CMO Chande Momentum Oscillator CMO(n, Periode)
CRL Courbe de régression linéaire CRL(n, Periode, Type)
CRP Close Range Position Index CRP(n, Periode)
CCI Commodity Channel Index CCI(n, Periode)
CSI Commodity Selection Index CSI(n, Periode)
PRX Cours (clôture, ouverture, plus haut, ...) PRX(n, Type)
PRXH Cours Heikin Ashi (clôture, ouverture, plus haut, ...) PRXH(n, Type)
CLO Cours de clôture CLO(n)
OPEN Cours d'ouverture OPEN(n)
HIGH Cours le plus haut HIGH(n)
LOW Cours le plus bas LOW(n)
DPO Detrended Price Oscillator DPO(n, Periode)
DXm Directional Indicator Minus DXm(n, Periode)
DXp Directional Indicator Positive DXp(n, Periode)
DEMA Double EMA DEMA(n, Periode)
EOM Ease Of Movement EOM(n)
FIX Force Index FIX(n, Periode)
KAGI KAGI (voir nota ci-après) KAGI(n, Mode, Seuil)
KBB Bande haute de Keltner KBB(n, Periode, Variation)
KBH Bande basse de Keltner KBH(n, Periode, Variation)
KLO Klinger Oscillator KLO(n, PeriodeCt, PeriodeLt, PeriodeTr)
MACD Moving Average Convergence Divergence MACD(n, PeriodeCt, PeriodeLt)
MACDH MACD - Trigger MACDH(n, PeriodeCt, PeriodeLt, PeriodeTr)
MASI Mass Index MASI(n, Periode, PeriodeEMA)
MINL Minimum Plus Bas MINL(n, Periode)
MAXH Maximum Plus Haut MAXH(n, Periode)
MOM Momentum MOM(n, Periode)
MFI Money Flow Index MFI(n, Periode)
MMAR Moyenne Mobile Arithmétique MMAR(n, Periode, Type)
MMEX Moyenne Mobile Exponentielle MMEX(n, Periode, Type)
MMPD Moyenne Mobile Pondérée MMPD(n, Periode, Type)
MMTR Moyenne Mobile Triangulaire MMTR(n, Periode, Type)
MMVA Moyenne Mobile Volume Ajusté MMVA(n, Periode, Type)
MMVR Moyenne Mobile Variable MMVR(n, Periode, Type)
MMVH MMVH MMVH(n, Periode)
MMT3T Moyenne Mobile T3 Tilson MMT3T(n, Periode, Ratio)
NVI Negative Volume Index NVI(n)
OBV On Balance Volume OBV(n)
OCV Open-Close Volatility Index OCV(n, Periode)
ORP Open-Range Position Index ORP(n, Periode)
OSC Oscillateur de Moyenne Mobile OSC(n, Periode1, Periode2, Type)
ORL Oscillateur de Régression Linéaire ORL(n, Periode, Type)
PCRW %R Williams PCRW(n, Periode)
PRF Performance Index PRF(n, Type)
PVI Positive Volume Index PVI(n)
POSC Price Oscillator POSC(n, PeriodeCt, PeriodeLt)
PROC Price Rate Of Change PROC(n, Periode)
PRL Prix relatifs (ou Force relative) PRL(n, Valeur)
PVT Price and Volume Trend PVT(n)
QSI Q-Stick Indicator QSI(n, Periode)
RWIhigh Random Walk Index High RWIhigh(n, Periode)
RWIlow Random Walk Index Low RWIlow(n, Periode)
RVO Range Volatility Index RVO(n, Periode)
RMI Relative Momentum Index RMI(n, Periode, Ecart)
RSI Relative Strength Index RSI(n, Periode)
RVI Relative Volatility Index RVI(n, Periode)
SAR Parabolique SAR SAR(n, MaxRatio, PcAccel)
SWR Schwager Volatility Ratio SWR(n, Periode)
SPR Spread SPR(n, Valeur, Ratio)
SPTR Super Trend SPTR(n, Periode, Type, Prix, Ratio)
STD Standard Deviation STD(n, Periode)
STOD Stochastics %D STOD(n, Periode, PeriodeK, PeriodeD)
STOK Stochastics %K STOK(n, Periode, PeriodeK)
SWI Swing Index SWI(n)
TREND Tendance Ratio TREND(n, Periode, Type)
TVI Trade Volume Index TVI(n, Mindev)
TEMA Triple EMA TEMA(n, Periode)
TRIX TRIX Indicator TRIX(n, Periode)
TSI True Strength Indicator TSI(n, Periode1, Periode2)
VHF Vertical Horizontal Filter VHF(n, Periode)
VOR Volatility Ratio VOR(n, Periode)
VOL Volume en clôture VOL(n)
VOS Volume Oscillator VOS(n, PeriodeCt, PeriodeLt)
VROC Volume Rate Of Change VROC(n, Periode)
WUO Ultimate Oscillator WUO(n, PeriodeCt, PeriodeMt, PeriodeLt)
LVLR Niveau Resistance LVLR(n, Rang)
LVLS Niveau Support LVLS(n, Rang)

Note

Pour définir les différents états de l'indicateur KAGI, la convention adoptée est la suivante : Il renvoie la valeur numérique +2 en cas de retournement à la hausse, -2 en cas de retournement à la baisse, +3 en cas de passage de la pression à la hausse, -3 en cas de passage de la pression à la baisse, sinon +1 quand la pression est en hausse et -1 quand la pression est en baisse.

3.2.2. Fonctions de date et heure :

YEAR Année YEAR(n)
HOUR Heure HOUR(n)
DAYW Jour de la semaine DAYW(n)
DAYM Jour du mois DAYM(n)
MONTH Mois de l'année MONTH(n)

3.2.3. Indicateurs issus de l'Analyse Fondamentale :

ACNA Actif Net par Action ACNA(n)
BPAA Bénéfice par Action BPAA(n)
CPPR Capitaux Propres CPPR(n)
CHAF Chiffre d'Affaires CHAF(n)
DTNT Dette Nette DTNT(n)
EBIT EBIT EBIT(n)
PER Price Earning Ratio PER(n)
CAPI Ratio de Capitalisation CAPI(n)
RNET Résultat Net RNET(n)

3.2.4. Indicateurs relatifs aux positions des stratégies :

Ces indicateurs s'utilisent uniquement pour la programmation des règles d'ouverture et de fermeture de position d'une stratégie.

DAOP Nombre de barres depuis l'ouverture DAOP(n)
DCP Nombre de barres depuis la fermeture DCP(n)
DDSC Nombre de barres depuis le signal de fermeture DDSC(n)
DDSO Nombre de barres depuis le signal d'ouverture DDSO(n)
POP Prix d'ouverture POP(n)
TISC Cours au signal de fermeture TISC(n, Type)
TISO Cours au signal d'ouverture TISO(n, Type)
HCLOSE Heure de fermeture HCLOSE(n)
HOPEN Heure d'ouverture HOPEN(n, Type)

3.2.5. Bibliothèque

Pour accéder à la bibliothèque des indicateurs, au menu général Trading System choisir l'option Indicateurs. La fenêtre ci-dessous s'ouvre :

Chaque indicateur est défini par son code, son nom, son script ses paramètres variables et un commentaire éventuel.

3.3. Programmation d'un indicateur personnel

Pour programmer un indicateur personnel, ouvrir la fenêtre ci-dessus puis cliquer sur le bouton Nouveau pour ouvrir la fenêtre de saisie ci dessous.

Important

Un manuel expliquant la manière de programmer en JavaScript est disponible sur le site Internet www.axialfinance.com
  1. Saisir le code de l'indicateur. Ce code est unique et sera utilisé pour référencer cet indicateur en programmation. Ce code doit comprendre au moins 4 caractères, des lettres ou des chiffres uniquement. Axial Finance refusera la saisie si ce code est déjà utilisé par ailleurs ou si la saisie n'est pas conforme. Ce code ne pourra pas être modifié par la suite. En cas de besoin, il conviendra d'abord d'annuler l'indicateur puis de le reprogrammer avec un autre code.

  2. Saisir le nom de l'indicateur.

  3. Entrer dans la zone Saisie du script le programme en langage JavaScript. Pour inclure dans le script l'appel à un indicateur ou à une fonction mathématique de la bibliothèque, il suffit de double-cliquer sur le nom de cet élément dans la bibliothèque après avoir placé le curseur dans le script à l'endroit précis où cet élément doit être écrit.

  4. Le script comprend deux types de variables : les variables internes qu'il ne sera possible de changer qu'en modifiant le script et les variables externes que l'utilisateur aura la possibilité de faire varier ultérieurement (par exemple la période de l'indicateur) sans modifier la programmation.

    • Les variables internes sont définies dans le corps du programme JavaScript par la référence var : exemple "var sum = 0"

    • Les variables externes sont désignées par leur nom dans le script et définies en type et avec une valeur par défaut dans la zone Paramètres variables de l'indicateur située en dessous de la bibliothèque.

      Un indicateur peut comprendre au maximum de 5 variables externes dont le paramètre imposé n qui définit la barre du calcul à effectuer. Généralement ce paramètre n reste à zéro signifiant que l'indicateur doit être évalué à la barre courante. Cependant dans certains cas, on peut vouloir décaler la barre du calcul. Par convention, n+1 correspondra à un retard d'une barre, n+2 à un retard de deux barres, etc. Par conséquent, si dans un script l'heure doit être reculée de une barre pour une fonction, il convient de mettre dans cette fonction n+1 au lieu de n comme valeur de paramètre.

      La référence au temps est fonction de la périodicité des cours utilisés pour calculer l'indicateur. Ainsi avec des cours journaliers, n+1 correspond à un jour de retard. Si ce même indicateur est utilisé avec des cours intradays fréquence 5 minutes, n+1 correspondra à un retard de 5 minutes, etc.

      Les noms des variables externes (autres que n) sont définis par l'utilisateur. Chaque nom doit être unique. Toutes les variables externes du script doivent être définies dans la zone Paramètres variables de l'indicateur en utilisant le même nom que dans le script (il est impératif de respecter les caractères majuscules et minuscules). Une valeur par défaut est mise automatiquement mais la valeur effective de la variable sera celle définie par l'utilisateur en utilisant cet indicateur dans un signal une règle ou une stratégie.

      Différents type de variables :

      Entier

      Nombre entier

      Réel

      Nombre réel

      Prix

      Nature du prix : ouverture, plus haut, ...

      Moy. Mob

      Nature de le moyenne mobile : arithmétique, exponentielle, ...

      Valeur

      Le code d'une valeur

      Mode

      Une devise ou un %

      Texte

      Des caractères alphanumériques

      Par convention, parmi les 4 variables externes disponibles, un indicateur peut comprendre au maximum les types suivants :

      • Un Réel

      • En plus de la variable n, trois Entier s'il n'y a pas de variable définie comme Réel, sinon deux Entier.

      • Une variable de type Texte ou Moy. Mob ou Prix ou Valeur ou Mode

      Axial Finance refusera les variables si cette convention n'est pas respectée. Pour ajouter ou supprimer une variable externe, cocher ou décocher la case de la ligne de saisie.

  5. Par convention, la dernière ligne du script doit retourner le résultat du calcul de l'indicateur. Ce résultat doit être la valeur numérique calculée.

  6. Pour vérifier si le script est correct au sens du langage JavaScript, cliquer sur le bouton Vérifier. En cas d'erreur de programmation, un message indique la ligne erronée.

  7. Cliquer sur le bouton Enregistrer pour enregistrer cet indicateur dans la bibliothèque. Il y apparaîtra avec le symbole

  8. Pour modifier un indicateur personnel, le sélectionner dans la fenêtre d'Edition des indicateurs et cliquer sur le bouton Modifier. Seul le code de l'indicateur ne pourra pas être modifié.

  9. Pour supprimer un indicateur personnel, le sélectionner dans la fenêtre d'Edition des indicateurs et cliquer sur le bouton Supprimer. La suppression sera refusée si cet indicateur personnel personnel est présent dans un signal ou une stratégie.

3.4. Représentation graphique d'un indicateur personnel

Lors de la programmation d'un indicateur personnel, on doit préciser la manière de l'afficher dans un graphique. Dans la fenêtre de programmation, en dessous du cadre Paramètres variables de l'indicateur, on peut définir :

  • Tracé dans le graphique principal des cours ou dans un graphique secondaire d'une fenêtre graphique. Cocher le cas correspondant : Principal ou Secondaire.

  • La couleur de la courbe représentant l'indicateur. Cliquer sur le bouton de couleur pour ouvrir la palette de choix.

  • L'échelle verticale en unité ou en pourcentage. Cocher la case % pour le second choix.

  • Tracé sous la forme d'une courbe continue ou sous la forme d'un histogramme. Cocher le cas correspondant : Courbe ou Histogramme.

3.5. Fonctions mathématiques

Une bibliothèque de fonctions mathématiques est disponible pour la programmation des indicateurs. Elle comprend les fonctions mathématiques classiques (exemple : ACOSINE(n), LOG(n), MAX(f,g), etc) et les fonctions suivantes spécifiques de l'analyse technique :

MOVA(FCT,n,p,q,r,t)

Moyenne Mobile Aritmétique

MOVE(FCT,n,p,q,r,t)

Moyenne Mobile Exponentielle

MOVP(FCT,n,p,q,r,t)

Moyenne Mobile Pondérée

SLOPE(FCT,n,p,q,r,t)

Pente de la Droite de régression linéaire

Pour ces fonctions spécifiques, la signification des paramètres est la suivante :

FCT

Code de l'indicateur pour le calcul de la moyenne mobile ou de la pente de la droite de régression linéaire

n

Paramètre temps

p

Période de calcul de la moyenne mobile ou de la pente de la droite de régression linéaire

q,r,t

3 paramètres disponibles au cas ou l'indicateur défini par le code FCT le nécessiterait. Les paramètres non utilisés restent présents dans la formule mais n'ont pas besoin d'être définis

3.6. Importation et exportation d'indicateurs personnels

Axial Finance permet d'importer et d'exporter les indicateurs personnels entre utilisateurs du logiciel. Ces échanges se font au moyen de fichiers transmis par Internet.

3.6.1. Exportation d'un indicateur

  1. Au menu général Trading System choisir les options Exporter puis Indicateur pour ouvrir la fenêtre de dialogue ci-contre.

  2. Sélectionner l'indicateur à exporter dans la liste.

  3. Dans le champ Nom du fichier conserver le nom mis par défaut par le logiciel ou bien choisir un autre nom pour le fichier exporté.

  4. Cliquer sur le bouton ... pour ouvrir la fenêtre de sélection du répertoire de destination dans lequel le fichier sera enregistré puis cliquez sur le bouton Choisir.

  5. Cliquer alors sur le bouton Exporter

Le fichier créé a l'extension .indax et apparaît dans le répertoire de destination sous l'appellation complète nomdufichier.indax.

3.6.2. Importation d'un indicateur

Le fichier de l'indicateur à importer étant enregistré sur le disque dur de l'ordinateur ou dans une clé USB :

  1. Au menu général Trading System choisir les options Importer depuis fichier puis Indicateur pour ouvrir la fenêtre de dialogue ci-contre.

  2. Dans la fenêtre de recherche, sélectionner le répertoire puis le fichier à importer qui doit porter l'extension .indax.

  3. Cliquer sur le bouton Importer

Dans la bibliothèque des indicateurs, les indicateurs importés sont repérés par le symbole

4. Programmation des signaux

4.1. Généralités

Un signal définit à chaque barre l'état VRAI ou FAUX d'une condition.

Le signal est à la base des règles d'ouverture et de fermeture de positions, chaque règle correspondant à une combinaison logique de signaux. Le signal peut donc se définir comme la condition élémentaire servant à composer une règle.

Axial Finance est fourni avec une bibliothèque de signaux appelés signaux natifs correspondant aux signaux les plus fréquemment utilisés. On peut programmer et ajouter dans la bibliothèque d'autres signaux appelés signaux personnels ou importer des signaux programmés par d'autres utilisateurs du logiciel.

4.2. Bibliothèque des signaux

Pour accéder à la bibliothèque des signaux, au menu général Trading System choisir l'option Signaux pour ouvrir la fenêtre ci-dessous.

Chaque signal est défini par son nom, son script, ses paramètres variables et éventuellement un commentaire. Les signaux natifs sont repérés par l'icône .

4.3. Programmation d'un signal personnel

Pour programmer un signal personnel, ouvrir la fenêtre précédente puis cliquer sur le bouton Nouveau pour ouvrir la fenêtre de saisie ci dessous :

Important

Un manuel expliquant la manière de programmer en JavaScript est disponible sur le site Internet www.axialfinance.com
  1. Saisir le nom du signal. Ce nom pourra être modifié ultérieurement si besoin.

  2. Entrer dans la zone Saisie du script le programme en langage JavaScript définissant le signal. Pour inclure dans le script un indicateur ou une fonction mathématique de la bibliothèque, il suffit de double-cliquer sur le nom de cet élément dans la bibliothèque après avoir placé le curseur dans le script à l'endroit précis où cet élément doit être écrit.

  3. Le script comprend deux types de variables : les variables internes qu'il ne sera possible de changer qu'en modifiant le script et les variables externes que l'utilisateur aura la possibilité de faire varier ultérieurement (par exemple la période de l'indicateur) sans modifier la programmation.

    • Les variables internes sont définies dans le corps du programme JavaScript par la référence var : exemple "var sum = 0"

    • Les variables externes sont désignées par leur nom dans le script et définies en type et avec une valeur par défaut dans la zone Paramètres variables du signal située en dessous de la bibliothèque.

      Un signal peut comprendre un nombre quelconque de variables externes. Toutes les variables externes du script doivent être définies dans la zone Paramètres variables du signal en utilisant le même nom (il est impératif de respecter les caractères majuscules et minuscules). Une valeur par défaut est mise automatiquement mais la valeur effective de la variable sera celle définie par l'utilisateur en utilisant ce signal dans une règle ou une stratégie.

      • Pour ajouter une variable externe dans la liste, cliquer sur le bouton Ajouter

      • Pour supprimer une variable externe de la liste, la sélectionner puis cliquer sur le bouton Supprimer.

      • Pour modifier une variable externe, la sélectionner puis cliquer sur le bouton Modifier.

      Différents type de variables :

      Entier

      Nombre entier

      Réel

      Nombre réel

      Prix

      Nature du prix : ouverture, plus haut, ...

      Moy. Mob

      Nature de le moyenne mobile : arithmétique, exponentielle, ...

      Valeur

      Le code d'une valeur

      Mode

      Une devise ou un %

      Texte

      Des caractères alphanumériques

  4. Par convention, la dernière ligne du script doit retourner le résultat de l'évaluation du signal. Ce résultat doit être une valeur booléenne VRAI ou FAUX.

  5. Pour vérifier si le script est correct au sens du langage JavaScript, cliquer sur le bouton Vérifier. En cas d'erreur de programmation, un message indique la ligne erronée.

  6. Cliquer sur le bouton Enregistrer pour enregistrer ce signal personnel dans la bibliothèque. Il y apparaîtra avec le symbole

  7. Pour modifier un signal personnel, le sélectionner dans la fenêtre d'Edition des signaux et cliquer sur le bouton Modifier.

  8. Pour supprimer un signal personnel, le sélectionner dans la fenêtre d'Edition des signaux et cliquer sur le bouton Supprimer. La suppression sera refusée si ce signal est présent dans une règle ou une stratégie.

4.4. Application d'un signal à un graphique de cours

Avant d'utiliser un signal personnel dans une règle ou une stratégie, il est utile de vérifier directement dans un graphique de cours si le résultat est conforme à l'attente.

  1. Sélectionner le signal dans la fenêtre d'Edition des signaux et cliquer sur le bouton Tester. Le test s'effectue alors dans la fenêtre graphique sélectionnée dans la zone Suivi des marchés.

  2. Définir les paramètres externes du signal dans la fenêtre de dialogue s'ouvrant avant le début du test. À l'ouverture de cette fenêtre, les paramètres par défaut sont proposés.

  3. Cliquer sur le bouton Fermer.

Dans le graphique des cours, les signaux détectés sont représentés par une flèche verticale bleue.

4.5. Fonctions mathématiques

Une bibliothèque de fonctions mathématiques est disponible pour la programmation des indicateurs. Elle comprend les fonctions mathématiques classiques (exemple : ACOSINE(n), LOG(n), MAX(f,g), etc) et les fonctions suivantes spécifiques de l'analyse technique :

MOVA(FCT,n,p,q,r,t)

Moyenne Mobile Aritmétique

MOVE(FCT,n,p,q,r,t)

Moyenne Mobile Exponentielle

MOVP(FCT,n,p,q,r,t)

Moyenne Mobile Pondérée

SLOPE(FCT,n,p,q,r,t)

Pente de la Droite de régression linéaire

Pour ces fonctions spécifiques, la signification des paramètres est la suivante :

FCT

Code de l'indicateur pour le calcul de la moyenne mobile ou de la pente de la droite de régression linéaire

n

Paramètre temps

p

Période de calcul de la moyenne mobile ou de la pente de la droite de régression linéaire

q,r,t

3 paramètres disponibles au cas ou l'indicateur défini par le code FCT le nécessiterait. Les paramètres non utilisés restent présents dans la formule mais n'ont pas besoin d'être définis

4.6. Importation et exportation de signaux personnels

Axial Finance permet d'importer et d'exporter les signaux personnels entre utilisateurs du logiciel. Ces échanges se font au moyen de fichiers transmis par Internet.

4.6.1. Exportation d'un signal

  1. Au menu général Trading System choisir les options Exporter puis Signal pour ouvrir la fenêtre de dialogue ci-contre.

  2. Sélectionner le signal à exporter dans la liste.

  3. Dans le champ Nom du fichier conserver le nom mis par défaut par le logiciel ou bien choisir un autre nom pour le fichier exporté.

  4. Cliquer sur le bouton ... pour ouvrir la fenêtre de sélection du répertoire de destination dans lequel le fichier sera enregistré puis cliquez sur le bouton Choisir.

  5. Cliquer alors sur le bouton Exporter

Le fichier créé a l'extension .sigax et apparaît dans le répertoire du disque dur sous l'appellation complète nomdufichier.sigax.

4.6.2. Importation d'un signal

Le fichier du signal à importer étant enregistré sur le disque dur de l'ordinateur ou dans une clé USB :

  1. Au menu général Trading System choisir les options Importer depuis fichier puis Signal pour ouvrir la fenêtre de dialogue ci-contre.

  2. Dans la fenêtre de recherche, sélectionner le répertoire puis le fichier à importer qui doit porter l'extension .sigax.

  3. Cliquer sur le bouton Importer

Dans la bibliothèque des signaux, les signaux importés sont repérés par le symbole

5. Stratégie appliquée à un graphique de cours

5.1. Généralités

Une stratégie peut être appliquée directement à un graphique de cours sur une durée déterminée. Cette opération est généralement appelée backtesting.

Axial Finance offre la possibilité de tracer l'equity courbe dans le graphique principal des cours de la fenêtre graphique sélectionnée dans la zone Suivi des marchés, ou bien de tracer cette equity courbe dans un graphique secondaire. Les informations relatives à l'ouverture et la fermeture des positions ainsi que le drawdown maximum peuvent aussi être affichés dans le graphique.

La stratégie peut être appliquée sur la totalité du graphique présent ou bien entre deux dates de début et de fin à préciser.

5.2. Personnalisation de l'affichage du résultat dans le graphique

Pour personnaliser l'affichage du résultat du backtest dans un graphique, au menu général Préférences choisir l'option Graphiques stratégies pour ouvrir la fenêtre de dialogue ci-dessous. Sélectionner l'onglet Suivi des marchés :

  • La personnalisation concerne d'une part l'equity courbe tracée dans le graphique principal et d'autre part celle tracée dans un graphique secondaire.

  • Pour conserver en mémoire le résultat des stratégies, cocher la case Conserver le résultat du backtest, sinon ces résultats seront perdus à la fermeture de l'application.

  • Pour commander le tracé de l'equity courbe dans le graphique principal, cocher la case Afficher l'Equity courbe.

  • Échelle verticale pour l'Equity courbe :

    1. Dans le cas du graphique principal, l'échelle verticale de l'equity courbe est toujours en unités monétaires.

    2. Dans le cas du graphique secondaire, on peut choisir entre une échelle en unités monétaires (cocher Montant) ou bien en pourcentage des gains cumulés (cocher % Cum)

    La signification de pourcentage de gains cumulés est la suivante : A chaque fermeture de position, le gain (ou la perte) est calculé en pourcentage du prix d'ouverture de cette position. Ces gains (ou pertes) sont ensuite cumulés. Cette méthode d'évaluation du résultat permet de ne pas tenir compte du gonflement artificiel du résultat quand sur la durée du backtest la variation du cours est importante.

  • On peut choisir de tracer ou pas pendant l'ouverture des positions la valeur potentielle de l'equity courbe à chaque barre. Ce sont les deux modes : equity en "Close to Close" ou equity en "Close Position".

  • Pour demander le tracé de flèches verticales désignant l'ouverture et la fermeture des positions, cocher Flèches signaux

  • Pour avoir à coté des flèches précédentes la nature de la position ("long" ou "short") et la quantité de titres, cocher Etiquettes signaux.

  • Quand une position est ouverte, les nouveaux signaux d'ouverture restent sans effet. De même quand une position est fermée avec de nouveaux signaux de fermeture. Ces signaux non exécutés peuvent être indiqués sur le graphique sous forme de flèches en pointillé. Cocher la case Signaux non exécutés.

  • Le drawdown maximum peut être inscrit sur le graphique. Cocher la case Max DrawDown.

  • Une légende rappelant la stratégie exécutée peut également être inscrite. Cocher la case Légende.

5.3. Commande du backtesting

Pour effectuer un backtesting, ouvrir la fenêtre d'édition des stratégies en choisissant au menu général Trading System l'option Éditer Stratégies.

Sélectionner la stratégie dans la bibliothèque et cliquer sur le bouton Appliquer.

La fenêtre ci-contre s'ouvre pour préciser la période sur laquelle la stratégie doit être appliquée : tout l'historique du graphique (cocher Dates Graphiques) ou bien de date à date (cocher Dates spécifiques et définir les dates de début et fin).

Cliquer ensuite sur Calculer pour exécuter la stratégie.

5.4. Equity courbe dans le graphique principal

Exemple de tracé obtenu :

Symbologie des différentes informations inscrites dans le graphique :

Indique la présence d'un signal d'ouverture de position avec l'indication O.L si en "long" ou O.S si en "short" (nota : cette flèche n'est visible que si l'ouverture de la position est décalée par rapport au signal).

Indique que la condition d'ouverture de la position n'a pas pu être exécutée et que le signal d'ouverture est donc annulé car le délais de validité a expiré.

Indique l'ouverture effective d'une position en "long" quand la condition d'ouverture est réalisée.

Nombre de titres achetés à l'ouverture en "long".

Indique la fermeture effective d'une position en "long" quand la condition de fermeture est réalisée.

Nombre de titres vendus à la clôture en "long".

Indique l'ouverture effective d'une position en "short" quand la condition définie est réalisée.

Nombre de titres vendus à l'ouverture en "short".

Indique la fermeture effective d'une position en "short" quand la condition de fermeture est réalisée.

Nombre de titres achetés à la fermeture en "short".

Fermeture d'une position sur un stop.

Type de stop : O sur objectif de profit, L sur perte maximum, T sur perte de profit, I sur inactivité, E sur fermeture en fin de journée, M sur nombre périodes maximum, B sur point mort.

Représentation de l'évolution d'un stop suiveur : La ligne orange indique le niveau du stop suiveur à chaque barre. Dans cet exemple on peut voir que :

  1. Une position est ouverte en "short" à la barre suivant la détection du signal

  2. Un premier niveau de stop suiveur est déterminé selon la formule définie

  3. Le niveau du stop suiveur est ensuite modifié à deux reprises

  4. La fermeture de la position intervient dès que le cours franchit à la hausse niveau du stop suiveur

Représentation de l'évolution du capital investi (equity courbe) et du drawdown maximum :

  • La courbe verte indique l'évolution du capital investi avec à son extrémité droite le profit net total.

  • Un arc de cercle pointillé joint les points extrêmes du drawdown, avec la valeur du drawdown maximum (DDM).

5.5. Equity courbe et drawdown dans un graphique secondaire

Pour afficher ces courbes dans un graphique secondaire, il faut ajouter les indicateurs de nom Equity courbe et Drawdown max de la liste des indicateurs en bibliothèque.

Préciser également les informations à afficher dans ces graphiques comme indiqué au paragraphe Personnalisation de l'affichage du résultat dans le graphique ci-dessus. En particulier, deux paramétrages sont importants pour l'analyse :

  1. Les échelles verticales de ces graphiques peuvent-être fixées en unités monétaires ou en pourcentages cumulés des profits. Cocher selon le cas Montant ou % Cum.

  2. La courbe du drawdown peut être affichée en Close Position to Close Position ou en Peak to Valley. Cocher selon le cas Close to Close ou Close Position.

    • Dans le premier cas, pendant l'ouverture de la position, le drawdown reste à sa valeur du moment de l'ouverture. À la fermeture de la position sa valeur est alors mise à jour.

    • Dans le second cas, le drawdown potentiel est calculé avec les cours le plus bas de chaque barre et affichée pendant l'ouverture de la position. Un drawdown maximum en Peak to Valley permet de connaître le risque réel de pertes maximum tant que la position n'est pas fermée.

6. Analyse des résultats des stratégies

6.1. Généralités

Axial Finance présente sous trois formes différentes les résultats chiffrés des stratégies :

  1. Un rapport Général de tous les essais relatifs à une même stratégie et pour une valeur donnée.

  2. Un rapport détaillé pour chaque essai.

  3. Un tableau global de tous les essais réalisés ou conservés en mémoire avec toutes les stratégies et pour toutes les valeurs.

6.2. Rapport général des essais d'une stratégie

Une fois l'opération de backtesting réalisée, cliquer sur le bouton Rapport de la fenêtre d'édition des stratégies. Une nouvelle fenêtre s'ouvre donnant la liste de tous les essais réalisés avec cette stratégie :

Ce tableau de reporting général résume les principaux résultats de chaque essai pour une même valeur :

Ref

Le numéro de référence de l'essai

Cap. inv.

Le rappel du capital initial investi ou nécessaire pour appliquer la stratégie

Profit net

Le profit net réalisé

% Pro. net

Le pourcentage de profit net réalisé par rapport au capital initial investi

% Pro. Cum

Le pourcentage de gains (ou pertes) cumulés

max DD

Le drawdown maximum (en unités monétaires)

% Succès

Le pourcentage de succès (rapport des positions gagnantes sur le nombre total de positions)

Nb Op

Le nombre total de positions

Op +

Le nombre de positions gagnantes

Op -

Le nombre de positions perdantes

Moy G/P

Le rapport des gains nets sur les pertes nettes

6.3. Rapport détaillé d'un essai de stratégie

Pour accéder au rapport détaillé de l'essai, le sélectionner dans la liste du reporting général ci-dessus et cliquer sur le bouton Détailler, ou bien double-cliquer directement sur l'essai de la liste.

Une autre fenêtre s'ouvre permettant de consulter les quatre rapports ci-après :

6.3.1. Résultats

Ce premier tableau présente les différents ratios calculés. Il précise également les dates de début et fin de l'essai, la nature des cours et leur périodicité, ainsi que l'état de la dernière position dans le cas ou celle-ci est encore ouverte.

6.3.2. Positions

Ce second tableau donne la liste de toutes les positions qui ont été ouvertes, avec pour chaque position :

  • Sa nature, "long" ou "short"

  • Le type d'ordre passé pour ouvrir et fermer la position

  • Les dates d'ouverture et de fermeture

  • Le profit ou la perte réalisée

  • La quantité de titres

  • Le prix de l'ordre en ouverture et en fermeture

6.3.3. Equities

Ce troisième tableau donne la liste de l'equity à chaque barre en précisant :

  • La date

  • La valeur de l'equity

  • Le pourcentage cumulé des profits (ou pertes)

  • Le cours de clôture

  • La référence du numéro de la position ouverte

  • L'état de la position

  • Le type de la position ouverte

  • Le nombre de titres

6.3.4. Paramètres

Ce quatrième tableau rappelle la stratégie appliquée avec les paramètres et les conditions de l'essai.

6.4. Tableaux généraux pour l'ensemble des essais des stratégies

Tous les essais réalisés au cours de la session ou conservés en mémoire de toutes les stratégies et pour toutes les valeurs sont consultables dans deux tableaux présents dans Écran Stratégies : Le tableau intitulé Rapport globale et celui intitulé Rapport d'optimisation.

Pour accéder à ces tableaux, sélectionner Écran Stratégies en haut de l'écran puis l'onglet Rapport global ou Rapport d'optimisation.

6.4.1. Rapport global

Ce tableau affiche les principaux résultats de chaque essai.

Il permet d'effectuer les opérations suivantes :

  1. Accéder au rapport détaillé de l'essai en double-cliquant sur la ligne correspondante.

  2. Classer les lignes du tableau selon les ratios de résultat : Double-cliquer sur l'entête de la colonne du ratio.

  3. Réduire le tableau aux seuls essais d'une même valeur : Sélectionner une ligne avec cette valeur puis cocher la case Sélection valeur en haut du tableau.

  4. Réduire le tableau aux seuls essais d'une même stratégie : Sélectionner une ligne avec cette stratégie puis cocher la case Sélection stratégie en haut du tableau.

  5. Effacer les résultats : sélectionner la ou les lignes de résultats à effacer puis appuyer sur la touche Suppr du clavier, ou bien ouvrir le menu contextuel en appuyant sur le bouton droit de la souris et choisir l'option Effacer.

6.4.2. Rapport d'optimisation

Ce tableau est plus particulièrement dédié à la comparaison des résultats d'une stratégie appliquée à une valeur, stratégie dont les paramètres varient selon un profil de variation défini par l'utilisateur (voir au paragraphe ci-après Définition de la variabilité des paramètres).

Ce tableau indique pour tous les essais :

  • dans la colonne param, le jeu de paramètres appliqués

  • et pour toutes les positions ouvertes, en particulier dans les cas Long et Short :

    1. Le nombre total de positions ouvertes dans la colonne Nbr

    2. Le nombre de positions gagnantes dans la colonne Succès

    3. Le % de positions gagnantes dans la colonne % Succès

    4. Le ration de profit dans la colonne R profit

    5. Le ratio moyenne des positions gagnantes sur moyenne des positions perdantes dans la colonne MO.G/Mo.P

Pour obtenir le jeu de paramètres donnant le meilleur résultat, cliquer sur l'entête de la colonne R profit pour classer les essais par résultat de profit décroissant.

7. Comparaison des stratégies

7.1. Généralités

Dans le module Écran Stratégies, Axial Finance applique simultanément la ou les stratégies à une ou un ensemble de valeurs de façon à obtenir sur un même graphique le tracé des equity courbes et du drawdown maximum.

Trois modes sont disponibles :

  1. Le mode dit Valeurs comparées : une même stratégie est appliquée à une liste de valeurs,

  2. Le mode dit Stratégies comparées : plusieurs stratégies sont appliquées à une même valeur

  3. Le mode dit Paramètres variables : une même stratégie est appliquée à une valeur, en faisant varier pas à pas les paramètres des indicateurs contenus dans les règles de cette stratégie.

Les résultats détaillés sont disponibles dans le tableau global des essais.

7.2. Personnalisation de l'affichage graphique du résultat

Pour personnaliser l'affichage du résultat dans Écran Stratégies, au menu général Préférences choisir l'option Graphiques stratégies pour ouvrir la fenêtre de dialogue ci-dessous. Sélectionner l'onglet Écran Stratégies :

  • Pour conserver en mémoire le résultat des stratégies, cocher la case Conserver le résultat du backtest, sinon ces résultats seront perdus à la fermeture de l'application.

  • Afin de comparer les résultats entre les valeurs, l'échelle verticale est fixée par principe en pourcentage des gains cumulés. La signification de pourcentage de gains cumulés est la suivante : A chaque fermeture de position, le gain (ou la perte) est calculé en pourcentage du prix d'ouverture de cette position. Ces gains (ou pertes) sont ensuite cumulés.

  • On peut choisir de tracer ou pas pendant l'ouverture des positions la valeur potentielle de l'equity courbe à chaque barre. Ce sont les deux modes : Equity en "Close to Close" ou en "Close Position".

  • L'échelle horizontale peut être proportionnelle au temps (cocher Echelle Temps) ou bien proportionnelle au nombre de positions (cocher Echelle Position).

  • Pour demander le tracé de flèches verticales désignant l'ouverture et la fermeture des positions, cocher Flèches signaux

  • Pour afficher à coté des flèches précédentes la nature de la position ("long" ou "short") et les quantités de titres, cocher Etiquettes signaux.

  • Quand une position est ouverte, de nouveaux signaux d'ouverture restent sans effet. De même quand une position est fermée avec de nouveaux signaux de fermeture. Ces signaux non exécutés peuvent être tracés sur le graphique sous forme de flèches en pointillé. Cocher la case Signaux non exécutés.

  • Le drawdown maximum peut être inscrit sur le graphique. Cocher la case Max DrawDown.

  • Une légende rappelant la stratégie exécutée peut également être inscrite. Cocher la case Légende.

  • Pour afficher la moyenne des equity courbes présentes dans le graphique, cocher la case Moyenne.

7.3. Choix des conditions de la comparaison et lancement de l'essai

Cliquer sur le bouton Choisir en haut à gauche de Écran Stratégies pour ouvrir la fenêtre de dialogue ci dessous :

  • Fixer les dates de début et de fin.

  • Préciser la nature des cours à utiliser : "fin de journée" en Journalier, Hebdomadaitre ou Mensuel ou bien Intraday avec la périodicité désirée.

  • Choisir l'un des trois modes de calcul dans la liste déroulante Mode de Calcul, et ensuite selon le mode :

    • Avec le mode Valeurs comparées, choisir la stratégie à appliquer dans la liste déroulante Stratégie ainsi que l'une des listes personnelles de valeurs dans la troisième liste déroulante.

    • Avec le mode Stratégies comparées choisir la valeur à utiliser dans la liste déroulante Valeur ainsi que les stratégies en cochant celles demandées dans le cadre Liste des stratégies.

    • Avec le mode Paramètres variables choisir la valeur à utiliser dans la liste déroulante Valeur ainsi que la stratégie à appliquer dans la liste déroulante du cadre Paramétrage des règles de la stratégie. Ensuite pour définir la variabilité des paramètres, voir au chapitre suivant.

Ensuite, pour lancer le calcul, cliquer sur le bouton Calculer de cette fenêtre ou bien sur celui situé en haut à droite de Écran Stratégies.

7.4. Définition de la variabilité des paramètres des règles

Pour définir les paramètres variables dans une règle de stratégie :

  1. Ouvrir la fenêtre d'édition des stratégies en choisissant au menu général Trading System puis l'option Éditer Stratégies.

  2. Sélectionner la stratégie dans la bibliothèque puis la règle dans laquelle se trouvent les signaux à paramétrer.

  3. Double cliquer sur le signal de la règle pour ouvrir la fenêtre de saisie des paramètres.

Exemple de fenêtre de saisie des paramètres d'un signal :

  1. Pour obtenir un paramètre variable, cocher la case à coté de ce paramètre et choisir le profil de variabilité dans la liste déroulante associée.

  2. Pour créer un nouveau profil de variabilité ou en modifier un existant, cliquer sur le bouton ... pour ouvrir la fenêtre ci-dessous.

Fenêtre de définition des profils de variabilité :

Axial Finance dispose de deux types de profils :

  1. Soit en Pas à pas entre deux nombres extrêmes

  2. Soit selon une séquence de nombres discrets

Cliquer sur le bouton Nouveau pour ajouter un profil, saisir le nom du profil, choisir le type et les différents paramètres définissant la variation.

Lors de l'exécution de l'essai, toutes les combinaisons des valeurs numériques des paramètres variables sont successivement prises en compte. Le nombre de graphiques obtenu est égal à ce nombre de combinaisons. La légende du graphique indique le jeu de paramètres correspondant à chaque courbe.

7.5. Présentation graphique de la comparaison

Dans l'exemple ci-dessus, une stratégie a été appliquée à une liste de 12 valeurs. La légende verticale à gauche donne la liste des ces valeurs.

En sélectionnant une valeur dans la légende, l'equity courbe correspondante du graphique est repérée par des petits rectangles.

En sélectionnant une courbe du graphique, le nom de la valeur dans la légende s'entoure d'un cadre noir.

En double-cliquant sur une equity courbe ou sur le nom de la valeur dans la légende, la fenêtre de présentation du rapport détaillé s'ouvre.

Une equity courbe peut être effacée du graphique : Sélectionner cette courbe puis ouvrir le menu contextuel en cliquant sur le bouton droit de la souris puis cliquer sur l'option Supprimer. Dans ce cas, la courbe moyenne (si affichée) est recalculée automatiquement.