728x90
반응형

1. 국내주식/1-2. 키움 OpenAPI (사용) 17

(주식 자동 매매) 키움증권 OpenAPI - 가격급등락요청(opt10019)

목 차 1. 들어가며 2. 사전설명 1) 영웅문S에서 급등주 조회화면(0164) 2) KOA Studio의 TR (opt10019) 3. 코드 설명 4. 전체 코드 5. 마치며 1. 들어가며 주식을 시작하면서 한가지 다짐한건, "급등주" 매매는 하지 말자는 것이었다. 상한가로 한번은 수익을 내더라도, 나중에는 그런 "상한가"만 찾게되고, 결국 고점에 물려 수습하지 못할 지경까지 갈 수 있기 때문이다. 그렇지만, ①단기간 거래량이 많고, ②가격변화가 심하고 ③단타를 할만한 투자 중 하나로 급등주 매매가 있는것 같아서 일단 모의계좌로 투자 테스트를 진행할 예정이다. 이번 글을 쓰는 것은 상당히 조심스럽다. 급등주 1위~200위를 받아오는 방법은 의외로 간단한데, 급등주 투자로 수익을 내는 것은 별개의 내용이..

(주식 자동 매매) 키움증권 OpenAPI - 주식호가요청(opt10004)

목 차 1. 들어가며 2. 사전설명 1) 주식호가요청(opt10004) 확인 2) 호가창 확인 3. 코드설명 4. 전체 코드 및 결과 5. 마치며 1. 들어가며 키움증권 OpenAPI를 활용하여 현재가로 매수/매도 주문할 때가 있는데, 여기서 관건은 현재가로 주문을 할 때, 사용자가 원하는 시간에 주문이 정확히 체결되느냐이다. 현재가가 5,000원인데, 기 매수자가 1호가 낮추어서(4,990원)으로 시장에 매도를 했다면, 현재가는 4,990원이 된다. 한 호가 낮추어서 매도를 했다면, 한 호가 낮게 현재가가 설정(4,990원)된다. 사용자가 현재가로 제출하면, 최우선매수호가로 제출이 된다. → 즉, 현재가(5,000원) 체결이 안되고, 4,990원에서 매수대기를 하게 된다. 사용자의 성향에 따라 무조건 ..

(주식 자동 매매) 키움증권 OpenAPI - 파이썬을 통해 1분봉 받기 (opt10080)

1. 들어가며 지난 글에서는 키움증권 OpenAPI를 이용하여, 4종목의 1분봉 데이터를 엑셀에 저장해 보았다. 참고 : https://springcoming.tistory.com/27?category=1048804 (주식 자동 매매) 키움증권 OpenAPI - 1분봉 데이터 실시간 받기(opt10080) 1. 들어가며 지난 시간에는 키움증권 OpenAPI를 통해 이미 매수하여 계좌에 보유중인 4종목의 매수가격과 매수량을 출력해 보았다. 이번에는 키움증권 OpenAPI를 활용하여 4종목의 1분봉 데이터를 받 springcoming.tistory.com 이번 글에서는 파이썬을 이용하여 삼성전자(005930)의 1분봉 데이터 900개를 다운받아 엑셀에 저장해 보자. ※ 아래에서는 영웅문에 직접 접속하여 다운..

(주식 자동 매매) 키움증권 OpenAPI - 미체결 주문내역 가져와서 주문취소하기 (2) (opt10075 + SendOrder)

