분류 전체보기
-
지난 포스팅에서는 `OnEventConnect()` 이벤트가 발생할 경우 특정 함수를 실행하고, 그 함수 내에서는 `CommConnect()` 함수를 통해 해당 함수의 반환값을 받아와서 로그인 성공 여부를 판단하는 코드를 구축했었다. 이번 포스팅에서는 `OnReceiveTrData()` 이벤트에 대해 자세한 사용 방법에 대해서 알아보도록 하자. 키움증권 Open API에서 제공하는 이벤트 별 상세 내용과 사용 예시는 아래의 포스팅을 참고 키움증권 Open API 개발 가이드 사용 설명서 (1)키움증권에서는 자사의 Open API의 사용 방법에 대해 기본적인 가이드 자료를 제공하고 있다. 다만 기본적으로 제공하는 함수의 형태가 파이썬에서 사용하기가 다소 어려운 형태로 되어 있기 때trustyou.tisto..
키움증권 OpenAPI 개발 가이드 사용 설명서 (2)지난 포스팅에서는 `OnEventConnect()` 이벤트가 발생할 경우 특정 함수를 실행하고, 그 함수 내에서는 `CommConnect()` 함수를 통해 해당 함수의 반환값을 받아와서 로그인 성공 여부를 판단하는 코드를 구축했었다. 이번 포스팅에서는 `OnReceiveTrData()` 이벤트에 대해 자세한 사용 방법에 대해서 알아보도록 하자. 키움증권 Open API에서 제공하는 이벤트 별 상세 내용과 사용 예시는 아래의 포스팅을 참고 키움증권 Open API 개발 가이드 사용 설명서 (1)키움증권에서는 자사의 Open API의 사용 방법에 대해 기본적인 가이드 자료를 제공하고 있다. 다만 기본적으로 제공하는 함수의 형태가 파이썬에서 사용하기가 다소 어려운 형태로 되어 있기 때trustyou.tisto..
2021.05.22 -
키움증권에서는 자사의 Open API의 사용 방법에 대해 기본적인 가이드 자료를 제공하고 있다. 다만 기본적으로 제공하는 함수의 형태가 파이썬에서 사용하기가 다소 어려운 형태로 되어 있기 때문에, 개발 가이드를 본다고 하더라도 어떻게 사용해야 할지 잘 모르는 경우가 태반이다. 따라서 해당 포스팅에서는 개발 가이드를 어떻게 활용할 수 있는지, 그리고 어떤 함수는 개별적으로 작동하고 어떤 함수는 다른 함수와 함께 사용되는지에 대해 정리해보고자 한다. TR 관련 함수TR 관련 함수란 개발 가이드 자료 중 [5.4 OpenAPI 컨트롤 이벤트] 항목 안에 있는 함수로, 총 8가지의 함수를 제공하고 있다. 또한 이에 대해 "차트 컨트롤에서 발생하는 컨트롤 이벤트 목록은 다음과 같다."고 설명하고 있는데, 솔직히 ..
키움증권 Open API 개발 가이드 사용 설명서 (1)키움증권에서는 자사의 Open API의 사용 방법에 대해 기본적인 가이드 자료를 제공하고 있다. 다만 기본적으로 제공하는 함수의 형태가 파이썬에서 사용하기가 다소 어려운 형태로 되어 있기 때문에, 개발 가이드를 본다고 하더라도 어떻게 사용해야 할지 잘 모르는 경우가 태반이다. 따라서 해당 포스팅에서는 개발 가이드를 어떻게 활용할 수 있는지, 그리고 어떤 함수는 개별적으로 작동하고 어떤 함수는 다른 함수와 함께 사용되는지에 대해 정리해보고자 한다. TR 관련 함수TR 관련 함수란 개발 가이드 자료 중 [5.4 OpenAPI 컨트롤 이벤트] 항목 안에 있는 함수로, 총 8가지의 함수를 제공하고 있다. 또한 이에 대해 "차트 컨트롤에서 발생하는 컨트롤 이벤트 목록은 다음과 같다."고 설명하고 있는데, 솔직히 ..
2021.05.22 -
키움증권의 경우 Open API를 제공하고 있으며, 실제로 사용할 함수의 종류는 키움증권 사이트 내 '개발 가이드' 파일 또는 'KOA Studio'라는 프로그램을 통해 확인할 수 있다. 이번 글에서는 이 함수들을 파이썬 내에서 구축하는 방법과 정확히 어떤 절차를 거쳐 함수들이 실행되는지에 대해 살펴보고자 한다. (1) 어떤 정보가 궁금한데요 ? - SetInputValue와 CommRqData1. SetInputValue (입력 값 설정) [설명] Tran 입력 값을 서버 통신 전에 입력한다. [용례] SetInputValue (아이템명, 입력 값)2. CommRqData (Command Request Data, 데이터 요청 명령 실행) [설명] Tran을 서버로 전송한다. [용례] CommRqDa..
키움증권 Open API 작동 과정키움증권의 경우 Open API를 제공하고 있으며, 실제로 사용할 함수의 종류는 키움증권 사이트 내 '개발 가이드' 파일 또는 'KOA Studio'라는 프로그램을 통해 확인할 수 있다. 이번 글에서는 이 함수들을 파이썬 내에서 구축하는 방법과 정확히 어떤 절차를 거쳐 함수들이 실행되는지에 대해 살펴보고자 한다. (1) 어떤 정보가 궁금한데요 ? - SetInputValue와 CommRqData1. SetInputValue (입력 값 설정) [설명] Tran 입력 값을 서버 통신 전에 입력한다. [용례] SetInputValue (아이템명, 입력 값)2. CommRqData (Command Request Data, 데이터 요청 명령 실행) [설명] Tran을 서버로 전송한다. [용례] CommRqDa..
2021.05.13 -
계산을 위한 코드를 제작하기에 앞서 실제 주식 시장 내에서는 상승률을 계산하는 기준으로 전일 종가를 사용한다. 따라서 코드 작성 시에는 특정 값의 비교를 하는 기준은 전일 종가가 되어야 한다. 아래의 코드처럼 함수의 이름에 있는 vix는 변동성을 의미하며, cal은 계산을 의미하는 calculator의 약자이다. 변동성을 계산하기 위한 것으로 cal_vix라는 이름을 지었다. 이 함수로 받아올 변수로는 low(당일 저가), high(당일 고가), yester_close(전일 종가) 세 개를 설정했다. [참고] low는 입력하지 않아도 된다. def cal_vix(low, high, yester_close): 그렇다면 이제 전일 종가와 당일 고가를 기준으로 변동성을 분석해보도록 하자. 상승률을 계산하는 방..
파이썬으로 당일 상승률 계산하기계산을 위한 코드를 제작하기에 앞서 실제 주식 시장 내에서는 상승률을 계산하는 기준으로 전일 종가를 사용한다. 따라서 코드 작성 시에는 특정 값의 비교를 하는 기준은 전일 종가가 되어야 한다. 아래의 코드처럼 함수의 이름에 있는 vix는 변동성을 의미하며, cal은 계산을 의미하는 calculator의 약자이다. 변동성을 계산하기 위한 것으로 cal_vix라는 이름을 지었다. 이 함수로 받아올 변수로는 low(당일 저가), high(당일 고가), yester_close(전일 종가) 세 개를 설정했다. [참고] low는 입력하지 않아도 된다. def cal_vix(low, high, yester_close): 그렇다면 이제 전일 종가와 당일 고가를 기준으로 변동성을 분석해보도록 하자. 상승률을 계산하는 방..
2021.05.06 -
오류 코드 typeerror: ufunc 'isfinite' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe'' 해결 방법 # 기존 코드 def create_chart(self, dataframe): fig = plt.figure(figsize=(12, 8)) ax = fig.add_subplot(111) mpl_finance.candlestick2_ohlc( ~~~~~ ) # 변경 코드 def create_chart(self, dataframe): data = dataframe.astype(float) fi..
MySQL 오류 : typeerror: ufunc 'isfinite' not supported for the input types오류 코드 typeerror: ufunc 'isfinite' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe'' 해결 방법 # 기존 코드 def create_chart(self, dataframe): fig = plt.figure(figsize=(12, 8)) ax = fig.add_subplot(111) mpl_finance.candlestick2_ohlc( ~~~~~ ) # 변경 코드 def create_chart(self, dataframe): data = dataframe.astype(float) fi..
2021.04.07 -
오류 코드 명 mysql.connector.errors.InternalError: Unread result found 해결 방법 # 기존 코드 connection = mysql.connector.connect(user="", password="", host="") cur = connection.cursor() # 변경 코드 connection = mysql.connector.connect(user="", password="", host="") cur = connection.cursor(buffered=True) 즉, cursor() 안에 buffered=True만 넣어주면 이 오류는 해결된다. 부연 설명 본인의 경우 이 오류는 데이터를 입력하고자 할 때, 즉 cur.execute("INSERT ~~")와..
MySQL 오류 : InternalError: Unread result found오류 코드 명 mysql.connector.errors.InternalError: Unread result found 해결 방법 # 기존 코드 connection = mysql.connector.connect(user="", password="", host="") cur = connection.cursor() # 변경 코드 connection = mysql.connector.connect(user="", password="", host="") cur = connection.cursor(buffered=True) 즉, cursor() 안에 buffered=True만 넣어주면 이 오류는 해결된다. 부연 설명 본인의 경우 이 오류는 데이터를 입력하고자 할 때, 즉 cur.execute("INSERT ~~")와..
2021.04.04 -
[오류 코드 명] Truncated incorrect DOUBLE value: "~~~~~" Unknown '~~~~~~~' column in 'where clause' 위의 두 오류는 해석한 의미대로 해결하면 절대 해결되지 않는 문제점이다. 며칠 간 괴롭히던 문제점 중 하나인데, 정말 손쉽고 정말 당연하게 해결했다. 바로 python 내 코드에서의 입력값과 데이터베이스 내 칼럼의 자료형이 일치하지 않는 경우이다. 예를 들어 DB의 칼럼 자료형을 VARCHAR로 설정했다면 python 내 코드에서는 입력할 데이터의 양 옆에 ' ' 표시를 통해 문자열임을 나타내야 한다. 그렇지 않고 'code'=000020의 형태로 넣게 된다면 위의 오류가 발생하고, 'code'='000020'의 형태로 INSERT IN..
MySQL 오류 : MySQL Database Error: Truncated incorrect DOUBLE value / Unknown column in 'where clause'[오류 코드 명] Truncated incorrect DOUBLE value: "~~~~~" Unknown '~~~~~~~' column in 'where clause' 위의 두 오류는 해석한 의미대로 해결하면 절대 해결되지 않는 문제점이다. 며칠 간 괴롭히던 문제점 중 하나인데, 정말 손쉽고 정말 당연하게 해결했다. 바로 python 내 코드에서의 입력값과 데이터베이스 내 칼럼의 자료형이 일치하지 않는 경우이다. 예를 들어 DB의 칼럼 자료형을 VARCHAR로 설정했다면 python 내 코드에서는 입력할 데이터의 양 옆에 ' ' 표시를 통해 문자열임을 나타내야 한다. 그렇지 않고 'code'=000020의 형태로 넣게 된다면 위의 오류가 발생하고, 'code'='000020'의 형태로 INSERT IN..
2021.02.07 -
간혹 파이썬을 통해 MySQL의 Query문을 이용하여 데이터를 저장하다 보면 오류가 발생하곤 한다. [오류 코드] MySQL Could not connect, server may not be running. [해결 방법] 작업 표시줄 실행(Ctrl + Shift + Esc) - 서비스 클릭 MySQL 검색 오른쪽 클릭 후 시작 클릭 해결!
MySQL WorkBench 오류 : MySQL Could not connect, server may not be running.간혹 파이썬을 통해 MySQL의 Query문을 이용하여 데이터를 저장하다 보면 오류가 발생하곤 한다. [오류 코드] MySQL Could not connect, server may not be running. [해결 방법] 작업 표시줄 실행(Ctrl + Shift + Esc) - 서비스 클릭 MySQL 검색 오른쪽 클릭 후 시작 클릭 해결!
2021.02.05 -
사실 클래스는 파이썬에서 정말 많은 역할을 담당하고 있기도 하지만, 무엇보다도 증권사에서 배포하는 Open API를 이용하기 위해서는 클래스를 반드시 알아야 한다. 하지만 그만큼 양도 방대하기 때문에 사실 작성을 시작하는 것이 두려웠다. 하지만 한 번 알고 있으면 무궁무진하게 사용할 수 있는 것이기 때문에, 이 기회를 통해 꼭! 꼭! 꼼꼼하게! 이해하고 넘어갔으면 하는 마음에 작성한다. 그래서 클래스가 뭔데? 클래스란 말 그대로 class의 의미인 교실에 비유해보도록 하자.(대학생이라면 강의실을 생각해도 좋음) 어느 수업이나 다를 것 없이 수업을 시작하기 전에는 출석체크를 반드시 한다. 그렇다면 그 출석체크 명단 안에는 어떤 정보들이 들어있을까? 고등학교는 어떤진 모르겠지만 대학교의 경우에는 학생의 사진..
클래스란? (1)사실 클래스는 파이썬에서 정말 많은 역할을 담당하고 있기도 하지만, 무엇보다도 증권사에서 배포하는 Open API를 이용하기 위해서는 클래스를 반드시 알아야 한다. 하지만 그만큼 양도 방대하기 때문에 사실 작성을 시작하는 것이 두려웠다. 하지만 한 번 알고 있으면 무궁무진하게 사용할 수 있는 것이기 때문에, 이 기회를 통해 꼭! 꼭! 꼼꼼하게! 이해하고 넘어갔으면 하는 마음에 작성한다. 그래서 클래스가 뭔데? 클래스란 말 그대로 class의 의미인 교실에 비유해보도록 하자.(대학생이라면 강의실을 생각해도 좋음) 어느 수업이나 다를 것 없이 수업을 시작하기 전에는 출석체크를 반드시 한다. 그렇다면 그 출석체크 명단 안에는 어떤 정보들이 들어있을까? 고등학교는 어떤진 모르겠지만 대학교의 경우에는 학생의 사진..
2020.12.09 -
모듈(module)이란? 파이썬 내에서는 모듈(module)을 잘 사용하게 된다. 흔히 게임을 다운로드 한다던지, 아니면 프로그램을 다운로드 한다던지 하는 경우에 설치 폴더 내에 수많은 파일들이 설치되는 것을 어렵지 않게 확인할 수 있다. 파이썬의 모듈을 바로 그런 것처럼 이해하면 조금 쉽다. 즉, 다소 복잡한 함수들이 하나의 코드 내에 위치해 있다면 그 코드를 사용할 때 모든 정보들을 다 불러와야 하기 때문에 오류가 있는지를 확인하는 것도 어렵고, 그만큼 사용 시간도 늘어날 수밖에 없다. 그래서 존재하는 것이 모듈이다. 일반적으로 파이썬을 시작할 때, 맨 처음에 보통 아래와 같은 코드를 사용해보게 된다. import os import pyqt5 위에서 'os'나 'pyqt5'가 바로 모듈에 해당하는 것..
모듈이란 무엇인가?모듈(module)이란? 파이썬 내에서는 모듈(module)을 잘 사용하게 된다. 흔히 게임을 다운로드 한다던지, 아니면 프로그램을 다운로드 한다던지 하는 경우에 설치 폴더 내에 수많은 파일들이 설치되는 것을 어렵지 않게 확인할 수 있다. 파이썬의 모듈을 바로 그런 것처럼 이해하면 조금 쉽다. 즉, 다소 복잡한 함수들이 하나의 코드 내에 위치해 있다면 그 코드를 사용할 때 모든 정보들을 다 불러와야 하기 때문에 오류가 있는지를 확인하는 것도 어렵고, 그만큼 사용 시간도 늘어날 수밖에 없다. 그래서 존재하는 것이 모듈이다. 일반적으로 파이썬을 시작할 때, 맨 처음에 보통 아래와 같은 코드를 사용해보게 된다. import os import pyqt5 위에서 'os'나 'pyqt5'가 바로 모듈에 해당하는 것..
2020.12.09 -
웹 크롤러는 기본적으로 특정 사이트에 있는 여러 내용들 중 원하는 내용을 불러오는 기능이며, 불러온 자료를 바탕으로 자료화하여 별도로 저장을 할 수도 있다. 지난 글에서 PyQt5의 Qt Designer와 파이썬을 연결하는 방법에 대해 알아보았다. 이번 글에서는 Qt Designer 내에서 만들어둔 버튼과 그에 따른 동작에 대한 코드에 대해 알아보고자 한다. 일단 지난 번에 만든 ui 파일에는 버튼 2개가 포함되어 있고, 각 버튼의 객체명은 pushButton_1과 pushButton_2였다. 이 객체명을 알아두어야 한다는 내용을 서술했었는데, 그 이유는 바로 이번 글에서 알 수 있다. 버튼 동작 코드 연결하기 import sys from PyQt5.QtWidgets import * from PyQt5 ..
코드로 알아보는 웹 크롤러 (1)웹 크롤러는 기본적으로 특정 사이트에 있는 여러 내용들 중 원하는 내용을 불러오는 기능이며, 불러온 자료를 바탕으로 자료화하여 별도로 저장을 할 수도 있다. 지난 글에서 PyQt5의 Qt Designer와 파이썬을 연결하는 방법에 대해 알아보았다. 이번 글에서는 Qt Designer 내에서 만들어둔 버튼과 그에 따른 동작에 대한 코드에 대해 알아보고자 한다. 일단 지난 번에 만든 ui 파일에는 버튼 2개가 포함되어 있고, 각 버튼의 객체명은 pushButton_1과 pushButton_2였다. 이 객체명을 알아두어야 한다는 내용을 서술했었는데, 그 이유는 바로 이번 글에서 알 수 있다. 버튼 동작 코드 연결하기 import sys from PyQt5.QtWidgets import * from PyQt5 ..
2020.10.21 -
Qt Designer 사용 방법 지난 글에서 Anaconda Prompt를 이용하여 Pyqt를 설치했고, 파이썬이 설치된 경로에서 Designer 프로그램의 바로가기 아이콘을 바탕화면에 만들었다. 이제 그 바로가기 파일을 실행해보자. 실행하면 아래와 같은 화면이 등장하는데, 기본적인 기능을 알아보기 위함이니 Templates Forms는 맨 아래에 있는 Widget을 클릭한 후 생성해주도록 하자. 이제, 왼쪽에 있는 메뉴 중에서 Push Button이라 적혀 있는 버튼을 드래그해서 방금 새롭게 만들어 둔 창에 올려 놓으면 버튼이 하나가 생긴다. 이 버튼을 두 개 만들어주도록 하자. 버튼을 만든 후에 Qt Designer 화면의 오른쪽을 보면, 아래의 사진과 같이 [객체 탐색기]라는 화면 아래에 [객체] ..
Qt Designer의 사용 방법과 연결Qt Designer 사용 방법 지난 글에서 Anaconda Prompt를 이용하여 Pyqt를 설치했고, 파이썬이 설치된 경로에서 Designer 프로그램의 바로가기 아이콘을 바탕화면에 만들었다. 이제 그 바로가기 파일을 실행해보자. 실행하면 아래와 같은 화면이 등장하는데, 기본적인 기능을 알아보기 위함이니 Templates Forms는 맨 아래에 있는 Widget을 클릭한 후 생성해주도록 하자. 이제, 왼쪽에 있는 메뉴 중에서 Push Button이라 적혀 있는 버튼을 드래그해서 방금 새롭게 만들어 둔 창에 올려 놓으면 버튼이 하나가 생긴다. 이 버튼을 두 개 만들어주도록 하자. 버튼을 만든 후에 Qt Designer 화면의 오른쪽을 보면, 아래의 사진과 같이 [객체 탐색기]라는 화면 아래에 [객체] ..
2020.10.21