전체 글

전체 글

    [Python] 슬랙(Slack) 알림봇 설정하여 매일 증시 알림 받기 (2)

    지난편에 이어서, 이번엔 파이썬을 활용하여 슬랙봇이 채팅을 보내는 걸 해보겠습니다. 2021년 2월 이후로 파이썬의 Slacker 라이브러리를 사용할 수 없습니다. (∵ SLACK 의 정책변경) 따라서, 다른 방법을 사용하여 슬랙봇을 조작해야 합니다. 여기선 조코딩 님의 포스팅을 참고하여 조작해보도록 하겠습니다. [1] 0. Slack 세팅 슬랙봇 조작에 앞서, Slack 에 세팅을 조금 더 해줘야 합니다. 채널추가 버튼을 클릭하여 이름을 정하고 생성 버튼을 눌러줍니다. 사용자 추가는 지금은 건너뛰기를 눌러 생략합니다. 만든 # stock_notice 를 우클릭하여 채널 세부정보 열기를 누릅니다. 그 다음, 통합탭에서 앱추가를 클릭합니다. 앞에서 만든 StockNoticeBot 을 추가시킵니다. 그러면 ..

    [Python] 슬랙(Slack) 알림봇 설정하여 매일 증시 알림 받기 (1)

    슬랙 (Slack) 봇과 파이썬 웹스크래이핑을 활용하여 매일 증시알림을 받는 봇 프로그램을 설정해보겠습니다. 다 만들고 나면 아래와 같은 알림을 받을 수 있습니다. 이 편에서는 슬랙 봇 만드는 방법까지 설명드리겠습니다. 0. 슬랙 기본 설정하기 봇을 만들기 앞서, 슬랙의 기본세팅을 해야 합니다. - 먼저 슬랙에 회원가입을 합시다. (https://slack.com/intl/ko-kr/) - 슬랙을 실행시켜 자신의 워크스페이스를 만듭니다. (여기까진 본 내용과 벗어나니 생략하겠습니다.) 1. 슬랙 봇 만들기 https://api.slack.com/ 에 접속하여 Slack Bot 을 만듭니다. Your apps 를 클릭합시다. Create New App 을 클릭하고 From scratch 를 클릭합니다. 슬..

    [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..