관리 메뉴

Leo's Garage

BackTrader - 단순 종가 비교 전략 본문

파이프라인 만들기/Algo Trading

BackTrader - 단순 종가 비교 전략

LeoBehindK 2023. 2. 15. 23:19
728x90
반응형

오늘은 아주 간단한 전략을 만들어보았다. 

바로 그냥 단순히 종가를 비교해서 전날보다 오늘 높으면 사고, 전날보다 낮으면 파는 아주 아주 심플한 전략이다.

우선 코드부터 확인해보자 

import backtrader as bt
import yfinance as yf


class MyStrategy(bt.Strategy):
    
    def __init__(self):
        self.dataclose = self.datas[0].close
        self.order = None
    
    def next(self):
        if self.order:
            return  # if an order is pending, don't do anything

        if not self.position:  # if not in the market
            if self.dataclose[0] > self.dataclose[-1]:  # if the current close is greater than the previous close
                self.buy()  # enter a long position
        else:
            if self.dataclose[0] < self.dataclose[-1]:  # if the current close is less than the previous close
                self.sell()  # exit the long position

cerebro = bt.Cerebro()
cerebro.addstrategy(MyStrategy)

# Add data feed to cerebro
data = bt.feeds.PandasData(dataname= yf.download('TSLA','2018-01-01','2021-12-31'))
cerebro.adddata(data)

cerebro.run()
cerebro.plot()

 

아주 아주 간단한 코드이다.

위에 설명한 것과 같이 단순 종가 비교 전략일 뿐이다. 

해당 전략을 테슬라 주가에 반영시켜보았다. 

 

단순한 전략인 만큼, 그리고 종가 비교 전략인 만큼 엄청난 거래횟수가 돋보인다. 

사실 거래는 맞지만...ㅎㅎ 그에 비해서 효율이 상당히 낮은 전략이다.

10000으로 시작해서 최종적으로 10152.23이 되었다. 

728x90
반응형

'파이프라인 만들기 > Algo Trading' 카테고리의 다른 글

BackTrader - S&P500 활용  (0) 2023.02.17
BackTrader - Nasdaq 100 적용  (0) 2023.02.16
BackTesting.py - SMA  (1) 2023.02.05
BackTrader란  (0) 2023.02.03
BackTrader - 역추세 매매 (SMA 이용)  (0) 2023.02.02
Comments