티스토리 뷰
728x90
반응형
이번에는 상승장을 판단하는 전략을 간단하게 만들어서 테스트해보겠다.
SMA(Simple Moving Average)와 RSI(Relative Strength Index)를 섞어서 상승장을 판단한다.
금일 종가가 200일과 50일 SMA보다 위에 있고, 동시에 RSI가 50보다 크면 매수한다.
금일 종가가 SMA 50일보다 작을 때 매도한다.
import backtrader as bt
import yfinance as yf
class BullishStrategy(bt.Strategy):
def __init__(self):
self.sma200 = bt.indicators.SimpleMovingAverage(self.data.close, period=200)
self.sma50 = bt.indicators.SimpleMovingAverage(self.data.close, period=50)
self.rsi = bt.indicators.RelativeStrengthIndex()
def next(self):
if not self.position:
if self.data.close[0] > self.sma200[0] and self.data.close[0] > self.sma50[0] and self.rsi[0] > 50:
self.buy()
else:
if self.data.close[0] < self.sma50[0]:
self.close()
cerebro = bt.Cerebro()
data = bt.feeds.PandasData(dataname= yf.download('TSLA','2018-01-01','2021-12-31'))
cerebro.adddata(data)
cerebro.addstrategy(BullishStrategy)
cerebro.run()
cerebro.plot()
해당 전략을 2018부터 2021년까지 테슬라 주식에 적용하였다.
결과는 아래와 같다.
초기 자본 10000에서 최종 10225.82가 되었다.
728x90
반응형
'파이프라인 만들기 > Algo Trading' 카테고리의 다른 글
BackTrader - 역추세 매매 (SMA 이용) (0) | 2023.02.02 |
---|---|
BackTrader - Bullish 전략 (2) (0) | 2023.01.29 |
BackTrader - MACD 활용 (0) | 2023.01.27 |
BackTrader - 여러 지표 섞어서 만들기 (2) (0) | 2023.01.26 |
BackTrader - 여러 지표 섞어서 만들기 (1) (0) | 2023.01.25 |
반응형
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 토플 라이팅
- 비트코인
- 클라우드
- it
- AUTOSAR
- GeorgiaTech
- 실시간시스템
- backtrader
- 블록체인
- python
- TOEFL
- 백트레이더
- 오토사
- 확률
- toefl writing
- 퀀트
- 개발자
- 아마존 웹 서비스
- 프로그래밍
- probability
- realtimesystem
- 파이썬
- 암호화폐
- 자동매매
- 자동차sw
- 토플
- 임베디드
- Cloud
- can
- AWS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함