파이썬으로 구현하는 터틀 전략 – backtrader 백테스트 기초 튜토리얼

자기계발 · 2025-05-31

graphical user interface, application Photo by Coinhako on Unsplash

터틀 전략이란?

터틀 전략은 추세 추종 기반의 시스템 트레이딩 전략으로, 특정 조건에서 매수 및 매도를 자동으로 수행합니다. 이 전략은 가격이 일정한 추세를 보일 때 높은 수익률을 기대할 수 있도록 설계되어 있습니다.

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를 활용하면 과거 데이터를 기반으로 전략을 안전하게 검증할 수 있습니다. 터틀 전략은 특히 단순하면서도 강력한 구조를 가지고 있어 학습 및 실습에 적합합니다.