Standard Deviation (stdev)

[[stdev]] mesure l’ampleur des écarts d’une série autour de sa moyenne sur une fenêtre donnée. Il sert à quantifier la variabilité récente d’un prix ou d’une série calculée, par exemple pour comparer plusieurs régimes de marché, normaliser un écart à la moyenne ou construire des seuils adaptatifs.

Le bloc stdev ne donne pas le sens du mouvement. Une valeur faible traduit une série peu dispersée autour de sa moyenne récente. Une valeur plus élevée signale au contraire des écarts plus marqués sur la période considérée.

Le paramètre biased permet de choisir entre l’écart-type population et l’écart-type échantillon.

Déclaration du bloc

Une stratégie peut contenir plusieurs blocs [[stdev]]. Chaque bloc génère une série numérique représentant la valeur de l’écart-type.

Exemples

Configuration minimale

Ce bloc calcule stdev avec une fenêtre de 20 périodes. Comme source et biased sont omis, le bloc utilise les valeurs par défaut, soit source = "close" et biased = true.

[[stdev]]
id     = "stdev"
length = 20

Ecart-type sur le prix de clôture

Ce bloc calcule l’écart-type des prix de clôture sur les 20 dernières bougies.

[[stdev]]
id     = "stdev"
source = "close"
length = 20

Ecart normalisé à une moyenne mobile

Cet exemple utilise stdev pour exprimer l’écart entre le prix et une moyenne mobile en nombre d’écarts-types.

La condition devient vraie lorsque le prix de clôture s’éloigne de plus de 1.5 écart-type au-dessus de sa moyenne mobile. Ce type de montage sert à repérer des phases d’extension du prix tout en tenant compte de la volatilité récente.

[[moving_average]]
id     = "baseline"
source = "close"
type   = "ema"
length = 50

[[stdev]]
id     = "volatility"
source = "close"
length = 50

[[condition]]
id            = "price_extension"
condition     = "(close - baseline) / volatility > 1.5"
next_block_id = "..."

Paramètres

ParamètreDescription
id
 Texte
 Obligatoire
Nom unique de la série.
source
 Texte
 ou Tableau
 Optionnel
Série d’entrée utilisée pour le calcul.
Formats acceptés : source = "hl2" ou source = ["close", "hl2"].
Chaque valeur peut être soit une source de prix standard (open, close, high, low, hl2, hlc3, ohlc4, hlcc4, volume), soit l’id d’un autre indicateur.
Valeur par défaut : "close"
length
 Entier ou Plage
 Obligatoire
Fenêtre d’écart-type. Elle doit être ≥ 1 lorsque biased = true, et ≥ 2 lorsque biased = false.

Usage :
• Fixe : length = valeur
• Grille :
 – length.start = valeur_minimale
 – length.stop = valeur_maximale
 – length.step = valeur (optionnel, par défaut 1)
biased
 Booléen
 Optionnel
Choisit le type d’écart-type. Lorsque true, le bloc utilise l’écart-type population (division par N). Lorsque false, il utilise l’écart-type échantillon (division par N-1). La valeur par défaut est true.
symbol
 Texte
 ou Tableau
 Optionnel
Symbole(s) de marché utilisé(s) lorsque source ne contient que des prix standard (open, close, high, low, hl2, hlc3, ohlc4, hlcc4, volume).
Les symboles doivent inclure le préfixe d’exchange au format EXCHANGE:SYMBOL (par exemple "KUCOIN:BTCUSDT").
Si source mélange des prix standard et des identifiants d’indicateurs, symbol s’applique uniquement aux combinaisons basées sur des prix standard.
Si source ne contient que des identifiants d’indicateurs, symbol est ignoré.
S’il est omis, le bloc hérite du symbole défini dans [backtest].
Pour le format, les tableaux et les règles d’alignement, voir Exchanges, Symboles et Timeframes.
timeframe
 Texte
 ou Tableau
 Optionnel
Timeframe sur lequel cet indicateur est calculé.
Si timeframe est omis, le calcul se fait sur le timeframe principal de la grille défini dans [backtest].
Pour les formats acceptés et les règles d’alignement entre timeframes, voir Exchanges, Symboles et Timeframes.

Variables disponibles

Vous pouvez utiliser directement les identifiants ci‑dessous dans vos expressions. Le bloc stdev expose une série numérique, ses paramètres et les métadonnées d’entrée.

Supposons le bloc configuré ainsi :

[[stdev]]
id     = "stdev"
length = 20

Alors :

VariableDescription
stdev ou stdev[0]
Décimal
Valeur actuelle de l’écart-type.
stdev[n]
Décimal
Valeur de l’écart-type il y a n bougies.
stdev.length
Décimal
Longueur de fenêtre utilisée.
stdev.biased
Décimal
Indicateur de biais utilisé : 1 pour l’écart-type population, 0 pour l’écart-type échantillon.
stdev.source
Texte
Nom de la série d’entrée.
stdev.symbol
Texte
Symbole utilisé.
stdev.timeframe
Texte
Timeframe utilisé pour ce bloc.

Notes

  • Lorsque biased = false, la fenêtre doit contenir au moins deux valeurs, car l’écart-type échantillon utilise un diviseur N-1.
  • Le moteur ignore les valeurs na lors de la construction de la fenêtre et commence à produire des valeurs seulement après avoir accumulé suffisamment d’échantillons valides.