backtrader

    [Python] 백트레이더(Backtrader)에서 현금흐름지표(MFI) 를 사용하자

    백트레이더는 다양한 함수를 제공하고 있습니다. 백트레이더 사이트의 인디케이터 (Indicator) 를 들어가면 확인 할 수 있습니다. https://www.backtrader.com/docu/indautoref/ Indicators - Reference - Backtrader Indicator Reference AccelerationDecelerationOscillator Alias: Acceleration/Deceleration Technical Indicator (AC) measures acceleration and deceleration of the current driving force. This indicator will change direction before any changes in th..

    [python] 백트레이더(Backtrader) 로 데이터 추출 및 전략 세우기

    안녕하세요. 이번엔 백트레이더 (Backtrader) 를 활용해서 필요한 데이터를 추출하고 전략에 반영하는 걸 해보겠습니다. 상대적체결강도 (RSI, 21일 기준) 와 26주 (130일) 지수이동평균선 (EMA) 을 활용하여 매수 : RSI 70 이면서 EMA 의 기울기가 음수 혹은 RSI > 85 전략을 구현해보겠습니다. 추가로 어떤 종목 매매시 어느날 각 지표값들이 어떤 상태인지를 출력하는 함수도 구현해보겠습니다. 여러종목 데이터를 얻어오는 부분은 앞의 포스팅을 참고해주세요 먼저 전체 코드 입니다. class MyStrategy(bt.Strategy): def __init__(self): self.rsi = dict()..

    [Python] 백트레이더(Backtrader) 로 여러종목 백테스트 하기

    안녕하세요. 이번엔 백트레이더를 활용해서 여러종목을 백테스트 해보려 합니다. 여기선 여러 종목을 읽어오고 데이터를 전달하는데 초점을 맞추었습니다. 조건 : '삼성전자, SK하이닉스, 현대자동차를 일간시세 기준 RSI 40 미만 매수, 60초과 매도' 전체적인 코드의 흐름은 첫번째 백트레이더 포스트와 동일하니, 참고해주시면 되겠습니다. 백트레이더로 여러 종목 데이터를 전달하려면 여러 종목의 데이터프레임 변수가 필요합니다. '삼성전자', 'SK하이닉스', '현대자동차' 3종목을 가져와보겠습니다. mk = Analyzer.MarketDB() # 종목명 기입 stocks = ['삼성전자', 'SK하이닉스', '현대자동차'] datalist = [] cerebro = bt.Cerebro() cerebro.brok..

    [Python] 백트레이더 (Backtrader) 에서 matplotlib 오류 수정하기

    안녕하세요. 이번엔 백트레이더 패키지를 import 하여 실행할 때 matplotlib 관련 에러가 나는 경우 해결하는 법에 대해서 알아보고자 합니다. 에러는 아래와 같습니다. ImportError: cannot import name 'warnings' from 'matplotlib.dates' matplotlib.dates 에서 warnings 란 이름을 import 할 수 없다고 나옵니다. 여기서 선택지는 2가지로 나눌 수 있습니다. 첫번째. matplotlib 을 downgrade 한다. 두번째. matplotlib.dates 에서 warnings 란 이름을 넣어준다. 전 여기서 두번째 방법을 사용해보고자 합니다. 기왕 패키지 사용하는거 최신버전을 유지하면 좋으니까요 ㅎ 1. backtrader/p..

    [Python] 백트레이더(Backtrader) 로 Pandas Dataframe import 하기

    안녕하세요. 백트레이더 (Backtrader) 로 Pandas Dataframe import 하는 과정을 소개해볼까 합니다. 이미 많은 분들이 다뤄 주셨지만, 그래도 제 글을 통해 부가적인 도움이 되었으면 합니다. Backtrader 는 퀀트 투자의 백테스트 (일종의 시뮬레이션이라 생각하시면 되겠습니다.) 를 쉽게 해줄 수 있는 python 패키지입니다. 내장된 메서드로 Yahoo finance 를 사용할 수 있지만, 국내 주식 정보의 경우 다소 부정확한 부분과 업데이트 속도에 있어 실제 트레이딩에 활용하긴 어렵습니다. 그래서 개인 DB 를 가지고 있단 전제하에, 아래의 네이버 일간시세 2020-07-31 부터 2021-07-31 까지의 데이터 프레임을 백트레이더에 적용해보겠습니다. 먼저 제가 가진 데이..