250x250
반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 암호화폐
- probability
- 백테스트
- 자동매매
- 자동차sw
- AWS
- 오토사
- GeorgiaTech
- 아마존 웹 서비스
- 확률
- 토플 라이팅
- 프로그래밍
- Bitcoin
- 클라우드
- backtrader
- AUTOSAR
- Cloud
- 비트코인
- can
- 퀀트
- toefl writing
- TOEFL
- python
- backtest
- it
- 개발자
- 백트레이더
- 토플
- 블록체인
- 파이썬
Archives
- Today
- Total
Leo's Garage
BackTrader - MACD 활용 본문
728x90
반응형
이번에는 MACD를 활용해서 전략을 작성해보겠다.
MACD(Moving Average Convergence Divergence)는 장단기 이동평균선(SMA) 차이를 이용해서 매매신호를 포착하는 기법이다.
MACD의 원리는 장기 이동평균선과 단기 이동평균선이 서로 멀어지면 (Divergence) 다시 가까워지는 (Convergence) 성질을 이용하여 두 개의 이동평균선이 멀어지는 시점을 찾으려 하는 것이다.
공식은 아래와 같다.
MACD : 12일 이동평균선 - 26일 이동평균선
Signal : MACD의 9일 지수이동평균선
Osillator : MACD - Signal
MACD 곡선과 Signal선이 교차하는 신호를 매매 신호로 본다.
보통 MACD가 Signal보다 커질 때 매수하고, MACD가 Signal보다 작아질 때 매도한다.
해당 전략을 BackTrader로 작성하면 아래와 같다.
import backtrader as bt
import yfinance as yf
class MACDStrategy(bt.Strategy):
params = (
("fast", 12),
("slow", 26),
("signal", 9),
("stop_loss", 0.03),
("take_profit", 0.05),
)
def __init__(self):
self.macd = bt.indicators.MACD(
self.data.close,
period_me1=self.params.fast,
period_me2=self.params.slow,
period_signal=self.params.signal
)
def next(self):
if not self.position:
if self.macd.macd[0] > self.macd.signal[0]:
self.buy()
else:
if self.macd.macd[0] < self.macd.signal[0]:
self.sell()
cerebro = bt.Cerebro()
data = bt.feeds.PandasData(dataname= yf.download('TSLA','2018-01-01','2021-12-31'))
cerebro.adddata(data)
cerebro.addstrategy(MACDStrategy)
cerebro.run()
cerebro.plot()
그리고 해당 전략을 테슬라 2018 ~ 2021 주가에 적용하면 결과는 아래와 같다.
초기 자본은 10000이었고, 10187.41까지 수익을 본 것을 알 수 있다.
728x90
반응형
'파이프라인 만들기 > Algo Trading' 카테고리의 다른 글
BackTrader - Bullish 전략 (2) (0) | 2023.01.29 |
---|---|
BackTrader - Bullish 전략 (1) (0) | 2023.01.28 |
BackTrader - 여러 지표 섞어서 만들기 (2) (0) | 2023.01.26 |
BackTrader - 여러 지표 섞어서 만들기 (1) (0) | 2023.01.25 |
BackTrader - 볼린져 밴드 전략 (0) | 2023.01.15 |
Comments