금융퀀트
-
[키움API]파이썬 주식 종가정보 불러오기3: 전체종목 기간별 종가조회금융퀀트/(퀀트)증권사API활용(키움) 2023. 12. 2. 09:13
시계열데이터 만들기: GetCommData 함수 재구성 KOAStudio 조회 화면을 보면 아래 그림 1에 표시됨 부분의 숫자가 0에서부터 늘어나면서 599까지 조회가 되는 것을 알 수 있다. 0 번째 인덱스 데이터가 기준일자 데이터이고 599 번째 데이터는 599 영업일 뒤의 데이터니까 약 2년 6개월 정도 기간 동안의 종가 데이터를 한 번에 볼 수 있는 것이다.(1년은 약 250 영업일 정도 된다.) 위 그림 1의 인덱스를 나타내는 부분은 아래 GetCommData 의 세 번째 변수로 지금까지 단순히 0으로 설정했던 부분을 변수로 아래와 같이 바꿔주면 된다. # AS-IS def GetCommData(self, trcode: str, trname: str, item: str): return self...
-
[키움API]파이썬 주식 종가정보 불러오기2: 개별종목 종가조회금융퀀트/(퀀트)증권사API활용(키움) 2023. 11. 30. 07:52
종목별 종가 입수 함수 확인: KOA 스튜디오 구현 예시 종목별 종가정보 조회는 키움 API로 "주식일봉차트조회요청"을 하면 된다. KOA Studio에서 Open API 접속을 한 뒤에 아래 그림 1의 좌측처럼 표시된 칸에 종목코드와 기준일자 정도를 넣으면 그림 1의 우측처럼 결과를 볼 수 있다. 그림 1의 우측 상단에는 어떤 API 함수를 호출해야 하는지 안내가 되어 있다. SetInputValue 함수를 통해서( SetInputValue("종목코드" , "005930"), SetInputValue("기준일자" , "20231129"), SetInputValue("수정주가구분" , "") ) 종목코드, 기준일자, 수정주가구분 설정을 해주고, CommRqData( "RQName" , "opt10081"..
-
파이썬 32비트 환경에서 MYSQL 사용하기:DLL load failed while import _sqlite3 대응금융퀀트/프로그램기초 2023. 11. 28. 07:14
32비트 가상환경 만들기 및 필요라이브러리 설치 아나콘다-파이썬 사용자가 32비트 환경을 구현하기 위해서 굳이 32비트용 아나콘다를 다운로드할 필요는 없다. 아나콘다 프롬프트에서 "set CONDA_FORCE_32BIT=1" 명령어로 환경을 32비트로 만들어 준 뒤에 가상환경을 만들어서 activate 시켜주면 32비트 환경에서 작업을 할 수 있다.(자세한 내용은 [키움API]아나콘다-파이썬 가상환경 만들기 참조) 보통은 증권사 API 같은 것들이 32비트 환경에서 구현되어 있어서 가상환경을 만들어서 작업한다. 그런데 대량의 시장 데이터를 이용하는 증권사 API를 사용할 때 데이터베이스 작업도 필수적이다. 보통은 아래와 같이 sqlalchemy와 pymysql을 설치해서 데이터베이스 작업을 한다. "DL..
-
[키움API]파이썬 주식 종가정보 불러오기1: 종목코드 목록 입수금융퀀트/(퀀트)증권사API활용(키움) 2023. 11. 24. 07:06
종목리스트 입수 함수 확인 이제 아래 그림 1의 "기간별 종가 데이터 입수" 버튼 기능을 만들어보자.(버튼 이름의 뜻이 명확하지 않아서 바꿨다.) 주식 종목의 기간별 종가 데이터 입수 작업은 "주식코드의 입수 및 목록화 -> 기준일자의 주식코드별 종가 데이터 수집 -> 일자를 바꿔가면서 종가 데이터 반복 수집-> DB저장"으로 나눌 수 있다. 먼저 주식코드의 입수 및 목록화부터 진행해 보자. 키움 API 개발 가이드를 보면 아래 그림 2와 같이 GetCodeListByMarket이라는 함수를 써서 주식코드 목록을 받을 수 있다는 것을 확인할 수 있다. 여기에서 함수에 패러미터로 "0"을 넣으면 장내, "3"을 넣으면 ELW, "4"를 넣으면 뮤추얼펀드 등이 나오는 방식이다. 코스피 종목 리스트 불러오기 ..
-
[키움API]python API로그인(Qt Designer 사용)금융퀀트/(퀀트)증권사API활용(키움) 2023. 11. 24. 05:51
mainform 띄우기 python 파일에서 Qt Designer로 만든 form을 띄우려면 PyQt5의 uic라는 라이브러리를 import 해 줘야 한다. form 파일의 경로를 지정하고, 그 경로를 이용해서 QMainWindow를 상속한 UI를 로드하는 클래스를 만들어 주면 된다. 이를 코드로 구현하면 아래와 같다. import sys from PyQt5.QtWidgets import * from PyQt5.QAxContainer import * from PyQt5 import uic #UI파일 연결 form_class = uic.loadUiType("UI 파일의 경로 입력")[0] # PyQt5의 QMainWindow 클래스와 UI 폼 클래스를 상속받은 사용자 지정 클래스 정의 class Kiwoo..
-
[키움API]python 메인 화면 만들기(Qt Designer 사용)금융퀀트/(퀀트)증권사API활용(키움) 2023. 11. 23. 06:39
Qt Designer 사용 키움API 사용 프로그램을 화면없이 구현할 수도 있지만 프로그램에 다양한 기능을 부분적으로 구현하고, 부분별 실행을 해보려면 ui 화면과 연결해서 개발하는 것이 편하다. PyQt5 에서는 화면 구성을 위해서 Qt Designer 라는 프로그램을 지원해 준다. 아나콘다를 설치했다면 ( 아나콘다, 파이썬, 비주얼 스튜디오 사용(Windows) 참조) 아나콘다 프롬프트에서 아래 그림 1 과 같이 "designer"라고 치면 된다.(개발을 가상환경에서 하더라도 (base)에서 실행해도 된다.) 아래 그림 1의 우측 부분이 Qt Designer 가 실행된 화면이다. Qt Designer 를 실행한 뒤 "파일" -> "새폼" 을 선택하면 폼의 양식을 선택할 수 있는데, Main Windo..
-
[키움API]python API 로그인금융퀀트/(퀀트)증권사API활용(키움) 2023. 11. 14. 22:30
ActiveX컨트롤 사용하기 키움 API를 사용하려면 "khopenapi.ocx"이라는 이름의 ActiveX컨트롤을 불러와야 한다. "khopenapi.ocx"를 파이썬에서 바로 불러올 수는 없기 때문에 OpenAPI 개발 가이드를 참조하여( [키움API]키움 API 작동 구조 참조) API 식별자가 무엇인지 먼저 파악해야 한다. 위 그림 1에서 확인할 수 있는 것처럼 api 컨트롤 모듈의 이름은 " KHOpenApi.OCX"이지만 컴퓨터가 API Control을 식별하는 식별자는 " A1574A0D-6BFA-4BD7-9020-DED88711818D" 이런 문자열인 것을 알 수 있다. 윈도우 -> 검색 "regedit"에 들어가면 레지스트리 편집기를 열 수 있는데 편집기에서 아래 그림 2처럼 편집 -> ..
-
[키움API]키움 API 작동 구조금융퀀트/(퀀트)증권사API활용(키움) 2023. 11. 11. 07:40
키움 API 개발가이드 확인하기 키움 API를 활용하여 주식매매를 하기 위해서는 먼저 키움 API가 어떻게 구성되어 있는지 파악해야 한다. 키움증권 홈페이지에서 고객서비스 -> OpenAPI 항목으로 아래와 같이 들어간다. 처음 키움 API를 설치할 때 나오는 화면이 보이면 스크롤을 내려서 아래 "3단계" 항목의 "개발가이드 바로가기"를 클릭하면 키움 API가 어떻게 구성되어 있는지 안내되어있는 파일을 볼 수 있다. API 기본 작동 원리 OpenAPI 개발가이드에서 중요하게 봐야하는 부분은 API 작동 구조이다. API가 어떻게 구성되어 있는지 그리고 어떻게 작동하는지 구조를 파악하기만 하면 된다. 구조만 제대로 파악되면 API의 개별함수는 함수의 입력 변수만 다르게 하면서 구조에 맞게 쓰면 된다. A..