StratCraft
Backtrader Indikator-Leitfaden

Backtrader ATR Position Sizing Strategy

Volatilitätsindikator, der die durchschnittliche Spanne zwischen Höchst- und Tiefstpreisen über einen Zeitraum misst. Im Gegensatz zu Richtungsindikatoren misst der ATR die Größenordnung der Marktvolatilität, ohne die Richtung anzuzeigen.

bt.indicators.ATRRisk Management Strategies

Volatilitätsindikator, der die durchschnittliche Spanne zwischen Höchst- und Tiefstpreisen über einen Zeitraum misst. Im Gegensatz zu Richtungsindikatoren misst der ATR die Größenordnung der Marktvolatilität, ohne die Richtung anzuzeigen.

Der ATR ist essenziell für das Positions-Sizing und Risikomanagement. Anstatt fester Stop-Loss-Distanzen passen sich ATR-basierte Stops der aktuellen Volatilität an: weitläufigere Stops in volatilen Märkten, engere Stops in ruhigen Märkten. Dies verhindert vorzeitige Ausstiege bei normaler Volatilität und schützt gleichzeitig vor echten Trendwenden.

Mehr erfahren über Risk Management Strategies →
Pythonbacktrader
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()
ParameterStandardBeschreibung
period14ATR-Rückschauzeitraum