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 |
Tags
- 파이썬
- 프로그래밍
- GeorgiaTech
- 클라우드
- it
- AWS
- backtest
- python
- probability
- can
- 블록체인
- 비트코인
- AUTOSAR
- 자동차sw
- TOEFL
- 백테스트
- 퀀트
- 오토사
- 토플
- 토플 라이팅
- toefl writing
- 개발자
- Bitcoin
- 확률
- 아마존 웹 서비스
- 백트레이더
- 자동매매
- 암호화폐
- backtrader
- Cloud
Archives
- Today
- Total
Leo's Garage
BackTrader - Bullish 전략 (2) 본문
728x90
반응형
두번째 상승장 판단 전략을 만들어보자.
이번에는 단순히 SMA 2개를 가지고 장세를 판단해본다.
20일 SMA과 50일 SMA 2개와 금일 종가와 비교를 한다.
두 SMA보다 종가가 높으면 매수한다.
두 SMA보다 종가가 낮으면 매도한다.
이때 매수는 and 조건, 매도는 or 조건이다.
코드는 아래와 같다.
import backtrader as bt
import yfinance as yf
class UpTrend(bt.Strategy):
params = (
('fast_ma_period', 20),
('slow_ma_period', 50),
)
def __init__(self):
self.fast_ma = bt.indicators.SimpleMovingAverage(
self.data.close, period=self.params.fast_ma_period)
self.slow_ma = bt.indicators.SimpleMovingAverage(
self.data.close, period=self.params.slow_ma_period)
def next(self):
if self.data.close[0] > self.fast_ma[0] and self.data.close[0] > self.slow_ma[0]:
if not self.position:
self.buy()
elif self.data.close[0] < self.fast_ma[0] or self.data.close[0] < self.slow_ma[0]:
if self.position:
self.sell()
cerebro = bt.Cerebro()
data = bt.feeds.PandasData(dataname= yf.download('TSLA','2018-01-01','2021-12-31'))
cerebro.adddata(data)
cerebro.addstrategy(UpTrend)
cerebro.run()
cerebro.plot()
해당 전략을 테슬라 2018~2021까지 적용해보자
초기 자본은 10000이었는데 결과적으로 10219.07이 되었다.
728x90
반응형
'파이프라인 만들기 > Algo Trading' 카테고리의 다른 글
BackTrader란 (0) | 2023.02.03 |
---|---|
BackTrader - 역추세 매매 (SMA 이용) (0) | 2023.02.02 |
BackTrader - Bullish 전략 (1) (0) | 2023.01.28 |
BackTrader - MACD 활용 (0) | 2023.01.27 |
BackTrader - 여러 지표 섞어서 만들기 (2) (0) | 2023.01.26 |
Comments