1. 들어가며 지난 글에서는 OpenAPI를 활용하여 미체결 TR요청(opt10075)를 알아보았다. 받아온 데이터는 문자형이었고, 주문번호 앞에는 0이 붙어있었다. 맨 앞의 0은 int를 붙여서, 정수화 시키는 작업이 필요하다. 이번 글에서는 opt10075를 통해 받아온 주문번호를 통해 기 제출한 매도주문의 취소를 파이썬을 통해 실행하는 내용과 매도취소가 제대로 진행되었는지 확인하는 내용(미체결 주문 취소가 되었는지)을 알아보자. 키움증권 영웅문에서 매도주문을 직접 제출/체결되었다. (매도 주문번호가 생성됨) 파이썬에서 opt10075 함수를 실행하여 매도 주문번호를 알아낼 것이고 파이썬을 통해 SendOrder 매도취소를 실행할 것이다. 2. 사전 준비 미체결요청(opt10075)와 매도취소(Sen..

(주식 자동 매매) 키움증권 OpenAPI - 미체결 주문을 SendOrder 함수로 취소하기 (3) 주문번호와 원주문번호 구분 필요

1. 들어가며 지난 글에서는 키움증권 OpenAPI의 SendOrder 함수를 이용하여 미체결 주문을 취소했다. 이번 글에서는 이미 제출한 주문에 대한 취소주문에 적용되는 번호가 "주문번호"인지 "원주문번호"인지 구분을 할 것이다. 구분이 필요한 이유는, 필자도 지금껏 취소할 때 들어가는 주문번호는 "원주문번호"라고 착각했기 때문인다. → 실제 취소할 때, 필요한 번호는 매도주문 당시 부여받은 "주문번호"이다. 위 착각을 일으키는 결정적인 이유는, 안타깝게도 Koa Studio와 개발가이드에 혼동 소지가 있는 내용을 기재하였기 때문이다. 2. 검토 배경 지난번에도 설명했지만, SendOrder함수의 9개 변수 중 3개는 제대로 넣어주어야 한다. * 3개 : 주문유형(1매수, 2매도, 4매도취소 등), 종..

(주식 자동 매매) 키움증권 OpenAPI - 미체결 주문을 SendOrder 함수로 취소하기 (2) 취소주문 테스트

1. 들어가며 지난 글에서는 삼성전자의 매도주문에 대해 취소하는 내용을 알아보았다. 이미 제출된 매도주문(원주문 번호)을 취소하기 위해서는, OpenAPI에서 제공하는 SendOrder함수를 이용하여야 한다. 9개 변수를 넣어 주어야 함수가 실행된다. 이번 글에서는 매도주문을 취소하기 위해, SendOrder함수의 9개 변수를 어떻게 넣어주어야 하는지 테스트한 결과를 설명하고자 한다. 2. 사전 준비 매도주문은 OpenAPI를 통해 접수하지 않고, 직접 매도 주문 버튼을 클릭했다. 필자가 알고 싶었던 것은 SendOrder함수의 9개 변수를 어떻게 넣어주어야 하는지, 그 구성내역을 알고 싶었기 때문이다. 아래 처럼, 매도주문을 제출(f12)하면, 주문번호(94082)이 생성된다. ※ 주문번호는 시간에 따..

(주식 자동 매매) 키움증권 OpenAPI - 미체결 주문을 SendOrder 함수로 취소하기 (1) 취소 방법

1. 들어가며 지난 글에서는 SendOrder 함수를 이용하여 매수/매도 주문을 설명하였다. 키움증권 OpenAPI에서 매수/매도/매수취소/매도취소는 SendOrder 함수로 모두 해결이 된다. 이번 글에서는 지난 글에서 설명하지 못했던 미체결 매도주문에 대해 취소하는 방법에 대해 알아보겠다. 2. 사전준비 KOA StudioSA에 대한 내용은 아래 링크한 곳을 참고하면 되겠다 이미 매수한 주식에 대한 장 시간이 짧은 관계로 매도주문은 직접 입력하였다. https://springcoming.tistory.com/31?category=1048804 (주식 자동 매매) 키움증권 OpenAPI - SendOrder함수를 이용하여 매수/매도하기 1. 들어가며 이번 시간에는 키움증권 OpenAPI를 활용하여, 주..

(주식 자동 매매) 키움증권 OpenAPI - 1분봉 데이터 실시간 받기(opt10080)

1. 들어가며 지난 시간에는 키움증권 OpenAPI를 통해 이미 매수하여 계좌에 보유중인 4종목의 매수가격과 매수량을 출력해 보았다. 이번에는 키움증권 OpenAPI를 활용하여 4종목의 1분봉 데이터를 받아보자. 구현할 코드는 아래와 같다. 1분마다 1분봉을 키움서버에서 받아온다. (이 글에서는 10초마다 반복하여 받아온다) 받아온 1분봉을 데이터프레임에 담아 출력한다. 데이터프레임에 들어간 1분봉을 엑셀에 보내서 계속 저장한다. 핵심은 1분봉을 엑셀에 저장하는 것이다. 1분봉의 패턴을 파악하여 진입/청산 시점을 알고 싶기 때문이다. 2. 사전준비 KOA StudioSA에 접속/로그인하면, 아래와 같이 TR요청번호와 입력해주어야 하는 정보를 확인할 수 있다. ① KOA StudioSA의 TR목록 탭을 클..

(주식 자동 매매) 키움증권 OpenAPI - SendOrder함수를 이용하여 매수/매도하기

1. 들어가며 이번 시간에는 키움증권 OpenAPI를 활용하여, 주식의 매수/매도하는 방법을 알아보고자 한다. "매수는 기술이지만, 매도는 예술이다" 라는 주식 명언이 있듯이 주식 자동매매로 수익을 내려면 매수/매도하는 방법을 파이썬에서 구현할 수 있어야 한다. 급하게 코드를 작성해서 매수/매도를 위해 오류없이 코드 작성하는게 생각보다 시간이 많이 걸렸고, 장 종료시간(18:00)은 다가오고... 캡쳐를 제대로 찍지 못한 점에 대해, 미리 양해의 말씀을 드린다. 이 글에서는 매매를 위한 함수인 SendOrder을 통해 주식의 매수/매도의 과정을 설명하고 카카오(035720) 매수와 신일전자(002700) 매수/매도의 과정을 알아볼 것이다. 2. 사전 준비 1) SendOrder 함수 검색 및 실행방법 찾..

728x90
반응형