INVESTAR / StockAnalysisInPython

456 stars 412 forks source link

8장 자동 매매 관련 #48

Open WonSeokChoi-Unicorn opened 3 years ago

WonSeokChoi-Unicorn commented 3 years ago

자동 매매 사용한 지 1주일 안 되었습니다.

오늘이 월요일인데, 3월 1일이라 공휴일입니다.

Creon Plus는 잘 실행 되어 있는데 아래와 같은 오류 메세지를 슬랙으로 받았습니다.

get_target_price() -> exception! (-2147352567, '예외가 발생했습니다.', (0, None, 'DibRq 통신요청 실패하였습니다. 다시 요청하십시오.(RQID:-2)', None, 0, -2147467259), None) 11:11 get_movingavrg(5) -> exception! (-2147352567, '예외가 발생했습니다.', (0, None, 'DibRq 통신요청 실패하였습니다. 다시 요청하십시오.(RQID:-2)', None, 0, -2147467259), None) 11:11 get_movingavrg(10) -> exception! (-2147352567, '예외가 발생했습니다.', (0, None, 'DibRq 통신요청 실패하였습니다. 다시 요청하십시오.(RQID:0)', None, 0, -2147467259), None)

변동성이 파악되지 않아서 실행이 안 될 것이라 생각했는데

KRX 휴장일이라 증권사 시스템도 운영 안 하거나 기능 동작 안 할 가능성이 있으니

토요일이나 일요일이면 자동 종료 체크 외에

공휴일 체크 기능도 필요한 것 같습니다.

어떻게 처리해야 좋을 지 문의합니다.

INVESTAR commented 3 years ago

공공데이터 포털에 가입하신 후 서비스키를 발급 받으시면 특일 정보 페이지에서 국경일, 공휴일, 기념일 등의 정보를 조회할 수 있습니다. https://www.data.go.kr/data/15012690/openapi.do

다만, 사이트에 게시된 파이썬 샘플 코드는 너무 오래되어 파이썬 3.x에서는 동작하지 않습니다. 간단한 샘플 코드를 새로이 작성했으니 참고하시기 바랍니다.

import requests
from bs4 import BeautifulSoup

myServiceKey = "fnRk37EXmZUE%2F6Cxv3iRZEq5Jav%2BdX6ZUGizXQjD5G3EzT4nOfz3aR......"
for i in range(12):
    month = f"{i+1:02d}"
    url = "http://apis.data.go.kr/B090041/openapi/service/SpcdeInfoService/getRestDeInfo"\
        "?ServiceKey=" + myServiceKey + "&pageNo=1&numOfRows=10&solYear=2021"\
        "&solMonth=" + month
    req = requests.get(url)
    soup = BeautifulSoup(req.content, 'lxml')
    print(soup.text)

holidays

WonSeokChoi-Unicorn commented 3 years ago

알려주셔서 감사합니다.

WonSeokChoi-Unicorn commented 3 years ago

https://github.com/WonSeokChoi-Unicorn/PythonStudy/blob/develop/Datetime/Holidays.py

2년마다 API 서비스 키를 갱신하는 것이 번거로울 것 같아서 위와 같은 것을 만들어 봤습니다.

외국 것이지만 노동자의 날이 공휴일로 나와서 더 좋다 생각 되네요.