당신은 주제를 찾고 있습니까 “키움 api 현재가 – 번외편, 키움증권 코딩, API KOAstudio 실시간 활용 방법“? 다음 카테고리의 웹사이트 you.maxfit.vn 에서 귀하의 모든 질문에 답변해 드립니다: you.maxfit.vn/blog. 바로 아래에서 답을 찾을 수 있습니다. 작성자 프로그램 동산 PROGRAM GARDEN 이(가) 작성한 기사에는 조회수 3,354회 및 좋아요 23개 개의 좋아요가 있습니다.
키움 api 현재가 주제에 대한 동영상 보기
여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!
d여기에서 번외편, 키움증권 코딩, API KOAstudio 실시간 활용 방법 – 키움 api 현재가 주제에 대한 세부정보를 참조하세요
#주식 #파이썬 #koastudio #키움api
당시 촬영에 사용했던 예제코드를 못 찾겠어요…
시청각 자료로만 보시면 될 것 같아요ㅎㅎ
——————————————-
★선물, 옵션, 주식 코딩 학습 카페에서 소통하기
https://cafe.naver.com/programgarden
——————————————-
키움 api 현재가 주제에 대한 자세한 내용은 여기를 참조하세요.
키움 OpenAPI+ 개발가이드
키움 Open API 는 프로그램 개발 확장성을 고려하여 OCX 컨트롤로 제작 지원합니다. … GetCommData(“OPT00001”, “주식기본정보”, 0, “현재가”);.
Source: download.kiwoom.com
Date Published: 2/10/2021
View: 8645
[키움API] 조회와 실시간 데이터 처리 (1) – TR조회
안녕하세요 성민석입니다. 오늘은 키움증권 API와 관련된 기본 설명과 동작을 설명드릴 예정입니다. 기본적으로 KOA StudioSA에서 제공해주는 내용을 …
Source: minsuk-sung.tistory.com
Date Published: 1/15/2021
View: 183
파이썬 키움openAPI 원하는 종목리스트 10호가까지 피라미드 …
파이썬 키움openAPI 원하는 종목리스트 10호가까지 피라미드 매수주문하기 … def buying_split(self): # 종목명과 현재가 담기 for iii in range(0 …
Source: urin79.com
Date Published: 10/22/2021
View: 5530
키움 증권 API를 활용한 주식 정보 및 일봉 데이터 수집 자동화
키움증권 API를 활용한 비 실시간 주가 정보 수집 – 파이썬 데이터 수집 … 저가,현재가(종가)를 담고 있으며 일반적으로 투자자들이 주가 추세를 …
Source: songseungwon.tistory.com
Date Published: 8/18/2021
View: 9655
[키움 OpenAPI] TR OPT10001 (주식기본정보요청) 코드 in …
종목코드 = 전문 조회할 종목코드 SetInputValue(“종목코드” , “입력값 1″); 2. Open API 조회 함수를 호출해서 전문을 서버로 전송합니다. CommRqData( ” …
Source: jackerlab.com
Date Published: 3/29/2022
View: 9433
주제와 관련된 이미지 키움 api 현재가
주제와 관련된 더 많은 사진을 참조하십시오 번외편, 키움증권 코딩, API KOAstudio 실시간 활용 방법. 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.
주제에 대한 기사 평가 키움 api 현재가
- Author: 프로그램 동산 PROGRAM GARDEN
- Views: 조회수 3,354회
- Likes: 좋아요 23개
- Date Published: 2021. 7. 11.
- Video Url link: https://www.youtube.com/watch?v=pufD65kW1Ts
[키움API] 조회와 실시간 데이터 처리 (1) – TR조회
안녕하세요 성민석입니다.
오늘은 키움증권 API와 관련된 기본 설명과 동작을 설명드릴 예정입니다. 기본적으로 KOA StudioSA에서 제공해주는 내용을 바탕으로 글을 작성해나갈 예정입니다. 여기서 제 개인적인 의견이나 첨언이 들어갈 경우 파란색으로 표시하겠습니다.
지난 포스팅에는 키움API와 관련하여 로그인 버전 처리에 대해서 알려드렸습니다.
2021.10.31 – [트레이딩/증권사 API] – [키움API] 로그인 버전 처리
이번 포스팅에서는 키움증권API에서 가장 중요한 내용인 TR조회에 대해서 알려드리겠습니다. 저번 시간과 다르게 TR요청과 실시간 데이터 처리를 한 번에 다루기엔 양이 방대해서 포스팅을 두 개로 나눠서 올립니다.
조회 처리(조회 요청)
OpenAPI가 제공하는 데이터중에서 원하는 데이터를 서버에 요청해서 수신받는 것을 말합니다. 이는 하나의 TR(Transaction) 단위로 처리됩니다. 각 TR은 서버와 데이터를 주고받을 때 약속된 규약입니다. 각각의 TR은 입력 부분(Input)과 출력 부분(Output)을 가지고 있습니다. Input은 사용하는 TR에 따라 항목이 달라지며 사용자(고객)가 입력해야 하는 부분(이때 쓰이는 함수가 SetInputValue함수)이고, Output은 요청에 대한 서버의 응답으로 수신(이때 쓰이는 함수가 CommRqData함수)되는 데이터입니다. Output은 여러 항목으로 제공되며 필요한 항목의 값만을 골라서 얻을 수 있습니다.
출력 부분은 항목이 하나로 전달되는 싱글 데이터와 복수의 건수로 전달되는 멀티 데이터가 있습니다. TR에 따라 싱글데이터(또는 멀티데이터)만 있거나 둘 다 있는 경우도 있습니다. 싱글데이터와 멀티데이터가 제공해주는 데이터는 모두 다릅니다.
OPT10070 : 당일주요거래원요청 – 싱글 데이터
OPT10081 : 주식일봉차트조회요청 – 싱글 + 멀티데이터
OpenAPI가 제공하는 TR들은 KOA Studio의 “TR목록” 탭에서 찾아볼 수 있습니다. 이중 필요한 TR을 선택하여 약속된 Input값을 입력 후 서버에 요청하면 해당 TR에 정의되어 있는 Output 항목들의 값을 구할 수 있습니다.
※ 주의할 점: 조회 시 입력값 항목들은 SetInputValue 함수로 반드시 순서에 맞게 입력해야 합니다.
계좌 비밀번호는 별도의 입력창으로 입력/등록하고 조회 시에는 공백으로 입력합니다.
ex) SetInputValue(“비밀번호” , “”);
일반적으로 GetRepeatCnt() 함수를 이용하여 TR요청을 통해서 한 번에 받을 수 있는 데이터의 총 수를 확인합니다. 예를 들어 차트조회는 한 번에 최대 900개 데이터를 수신할 수 있는데 이렇게 수신한 데이터 개수를 얻을 때 사용합니다. 이 함수는 OnReceiveTRData() 이벤트가 발생될 때 그 안에서 사용해야 합니다.
조회 요청/수신 사용법
조회 요청하고자 하는 TR의 입력값(input)을 셋팅한뒤 조회 요청을 합니다. 서버는 요청에 대한 결과를 보내주고 이벤트를 발생시켜 데이터를 수신합니다. 수신한 데이터중 필요한 항목에 해당하는 값을 구합니다. API에서는 잘 말해주지 않지만 OnReceiveTrData 함수에서 발생한 이벤트에 대해서 데이터를 수신할 때, CommGetData이나 GetCommData 함수를 통해서 데이터를 가져올 수 있습니다.
SetInputValue (사용자 호출) → CommRqData (사용자 호출) → OnReceiveTrData (이벤트 발생) → CommGetData (데이터 수신)
연속 조회
TR별로 한 번에 전달할 수 있는 데이터 개수가 정해져 있습니다. 이 개수보다 조회할 데이터가 많을 때는 연속 조회로 모든 데이터를 조회할 수 있습니다. 연속 조회는 CommRqData()에서 인자 값만 바꿔서 다시 요청합니다.
CommRqData(“일별데이터조회”, “OPT10086” , 0, “0001”);
위처럼 요청한 데이터가 한 번에 수신된 데이터보다 더 많이 있다면 OnReceiveTRData() 이벤트에서 5번째 인자 값(sPrevNext)에 “2”가 전달됩니다. 이때 더 많은 데이터를 요청하고자 할 때는 CommRqData(“일별 데이터 조회”, “OPT10086” , 2, “0001”); 위처럼 3번째 인자 값을 2로 설정해서 조회하시면 됩니다. 그리고 OnReceiveMsg 함수를 통해서 연속 데이터가 존재한다면 바로 확인할 수 있습니다. OnReceiveTrData 함수의 sPrevNext를 통해서 연속 조회 유무를 판단할 수 있습니다.
정리하면 다음과 같습니다.
OpenAPI.CommRqData(“일별데이터조회”, “OPT10086” , 0, “0001”); // 처음 조회 시 혹은 연속데이터가 없을 때
OpenAPI.CommRqData(“일별데이터조회”, “OPT10086” , 2 , “0001”); // 연속 조회 시 (필요에 따라 요청)
※ 주의할 점: 중간에 다른 TR 요청이 있는 경우 연속 조회가 되지 않습니다.
KOA StudioSA에서 하나의 탭을 차지할 정도로 많은 TR이 있습니다. 사진에서도 확인하실 수 있지만 TR목록은 키움API에서 제공하는 수많은 TR요청을 정리해둔 것입니다.
예를 들어서 주식일봉차트조회요청(opt10081)의 경우 아래와 같이 파이썬으로 활용할 수 있을 겁니다. 전체 코드 중에서 TR요청의 흐름만 정리해봤습니다. 이해하는데 도움이 되셨으면 좋겠습니다.
1. SetInputValue
# 전문 조회할 종목코드 self.SetInputValue(“종목코드”, sCode) # 연도4자리, 월 2자리, 일 2자리 형식 self.SetInputValue(“기준일자”, yyyymmdd) # 0 or 1, 수신데이터 1:유상증자, 2:무상증자, 4:배당락, 8:액면분할, 16:액면병합, 32:기업합병, 64:감자, 256:권리락 self.SetInputValue(“수정주가구분”, sGubun)
2. CommRqData
if self.remained_data: self.CommRqData(“주식일봉차트조회요청”, “opt10081”, 2, SCREEN_NUM[‘주식일봉차트조회요청’]) else: self.CommRqData(“주식일봉차트조회요청”, “opt10081”, 0, SCREEN_NUM[‘주식일봉차트조회요청’])
3. OnReceiveTrData
def _ReceiveTrData(self, sScrNo, sRQName, sTrCode, sRecordName, sPrevNext, nDataLength, sErrorCode, sMessage, sSplmMsg): try: if sPrevNext == ‘2’ or sPrevNext == 2: self.remained_data = True else: self.remained_data = False if sRQName == “주식일봉차트조회요청”: self._opt10081(sRQName, sTrCode) except AttributeError: self.logger.critical(“조회|TR데이터 수신 함수에서 문제가 생겼습니다.”) finally: self.tr_event_loop.exit() # TR요청은 EventLoop 필수
4. CommGetData
def _opt10081(self, sRQName, sTrCode): if ‘opt10081’ not in self.output: self.output[‘opt10081’] = {} self.output[‘opt10081’][‘일자’] = [] self.output[‘opt10081’][‘시가’] = [] self.output[‘opt10081’][‘고가’] = [] self.output[‘opt10081’][‘저가’] = [] self.output[‘opt10081’][‘현재가’] = [] self.output[‘opt10081’][‘거래량’] = [] self.output[‘opt10081’][‘거래대금’] = [] nRows = self.GetRepeatCnt(sTrCode, sRQName) for i in tqdm(range(nRows), leave=False): self.output[‘opt10081’][‘일자’].append(abs(int(self.CommGetData(sTrCode, “”, sRQName, i, “일자”)))) self.output[‘opt10081’][‘시가’].append(abs(int(self.CommGetData(sTrCode, “”, sRQName, i, “시가”)))) self.output[‘opt10081’][‘고가’].append(abs(int(self.CommGetData(sTrCode, “”, sRQName, i, “고가”)))) self.output[‘opt10081’][‘저가’].append(abs(int(self.CommGetData(sTrCode, “”, sRQName, i, “저가”)))) self.output[‘opt10081’][‘현재가’].append(abs(int(self.CommGetData(sTrCode, “”, sRQName, i, “현재가”)))) self.output[‘opt10081’][‘거래량’].append(abs(int(self.CommGetData(sTrCode, “”, sRQName, i, “거래량”)))) self.output[‘opt10081’][‘거래대금’].append(abs(int(self.CommGetData(sTrCode, “”, sRQName, i, “거래대금”))))
다음 시간에는 이번 시간에 이어서 실시간 데이터 처리를 어떻게 하는지 한번 살펴볼 예정입니다. TR조회와 실시간은 조금 결이 다릅니다. 개인적으로 TR조회 연습을 많이 해보셔야 실시간을 활용하실 수 있을 거라고 생각됩니다.
키움증권 API와 관련된 자세한 내용을 확인하고 싶으신 분들은 PDF를 확인해보시면 좋을 것 같습니다.
마지막으로 같이 트레이딩 하는 분들과 소통하고 싶습니다. 언제든지 트레이딩이나 인공지능과 관련된 내용을 함께 공유하고 토론하고 싶으시다면 아래의 오픈 카카오톡 링크로 연락 주세요.
https://open.kakao.com/me/minsuksung
파이썬 키움openAPI 원하는 종목리스트 10호가까지 피라미드 매수주문하기
파이썬 키움openAPI 원하는 종목리스트 10호가까지 피라미드 매수주문하기
매수할 바닥저점을 정확히 안다면 굳이 이런 매수방법은 필요가 없다.
그냥 매일 모아가는 투자를 한다면 상당히 유용하다.
self.item_codes = 종목코드 리스트를 입력한다.
코딩이 어딘가에서 문제가 발생한 것 같은데 어디서 잘못된것인지 마지막 종목코드는 읽어오지 않는다.
그래서 허수의 종목하나를 기입했다.
###########[ 스케쥴링 ]############ ### [self.item_codes 끝에 허수종목을 하나 넣어줘야함 . 뭐가 잘못된건지 감 안옴 .] ### self .item_codes = “002200” , “008420” , “008420”
buyprice 변수는 한번 주문시 총 주문금액을 말한다.
1호가에 buyprice 금액의 4%를 정수화하여 매수주문한다.(정수화되기 때문에 실제 4%의 주문량보다는 적을것이다)
2호가에 5%
3호가 7%
.
.
.
delay_time = 0.37
buyprice = 1000000
buytemp = self .bunhal_stock_dict[ self .hoga_x[iiiiii]][ ‘ 현재가 ‘ ] # 종목현재가
buy_temp = int ( int (buyprice) / int (buytemp))
buy_ea = []
buy_ea.append( int (buy_temp * 0.04 )) # 4
buy_ea.append( int (buy_temp * 0.05 )) # 9
buy_ea.append( int (buy_temp * 0.07 )) # 16
buy_ea.append( int (buy_temp * 0.09 )) # 25
buy_ea.append( int (buy_temp * 0.11 )) # 36
buy_ea.append( int (buy_temp * 0.13 )) # 49
buy_ea.append( int (buy_temp * 0.15 )) # 64
buy_ea.append( int (buy_temp * 0.17 )) # 81
buy_ea.append( int (buy_temp * 0.19 )) # 90
buy_ea.append( int (buy_temp * 0.10 )) # 100
이렇게 계산되어 주문을 한다.
실투에 주문을 해보면 잘된다.
키움증권 API를 활용한 비 실시간 주가 정보 수집
키움 증권 API를 활용한 주식 정보 및 일봉 데이터 수집 자동화
1. 개요
1-1. 주식 데이터 수집 방식 비교
주가 정보를 수집하기 위한 방법으로는 주로 금융사에서 제공하는 api방식과 웹스크래핑 방식이 있다. 금융사 api를 활용하면 주가 정보 외에도 일반적으로 주식앱에서 볼 수 있는 다양한 데이터를 불러올 수 있다. 또한, api에서는 실시간 데이터 조회 기능도 제공하기 때문에 매매자동화 등에 활용할 수 있다.
1-2. pykiwoom
일반적으로 파이썬으로 키움 api를 사용하는 경우 Python GUI 패키지인 PyQt5를 활용하게 된다. 그러나 실시간 시세 정보를 활용해 매매자동화 프로그램을 구현하는 경우가 아니라면 다른 사용자들이 미리 raw 코드를 wrapping 해놓은 코드, 즉 PyQt5 등으로 구현한 코드를 클래스 및 함수로 한번 감싸서 더 단순하게 사용할 수 있도록 한 코드를 이용해보는 것도 좋은 방법이다.
여기서는 파이썬으로 배우는 알고리즘 트레이딩 저자로 유명한 조대표 님이 구현해주신 오픈소스 pykiwoom 패키지를 사용한다.
2. 로그인 및 접속 상태 조회
2-1. 환경 설정
본격적으로 코드 실습 전, 필요한 환경을 반드시 세팅해야 한다.
window 10 이상(권장)
python 3.7 이상(32bit 필수*)
키움증권 개좌 개설 및 API 사용 신청(필수)
키움증권 Open API+ 모듈 설치(필수)
KOA Studio 설치(필수, 데이터 조회 키 및 자동로그인 설정용)
python의 경우 대부분은 이미 64bit로 설치되어 있을 것이다. 만약 아나콘다가 설치되어있다면 간단히 32bit 가상환경을 새롭게 세팅해주면 된다. 쉘 명령어는 아래와 같다.
set CONDA_FORCE_32BIT=1 conda create -n py37_32 python=3.7 anaconda
2-2. 자동 로그인 실행
아래 코드는 자동 로그인 후 로그인 정보를 돌려준다.
단, 자동 로그인을 가능하게 하기 위해서는 미리 KOA Studio에서 OpenAPI를 연결 후 윈도우 하단 상태바에 생긴 OpenAPI+ 아이콘을 우클릭하여 ‘계좌비밀번호 저장’을 선택하고, 비밀번호는 0000, AUTO를 체크하여 자동로그인이 가능하도록 설정하자.
from pykiwoom.kiwoom import * import time import pandas as pd # login kiwoom = Kiwoom() # allocation print(‘login..’) kiwoom.CommConnect(block=True) # waiting to login print(‘login..complete’) # connect state = kiwoom.GetConnectState() if state == 0: print(‘not connected’) elif state == 1: print(‘status : connected’) # login – information account_num = kiwoom.GetLoginInfo(‘ACCOUNT_CNT’) # number of account accounts = kiwoom.GetLoginInfo(‘ACCNO’) # list of account user_id = kiwoom.GetLoginInfo(‘USER_ID’) # user id user_name = kiwoom.GetLoginInfo(‘USER_NAME’) # user name print(‘number of account : {}’.format(account_num)) #print(‘acounts : {}’.format(accounts)) #print(‘user id : {}’.format(user_id)) #print(‘user name : {}’.format(user_name))
login.. login..complete status : connected number of account : 2
3. 기본 종목 정보 수집
3-1. 종목 코드 수집
아래 코드를 실행하면 코스피, 코스닥, ETF에 포함된 모든 종목 코드를 불러올 수 있다. 수집된 종목 코드를 활용하면 코스피 전체 데이터를 가져오는 등 리스트 형태로 유용하게 활용할 수 있다.
# kospi : 0 # kosdaq : 10 # etf : 8 code_kospi = kiwoom.GetCodeListByMarket(‘0′) code_kosdaq = kiwoom.GetCodeListByMarket(’10’) code_etf = kiwoom.GetCodeListByMarket(‘8’) print(‘number of kospi code : {}’.format(len(code_kospi))) print(‘number of kosdaq code : {}’.format(len(code_kosdaq))) print(‘number of etf code : {}’.format(len(code_etf)))
number of kospi code : 1634 number of kosdaq code : 1511 number of etf code : 500
3-2. 개별 종목 정보 수집
pykiwoom 패키지를 통해 간편하게 기업명, 전일가 등을 불러올 수 있다. 아래 코드는 기본적인 종목 정보를 불러온다.
# 카카오 : 035720 corp = kiwoom.GetMasterCodeName(‘035720’) con = kiwoom.GetMasterConstruction(‘035720’) listed_d = kiwoom.GetMasterListedStockDate(‘035720’) prev_price = kiwoom.GetMasterLastPrice(‘035720’) state = kiwoom.GetMasterStockState(‘035720’) print(‘기업 : {}’.format(corp)) print(‘감리구분 : {}’.format(con)) print(‘최초상장일 : {}’.format(listed_d)) print(‘전일가 : {}’.format(prev_price)) print(‘종목상태 : {}’.format(state))
기업 : 카카오 감리구분 : 정상 최초상장일 : 2017-07-10 00:00:00 전일가 : 148500 종목상태 : [‘증거금20%’, ‘담보대출’, ‘신용가능’]
여기서 ‘최초상장일’은 카카오가 현재 상장된 시장인 ‘코스피’에 최초로 상장된 날짜를 의미다.
4. 주가 정보 수집
4-1. 개별 주식 정보 수집
특정 종목코드에 해당하는 주식 정보를 불러오고 싶다면 ‘opt10001’를 호출한다.
‘opt10001’은 가장 기본적인 주식 정보를 반환하는 TR key다. TR이란 api를 통해 요청하는 transaction을 의미하며, 딕셔너리 형태로 구성되어 있기 때문에 ‘opt10001’이라는 key를 입력값으로 전달하면 된다. KOA Studio를 통해 이 외에도 다양하고 유용한 TR을 살펴볼 수 있다.
# opt10001 : (TR)주식기본정보요청 # single data (has single row) df_single = kiwoom.block_request(‘opt10001′, 종목코드=’035720′, output=’주식기본정보’, next=0 # 0 : single transaction ) # 출력 df_single
종목코드 종목명 결산월 액면가 자본금 상장주식 신용비율 연중최고 연중최저 시가총액 … 250최저가대비율 현재가 대비기호 전일대비 등락율 거래량 거래대비 액면가단위 유통주식 유통비율 0 035720 카카오 12 100 445 444707 +0.49 +561000 -108000 662614 … +37.96 +149000. 2 +500 +0.34 2017066 -75.31 원 324274 73.0
1 rows × 45 columns
df_single.T
0 종목코드 035720 종목명 카카오 결산월 12 액면가 100 자본금 445 상장주식 444707 신용비율 +0.49 연중최고 +561000 연중최저 -108000 시가총액 662614 시가총액비중 외인소진률 +31.95 대용가 112860 PER 422.20 EPS 353 ROE 2.7 PBR 10.47 EV 87.91 BPS 14237 매출액 41568 영업이익 4559 당기순이익 1734 250최고 +561000. 250최저 -108000 시가 +150000 고가 +150500 저가 -148000 상한가 +193000 하한가 -104000 기준가 148500 예상체결가 +149500 예상체결수량 1203 250최고가일 20210408 250최고가대비율 -73.44 250최저가일 20210513 250최저가대비율 +37.96 현재가 +149000 대비기호 2 전일대비 +500 등락율 +0.34 거래량 2017066 거래대비 -75.31 액면가단위 원 유통주식 324274 유통비율 73.0
4-2. 개별 주식 일봉 차트 조회
일명 캔들이라 불리는 일봉 차트를 조회하는 방법은 아래와 같다.
일봉차트 정보는 매일 거래된 정보에 대해 시가,고가,저가,현재가(종가)를 담고 있으며 일반적으로 투자자들이 주가 추세를 확인할 때 보는 가장 기본적인 데이터다.
# opt10081 : (TR)주식일봉차트조회요청 # multi-data (has multiple rows) df_multi = kiwoom.block_request(‘opt10081′, 종목코드=’035720′, 기준일자=’20210824′, # 기준일로부터 총 600일(변동가능) 수정주가구분=1, # 수정주가 적용(액분 등 반영) output=’주식일봉차트조회’, # multi-data next=0 # 0 : single transaction(단일 요청) ) # 기준일자 ‘2021년 8월 24일’ 포함 지난 600일 일봉 데이터 출력 df_multi
종목코드 현재가 거래량 거래대금 일자 시가 고가 저가 수정주가구분 수정비율 대업종구분 소업종구분 종목정보 수정주가이벤트 전일종가 0 035720 149000 2017066 300363 20210824 150000 150500 148000 1 148500 2678395 393910 20210823 146000 148500 144500 2 144000 2776813 403451 20210820 146500 149000 143000 3 146500 2813914 412982 20210819 144000 149000 144000 4 145500 2720552 392335 20210818 142000 146500 141500 … … … … … … … … … … … … … … … … 595 20672 1076891 22260 20190401 20772 20873 20471 596 20772 766432 15861 20190329 20672 20873 20572 597 20572 811988 16766 20190328 20471 20873 20471 598 20572 1039895 21532 20190327 20973 20973 20471 599 20873 1282770 26846 20190326 20572 21174 20471
600 rows × 15 columns
키움 API는 기본적으로 일봉차트조회시 총 600줄(600일)에 해당하는 정보를 돌려준다. 따라서 600일이 넘는 일별 거래 정보가 필요한 경우 반복문을 통해 코딩을 해줘야 한다. pykiwoom 패키지를 사용하는 경우 tr_remained 모듈로 아래와 같이 연속 조회가 가능하다.
# opt10081 : (TR)주식일봉차트조회요청 # multi-data (has multiple rows) # 연속 조회 방식 (while kiwoom.tr_record) tr = “opt10081” code = “035720” set_d = ‘20210824’ df_list = [] df_firstblock = kiwoom.block_request(tr, 종목코드=code, 기준일자=set_d, 수정주가구분=1, output=”주식일봉차트조회”, next=0) df_list.append(df_firstblock) print(‘데이터 수집 시작.. ({}~)’.format(df_firstblock.loc[0,’일자’])) print(‘데이터 수집 중.. (~{})’.format(df_firstblock.loc[len(df_firstblock)-1,’일자’])) # 남은 데이터가 있다면 실행 while kiwoom.tr_remained: df_remainblock = kiwoom.block_request(tr, 종목코드=code, 기준일자=set_d, 수정주가구분=1, output=”주식일봉차트조회”, next=2) df_list.append(df_remainblock) time.sleep(1) print(‘데이터 수집 중.. (~{})’.format(df_remainblock.loc[len(df_remainblock)-1,’일자’])) if kiwoom.tr_remained == False: print(‘데이터 수집 완료’) df_all = pd.concat(df_list) df_all.reset_index(drop=True, inplace=True)
데이터 수집 시작.. (20210824~) 데이터 수집 중.. (~20190326) 데이터 수집 중.. (~20161011) 데이터 수집 중.. (~20140429) 데이터 수집 중.. (~20111128) 데이터 수집 중.. (~20090707) 데이터 수집 중.. (~20070201) 데이터 수집 중.. (~20040903) 데이터 수집 중.. (~20020329) 데이터 수집 중.. (~19991111) 데이터 수집 완료
df_all
종목코드 현재가 거래량 거래대금 일자 시가 고가 저가 수정주가구분 수정비율 대업종구분 소업종구분 종목정보 수정주가이벤트 전일종가 0 035720 149000 2017066 300363 20210824 150000 150500 148000 1 148500 2678395 393910 20210823 146000 148500 144500 2 144000 2776813 403451 20210820 146500 149000 143000 3 146500 2813914 412982 20210819 144000 149000 144000 4 145500 2720552 392335 20210818 142000 146500 141500 … … … … … … … … … … … … … … … … 5374 1654 2021 3 19991117 1654 1654 1654 5375 1479 2265 3 19991116 1479 1479 1479 5376 1323 4286 6 19991115 1323 1323 1323 5377 1181 1481 2 19991112 1181 1181 1181 5378 1058 127 0 19991111 1058 1058 1058
5379 rows × 15 columns
여기까지 pykiwoom 패키지를 활용해 키움 openapi에 자동으로 로그인하여 가장 기본적인 종목 정보와 개별 주가 데이터를 수집해보았다.
사실, 이러한 작업은 단순히 데이터를 수집하는 목적이라면 큰 의미가 없다. 증권사 앱 혹은 네이버 검색만으로 주가정보는 너무나 편리하게 확인할 수 있기 때문이다. 심지어 자체 DB를 구축한다 하더라도 일자별 거래데이터의 경우 yahoofinance와 같은 더 편리한 파이썬 패키지가 있기 때문에 굳이 금융사 api로 접근해서 데이터를 불러오지 않아도 된다.
키워드에 대한 정보 키움 api 현재가
다음은 Bing에서 키움 api 현재가 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.
이 기사는 인터넷의 다양한 출처에서 편집되었습니다. 이 기사가 유용했기를 바랍니다. 이 기사가 유용하다고 생각되면 공유하십시오. 매우 감사합니다!
사람들이 주제에 대해 자주 검색하는 키워드 번외편, 키움증권 코딩, API KOAstudio 실시간 활용 방법
- 주식
- api
- 키움
- 자동화매매
- 금융
- 핀테크
- 자동화
- 파이썬 주식
- 파이썬 자동화
- dma
- 재테크
- 단타
- 퀀트투자
- 투자
- 퀀트
- 알고리즘
- 시스템 트레이딩
- 돈 버는 방법
- 부업
- 단일매매
- 초단타
- 일봉데이터
- 스윙차트
- 초봉
- 분봉
- 일봉
- 자동매매
- 그랜빌
- 매수신호
- HFT
- 초단타매매
번외편, #키움증권 #코딩, #API #KOAstudio #실시간 #활용 #방법
YouTube에서 키움 api 현재가 주제의 다른 동영상 보기
주제에 대한 기사를 시청해 주셔서 감사합니다 번외편, 키움증권 코딩, API KOAstudio 실시간 활용 방법 | 키움 api 현재가, 이 기사가 유용하다고 생각되면 공유하십시오, 매우 감사합니다.