Python으로 배우는 금융 트레이딩
Chelsea Yang
Data Science Instructor
구성 방식:
알고리즘 트레이딩에 흔히 사용됩니다

bt.algos.SelectWhere()bt.algos.WeighTarget()# 티커로 가격 데이터 조회
price_data = bt.get('aapl', start='2019-11-1', end='2020-12-1')
# SMA 계산
sma = price_data.rolling(20).mean()
또는 talib으로 지표를 계산합니다:
# SMA 계산
import talib
sma = talib.SMA(price_data['Close'], timeperiod=20)
# 시그널 기반 전략 정의
bt_strategy = bt.Strategy('AboveEMA',
[bt.algos.SelectWhere(price_data > sma),
bt.algos.WeighEqually(),
bt.algos.Rebalance()])
# 백테스트 생성 및 실행
bt_backtest = bt.Backtest(bt_strategy, price_data)
bt_result = bt.run(bt_backtest)
# 백테스트 결과 시각화
bt_result.plot(title='Backtest result')

Python으로 배우는 금융 트레이딩