프로젝트/[ing]_백테스팅_툴

    [python] 인터넷 연결 안되있으면 컴퓨터 다시 시작하는 프로그램

    얼마전 와이파이론 도저히 느린 인터넷이 너무 답답했습니다. 그래서 기사님께 문의하여 제 컴퓨터 근처에 유선인터넷을 달아달라 했죠. 유선인터넷 설치는 별탈없이 완료 되었습니다. 이제 빠른 인터넷을 쓸 수 있겠구나 하던 기쁨도 잠시, 이게 웬걸,, 인터넷 연결이 안되네요 ㅠㅠ 문제해결을 눌러보니 네트워킹 초기화... 구글링을 해도 명쾌한 답변이 없습니다 ㅠ 이것 저것 알아보다, 네트워킹 초기화를 안하고도 단순하게 컴퓨터를 다시시작하면 인터넷이 연결되는 현상을 확인할 수 있었습니다. ...??? 이게 왜 이러는건지 참.. 1. 개요 디테일한 원인은 잠시 제쳐두고, 이번엔 단순하게 '컴퓨터의 인터넷이 연결이 안된게 확인되면 1번 다시시작하는' 프로그램을 만들어볼 생각입니다. 그렇지 않으면 제 슬랙봇이 일을 못하..

    [투자지표] 나쁜 투자 종목을 피해보자 (1). - PER

    기업의 펀더멘털 (fundamental) 을 가늠해보는 지표는 정말 많습니다. 지표를 통해 기업을 분석하는 목적은 해당 기업에 투자할지 말지를 판가름하는 잣대로 삼기 위함입니다. 큰 수익을 올리진 못해도 손실만큼은 최소화 해야하니까요. 이번 시리즈에선 아래의 지표들에 대해 포스팅해볼 계획입니다. - PER (Price to Earning Ratio) - PBR (Price to Book-value Ratio) - PSR (Price to Sales Ratio) - GP/A (Gross Profit / Asset) - POR (Price to Operating earning Ratio) - ROE (Return On Equity) 이번 포스팅은 제일 유명한 (?) PER 에 대해서 알아보겠습니다. 1. P..

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