Glossaire

NotionSens dans ce livre
BougieDonnées d’une période : ouverture, plus haut, plus bas, clôture et volume
Unité de tempsRésolution temporelle d’une bougie, par exemple une journée
OHLCVOpen, High, Low, Close, Volume : les cinq données de base d’une bougie
Graphique de coursReprésentation des données dans l’ordre chronologique
IndicateurProgramme qui calcule des valeurs à partir des données et les affiche
StratégieProgramme qui définit aussi des règles d’ordres pour le simulateur
BacktestExécution d’une stratégie sur des données historiques selon un modèle d’exécution donné
VariableNom auquel le programme associe une valeur
TypeNature d’une valeur ou d’une variable : nombre, valeur logique, tableau, etc.
UDTType utilisateur regroupant plusieurs données liées
ObjetInstance concrète d’un type, conservant ses propres valeurs de champs
ChampDonnée d’un objet accessible par son nom
MéthodeOpération associée à un type donné
FonctionOpération ou calcul nommé que l’on peut appeler
ParamètreNom d’une entrée dans la définition d’une fonction
ArgumentValeur transmise à un paramètre lors d’un appel
InputEntrée du programme modifiable par l’utilisateur
PortéePartie du code où un nom est accessible
HistoriqueValeur d’une bougie passée ou d’une exécution précédente d’un appel avec état
ÉtatDonnée conservée pour l’exécution suivante
naValeur manquante, non disponible
SMAMoyenne mobile simple
EMAMoyenne mobile exponentielle
InitialisationPhase d’accumulation des premières données nécessaires au calcul
CroisementChangement dans un sens donné de l’ordre relatif de deux valeurs
Point d’arrêtEmplacement du code où le débogueur peut suspendre l’exécution
TickPlus petit pas de cotation du marché
SlippageÉcart qui dégrade le prix d’exécution dans le modèle
PositionQuantité détenue après les entrées exécutées
EquityCapital du compte, en tenant compte de la valeur des positions ouvertes
DrawdownRecul du capital par rapport à un sommet précédent

Quelle notation cherchez-vous ?

BesoinForme dans le code
Clôture actuelleclose
Clôture de la bougie précédenteclose[1]
Calcul personnalisé avec historiquevalue: Series[float] = ...
Compteur conservé entre les bougiescount: Persistent[int] = 0
Test de valeur manquantena(value)
Moyenne simple de cinq bougiesta.sma(close, 5)
Croisement haussierta.crossover(first, second)
Opération conditionnelleif condition:
Choix entre deux valeursfirst if condition else second
Cinq répétitions numérotées de 0 à 4for index in range(5):
Ajouter un élément à la fin d’un tableauarray.push(values, value)
Ordre d’entrée longuestrategy.entry("Long", strategy.long)
Fermeture au marché de l’entrée nomméestrategy.close("Long")
Stop et objectif définis par des distancesstrategy.exit("Exit", "Long", loss=100, profit=200)

Ce tableau montre des extraits, pas des programmes complets. Les fichiers complets et leurs imports se trouvent dans les chapitres correspondants et dans l’archive d’exemples.

Les actions de PyneIDE

ObjectifOù le trouver ?
Créer un projetMenu PyneIDE → Initialize Pyne Project
Configurer l’environnementMenu PyneIDE → Setup Environment
Exécuter le programmeRun Pyne code au-dessus du code
Modifier les inputsEngrenage Edit Inputs… en haut à droite de l’éditeur
Démarrer le débogageDebug au-dessus du code
Passer à la bougie suivanteNext Bar dans la barre d’outils flottante du débogage
Atteindre une bougie donnéeRun to Bar… dans la barre d’outils flottante du débogage
Résultats des transactionsTrades dans le panneau inférieur du graphique
Courbe de capitalPerformance dans le panneau inférieur du graphique
Statistiques détailléesStats dans le panneau inférieur du graphique
Propriétés de la stratégieStrategy properties, puis Properties
Exporter les valeurs tracéesOpen plot output CSV dans la barre d’outils du graphique
Exporter les transactionsOpen trades output CSV dans la barre d’outils du graphique

Documentation détaillée

La documentation de PyneCore, en anglais, présente tous les arguments des fonctions et les types supplémentaires. Ces parties complètent les exemples du livre :

Pour un appel inconnu, cherchez d’abord les types des entrées et du résultat, puis sa gestion de l’historique ou de l’état. Essayez-le ensuite dans un petit programme distinct dont vous pouvez suivre le résultat attendu à la main.