티스토리 뷰
728x90
반응형
오늘은 index를 임의로 만들어서 전략에 녹여보려고 한다.
녹일 index는 바로 Nasdaq100이다.
전략은 다음과 같다.
Nasdaq100의 종가가 Nasdaq100 50일 평균선 보다 올라가면 매수하고 떨어지면 매도한다.
코드는 아래와 같다.
import backtrader as bt
import yfinance as yf
class MyStrategy(bt.Strategy):
def __init__(self):
self.nasdaq = self.datas[0]
self.stock = self.datas[1]
self.order = None
self.nasdaq_sma = bt.indicators.SMA(self.nasdaq.close, period=50)
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.nasdaq.close[0] > self.nasdaq_sma[0]: # if the current NASDAQ-100 close is greater than its 50-day moving average
self.buy() # enter a long position
else:
if self.nasdaq.close[0] < self.nasdaq_sma[0]: # if the current NASDAQ-100 close is less than its 50-day moving average
self.sell() # exit the long position
cerebro = bt.Cerebro()
cerebro.addstrategy(MyStrategy)
# Add data feed to cerebro
nasdaq_data = bt.feeds.PandasData(dataname= yf.download('^NDX','2018-01-01','2021-12-31'))
data = bt.feeds.PandasData(dataname= yf.download('TSLA','2018-01-01','2021-12-31'))
cerebro.adddata(nasdaq_data)
cerebro.adddata(data)
cerebro.run()
cerebro.plot()
해당 코드를 보면 이전 전략들과 다르게 data를 두 번 넣은 것을 볼 수 있다.
이런식으로 BackTrader에는 여러가지 데이터들을 전략에 사용할 수 있다.
해당 코드를 돌려보면 아래와 같은 결과가 나오게 된다.

초기 자본은 10000이었는데 13294.53이 되었다.
728x90
반응형
'파이프라인 만들기 > Algo Trading' 카테고리의 다른 글
BackTrader - WMA 활용 (0) | 2023.02.20 |
---|---|
BackTrader - S&P500 활용 (0) | 2023.02.17 |
BackTrader - 단순 종가 비교 전략 (0) | 2023.02.15 |
BackTesting.py - SMA (1) | 2023.02.05 |
BackTrader란 (0) | 2023.02.03 |
반응형
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 자동차sw
- 프로그래밍
- can
- 토플 라이팅
- python
- backtrader
- 토플
- 오토사
- 클라우드
- 실시간시스템
- 비트코인
- 암호화폐
- probability
- 개발자
- 퀀트
- Cloud
- GeorgiaTech
- 백트레이더
- toefl writing
- TOEFL
- 임베디드
- AUTOSAR
- realtimesystem
- 블록체인
- 자동매매
- 확률
- 파이썬
- 아마존 웹 서비스
- it
- 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 |
글 보관함