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
- Cloud
- probability
- it
- 토플
- backtrader
- 프로그래밍
- python
- 백트레이더
- 파이썬
- TOEFL
- 확률
- 아마존 웹 서비스
- 오토사
- 자동차sw
- AWS
- 퀀트
- 개발자
- 암호화폐
- 백테스트
- 클라우드
- 토플 라이팅
- can
- AUTOSAR
- GeorgiaTech
- backtest
- Bitcoin
- 블록체인
- 자동매매
- 비트코인
- toefl writing
Archives
- Today
- Total
Leo's Garage
BackTrader - 단순 종가 비교 전략 본문
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