본문으로 건너뛰기

첫 번째 전략 작성

타임퍼센트에서 첫 번째 퀀트 투자 전략을 작성해보겠습니다.

전략이란?

전략은 시장 데이터를 분석하고 거래 신호를 생성하는 Python 코드입니다. 타임퍼센트는 전략을 실행하고 자동으로 주문을 처리합니다.

간단한 이동평균 전략

가장 기본적인 이동평균 교차 전략을 만들어보겠습니다.

1. 전략 파일 생성

my_first_strategy.py 파일을 생성합니다:

from timepercent import Strategy, Order
from timepercent.indicators import SMA

class MovingAverageStrategy(Strategy):
"""
이동평균 교차 전략
- 단기 이동평균이 장기 이동평균을 상향 돌파하면 매수
- 단기 이동평균이 장기 이동평균을 하향 돌파하면 매도
"""

def initialize(self):
# 전략 파라미터 설정
self.short_window = 20 # 단기 이동평균 기간
self.long_window = 50 # 장기 이동평균 기간

# 거래할 종목 설정
self.symbol = "AAPL"

# 이동평균 계산
self.short_ma = SMA(self.short_window)
self.long_ma = SMA(self.long_window)

def on_data(self, data):
"""
새로운 시장 데이터가 들어올 때마다 호출됩니다
"""
# 현재 가격 데이터 가져오기
price = data[self.symbol].close

# 이동평균 계산
short_ma_value = self.short_ma.update(price)
long_ma_value = self.long_ma.update(price)

# 이동평균이 아직 계산되지 않았으면 대기
if short_ma_value is None or long_ma_value is None:
return

# 현재 포지션 확인
position = self.get_position(self.symbol)

# 매수 신호: 단기 이동평균이 장기 이동평균을 상향 돌파
if short_ma_value > long_ma_value and position.quantity == 0:
self.order_target_percent(self.symbol, 1.0) # 전체 자금의 100% 투자

# 매도 신호: 단기 이동평균이 장기 이동평균을 하향 돌파
elif short_ma_value < long_ma_value and position.quantity > 0:
self.order_target_percent(self.symbol, 0.0) # 전체 포지션 청산

2. 전략 업로드

타임퍼센트 대시보드에서 전략을 업로드합니다:

  1. "전략" > "새 전략 생성" 클릭
  2. 전략 파일을 업로드하거나 코드를 직접 입력
  3. 전략 이름과 설명을 입력
  4. "저장" 클릭

3. 전략 실행

전략을 실행하기 전에 백테스팅으로 검증하는 것을 권장합니다.

전략 구조 이해하기

initialize() 메서드

전략이 시작될 때 한 번만 실행됩니다. 여기서:

  • 전략 파라미터를 설정합니다
  • 기술적 지표를 초기화합니다
  • 거래할 종목을 지정합니다

on_data() 메서드

새로운 시장 데이터가 들어올 때마다 호출됩니다. 여기서:

  • 시장 데이터를 분석합니다
  • 거래 신호를 생성합니다
  • 주문을 실행합니다

다음 단계

전략을 작성했으니 백테스팅으로 검증해보세요.