티스토리 뷰
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 |
반응형
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 토플 라이팅
- python
- AUTOSAR
- 토플
- 자동차sw
- can
- 퀀트
- 자동매매
- 프로그래밍
- 확률
- backtrader
- 백트레이더
- 임베디드
- 파이썬
- 클라우드
- GeorgiaTech
- it
- toefl writing
- 비트코인
- TOEFL
- AWS
- Cloud
- 암호화폐
- 블록체인
- realtimesystem
- probability
- 아마존 웹 서비스
- 개발자
- 실시간시스템
- 오토사
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함