파이썬으로 구현하는 터틀 전략 – backtrader 백테스트 기초 튜토리얼
자기계발 · 2025-05-31
터틀 전략이란?
터틀 전략은 추세 추종 기반의 시스템 트레이딩 전략으로, 특정 조건에서 매수 및 매도를 자동으로 수행합니다. 이 전략은 가격이 일정한 추세를 보일 때 높은 수익률을 기대할 수 있도록 설계되어 있습니다.
backtrader란?
backtrader는 파이썬 기반의 강력한 백테스트 프레임워크로, 전략 작성, 데이터 로딩, 결과 시각화 등 트레이딩 전략을 실험하는 데 필수적인 기능을 제공합니다.
설정 및 기본 코드
먼저 backtrader를 설치합니다.
pip install backtrader
기초 골격을 작성합니다.
import backtrader as bt
class TurtleStrategy(bt.Strategy):
def __init__(self):
self.high20 = bt.ind.Highest(self.data.high, period=20)
self.low10 = bt.ind.Lowest(self.data.low, period=10)
def next(self):
if not self.position:
if self.data.close[0] > self.high20[0]:
self.buy()
else:
if self.data.close[0] < self.low10[0]:
self.close()
데이터 로딩과 실행
CSV 파일을 불러오고 실행합니다.
data = bt.feeds.GenericCSVData(
dataname='your_data.csv',
dtformat='%Y-%m-%d',
timeframe=bt.TimeFrame.Days,
compression=1,
openinterest=-1,
fromdate=datetime(2019, 1, 1),
todate=datetime(2021, 1, 1)
)
cerebro = bt.Cerebro()
cerebro.adddata(data)
cerebro.addstrategy(TurtleStrategy)
cerebro.run()
cerebro.plot()
시각화와 해석
실행 결과는 추세 구간에서 포지션 진입 및 청산이 잘 작동하는지 시각적으로 확인할 수 있습니다. 또한 여러 파라미터를 조정하여 전략의 민감도를 실험해볼 수 있습니다.
마무리
파이썬과 backtrader를 활용하면 과거 데이터를 기반으로 전략을 안전하게 검증할 수 있습니다. 터틀 전략은 특히 단순하면서도 강력한 구조를 가지고 있어 학습 및 실습에 적합합니다.