
Indicateur de volatilité mesurant la plage moyenne entre les prix hauts et bas sur une période donnée. Contrairement aux indicateurs directionnels, l'ATR mesure l'ampleur de la volatilité du marché sans indiquer la direction.
Indicateur de volatilité mesurant la plage moyenne entre les prix hauts et bas sur une période donnée. Contrairement aux indicateurs directionnels, l'ATR mesure l'ampleur de la volatilité du marché sans indiquer la direction.
L'ATR est essentiel pour le dimensionnement des positions et la gestion des risques. Au lieu de distances de stop-loss fixes, les stops basés sur l'ATR s'adaptent à la volatilité actuelle : des stops plus larges dans les marchés volatils, des stops plus serrés dans les marchés calmes. Cela évite les sorties prématurées lors d'une volatilité normale tout en protégeant contre les véritables renversements.
En savoir plus sur Risk Management Strategies →import backtrader as bt
class ATRPositionSizing(bt.Strategy):
params = (('atr_period', 14), ('risk_multiple', 2.0), ('risk_pct', 0.02))
def __init__(self):
self.atr = bt.indicators.ATR(self.data, period=self.p.atr_period)
def next(self):
if not self.position:
# Entry signal (simplified)
if self.data.close[0] > self.data.close[-1]:
# Position size based on ATR
stop_distance = self.p.risk_multiple * self.atr[0]
risk_per_share = stop_distance
position_size = (self.broker.getvalue() * self.p.risk_pct) / risk_per_share
self.buy(size=position_size)
self.stop_price = self.data.close[0] - stop_distance
else:
# ATR-based trailing stop
if self.data.close[0] < self.stop_price:
self.close()| Paramètre | Par défaut | Description |
|---|---|---|
| period | 14 | Période de recul de l'ATR |