
일정 기간 동안의 고가와 저가 사이의 평균 범위를 측정하는 변동성 지표입니다. 방향성 지표와 달리 ATR은 방향을 나타내지 않고 시장 변동성 규모를 측정합니다.
일정 기간 동안의 고가와 저가 사이의 평균 범위를 측정하는 변동성 지표입니다. 방향성 지표와 달리 ATR은 방향을 나타내지 않고 시장 변동성 규모를 측정합니다.
ATR은 포지션 사이징 및 리스크 관리에 필수적입니다. 고정된 손절매 거리 대신 ATR 기반 손절매는 현재 변동성에 적응합니다. 변동성이 큰 시장에서는 넓은 손절매를, 조용한 시장에서는 좁은 손절매를 설정합니다. 이는 정상적인 변동성 동안의 성급한 이탈을 방지하는 동시에 진정한 반전으로부터 보호합니다.
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()| 매개변수 | 기본값 | 설명 |
|---|---|---|
| period | 14 | ATR 룩백 기간 |