금융퀀트/프로그램기초
-
(OpenAPI)KRX OpenAPI 활용: 서비스 이용 신청 및 API 예제금융퀀트/프로그램기초 2024. 3. 28. 07:57
서비스 이용 신청 인증키 발급 확인 (OpenAPI)KRX OpenAPI 활용: 인증키 발급에서 해 본 것처럼 법인이 아닌 개인은 로그인 후 마이페이지에서 API인증키 신청을 누르면 API를 사용할 수 있는 인증키 발급절차가 진행되고, 발급이 완료되면 아래 그림 1과 같이 마이페이지 -> 이용현황 -> 나의 정보에 인증키가 발급된 내역을 확인할 수 있다. 개별 서비스 신청 인증키 발급 후 API 서비스를 이용하려면 데이터 별로 추가적인 이용 신청이 필요하다. 예를 들어 유가증권시장에 상장되어 있는 주권의 매매정보를 받고 싶은 경우 아래 그림 2와 같이 서비스이용 -> 주식-> 유가증권일별매매정보를 클릭해서 들어간다. 상세 페이지에서 출력되는 데이터의 layout을 알 수 있고, 샘플 테스트 텝에서 실제로..
-
(OpenAPI)KRX OpenAPI 활용: 인증키 발급금융퀀트/프로그램기초 2024. 3. 23. 23:19
KRX OpenAPI 서비스 파이썬으로 한국주식정보를 가지고 올 수 있는 라이브러리는 다양하게 존재한다. yfinance, pykrx 등이 있는데 이런 라이브러리 들은 정보를 입수, 가공, 제공하는 기능이 한 번에 묶여 있기 때문에 라이브러리에 request, numpy, pandas 가 묶여있는 경우가 많다. 그래서 종종 설치하면 기존 설치된 pandas, numpy 버전 등과 충돌하는 경우도 있다. 그리고 라이브러리에 세팅된 대로만 정보를 요청할 수 있기 때문에 확장성이 떨어질 수 있다. KRX에서는 최근 OPEN API 서비스를 오픈해서 사용자가 직접 KRX 서버에 데이터를 요청할 수 있도록 열어두었다. 이제 yfinance나 pykrx 등 2차적인 정보제공라이브러리나 웹스크렙핑을 통해서 주식 종가..
-
파이썬: 멀티쓰레딩을 활용한 기업기본정보 목록 만들기(DART API활용)금융퀀트/프로그램기초 2024. 3. 17. 09:52
멀티쓰레딩풀 활용의 필요성 파이썬: 멀티쓰레딩(Threading)과 멀티프로세싱(multiprocessing) 에서 살펴본 것처럼 단일 함수들의 멀티쓰레딩, 멀티프로세싱은 단순히 구현하면 되지만 함수가 복잡하거나, 수많은 작업을 다시 작은 단위로 묶어서 작업하고 싶을 때(총작업량은 1만 개인데, 100개씩 한 번에 처리하고 싶을 때)는 단순한 멀티쓰레딩이나 멀티프로세싱 구조로는 한계가 있다. 이 경우는 아래의 그림 1처럼 쓰레딩 또는 프로세싱 작업묶음의 풀을 만들어서 해결할 수 있다. 작업풀에 작업묶음1, 2, 3을 동시에 넣고 작업을 수행한 뒤 결과를 한 번에 뽑아내는 방식이다. 멀티쓰레딩과 멀티프로세싱 모두 작업풀로 처리가 가능하지만 이하에서는 멀티쓰레딩풀만을 이용하여 API를 요청한 결과를 가지고 ..
-
파이썬 : 함수(Function), 클래스(Class), 모듈(Module), 패키지(Package)금융퀀트/프로그램기초 2024. 1. 31. 06:45
함수, 클래스, 모듈, 패키지의 관계 프로그램을 만드는 것은 각각의 기능들을 만들고 그 기능들을 묶어내서 하나의 구조화된 기계를 만들어내는 과정이라고 생각하면 된다. 여기서 가장 최소의 기능을 가지는 것을 "함수(Function)"라고 하고, 그 함수들을 클래스(Class)로 묶어도 되고 묶지 않아도 된다. 클래스로 묶이거나 묶이지 않은 함수들은 모듈(module)이라는 하나의 파일에 담긴다. 그리고 이 모듈들은 패키지(package)라는 하나의 폴더에 담긴다. 함수, 클래스, 모듈, 패키지의 관계를 그림으로 그리면 아래 그림 1과 같다. 위 그림 1과 같이 클래스로 묶인 함수 혹은 그냥 함수들이 모여서 하나의 모듈을 이루고, 모듈이 모여서 하나의 패키지 혹은 라이브러리가 된다. python 에서 다른 ..
-
파이썬 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..
-
파이썬 판다스(pandas) 데이터 합치기 concat&merge 활용금융퀀트/프로그램기초 2023. 6. 15. 06:49
concat 함수 활용 concat 함수 예제: 기초데이터 파이썬의 pandas 라이브러리를 이용하면, 기존의 데이터 아래쪽에(행 기준) 데이터를 붙일 수도 있고, 오른쪽에(열 기준) 데이터를 붙일 수도 있다. 이 때 사용하는 함수가 concat 이다. 함수의 사용을 위해서 아래 그림 1과 같이 종목코드와 종목명 컬럼을 공통으로 가지는 df1과 df2 의 데이터 예시를 생각해 볼 수 있다. df1은 종목코드, 종목명, 배당수익률로 이루어진 데이터이고, df2는 종목코드, 종목명, pbr 로 이루어진 데이터이다. concat 함수의 사용과 axis 옵션 df1, df2를 이용해서 concat 함수를 사용하면 아래 그림2와 같다. 앞에 오는 df1이 기준이 되는 데이터, df2가 붙일 데이터, axis는 데..
-
(OpenAPI)ChatGPT OpenAPI 사용: 데이터 분석(KOSPI200지수 예측)금융퀀트/프로그램기초 2023. 3. 29. 07:16
분석용 데이터 준비 챗GPT에 데이터에 관련된 사항을 물어보면 불가능하다는 답변이 나온다. 하지만 우리가 데이터를 넣어주기만 한다면 그 분석 자체는 가능할 것이다. 그럼 챗GPT에게 코스피 200 지수 데이터를 넣고 분석을 시켜보자. 아래와 첨부된 것과 같이 "2020-01-02" ~ "2023-02-28" 약 3년 치 코스피 200 지수 데이터를 넣어줄 것이다. 데이터 수집 KRX 정보데이터시스템 활용 코스피 200 지수 데이터는 KRX 정보 시스템 통계 -> 기본통계 -> 주가지수 -> 개별지수 시세추이 에서 "코스피 200"을 검색해서 다운로드하면 구할 수 있다. 엑셀로 데이터 편집이 가능하다면, 다운로드 후 위에 업로드한 파일처럼 종가만 남기고 나머지 컬럼을 모두 삭제해 주면 된다. 그리고 챗GP..
-
(OpenAPI)ChatGPT OpenAPI 사용: 기본활용 예제(python)금융퀀트/프로그램기초 2023. 3. 24. 13:11
기본정보 확인 API 키 확인 API 키는 OpenAI 사이트(https://platform.openai.com/) 사용자 메뉴에서 발급 가능하다. 아래 그림 1에 표시된 "Create new secretkey"를 누르면 팝업이 뜨면서 발급되는데, 다시 확인하기가 힘드니 처음 팝업이 뜰 때 잘 저장해 두어야 한다. 엔진확인 API 사용을 위해서는 AI 엔진 정보도 알아야 하는데, OpenAI 사이트(https://platform.openai.com/) Documentation -> Models 부분을 확인하면 된다. OpenAPI 에 지원되는 대화형 AI 모델은 아래 그림 2에 표시된 "text-davinci-003" 나 "text-davinci-002"이다. API 실행 예제: "오늘 아침 뭐 먹을까?..