전략 최적화 수행하기
주식 거래를 위한 SMA 기반 신호 전략이 있습니다. 하지만 전략 성과를 최적화하려면 SMA를 계산할 때 어떤 조회 기간(lookback period)을 써야 할지 확신이 서지 않네요. 서로 다른 입력 매개변수로 여러 번 백테스트를 실행할 계획이에요. 또한, 서로 다른 종목을 거래하거나 다른 과거 기간을 기준으로 전략을 평가할 수 있으면 좋겠습니다.
bt 패키지는 이미 임포트되어 있습니다. 또한 Tesla 주식의 과거 가격 데이터가 price_data에 미리 로드되어 있어요.
이 연습은 강의의 일부입니다
Python으로 배우는 금융 트레이딩
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
def signal_strategy(price_data, period, name):
# Calculate SMA
sma = price_data.____
# Define the signal-based Strategy
bt_strategy = bt.Strategy(name,
[____,
bt.algos.WeighEqually(),
bt.algos.Rebalance()])
# Return the backtest
return ____(bt_strategy, price_data)