본문 바로가기

OpenAPIs For Trading

(19)
키움증권 OpenAPI - (018) 주식시장 개장시각은 어떻게 판단할까? [이전 글] 2021/01/23 - [OpenAPIs For Trading] - 키움증권 OpenAPI - (017) 장중 주문테스트 결과 #001 [그리고 계속] 그러면, 이제 자동매매를 어떻게 자동으로 할 것인지, 그 시나리오를 세워야 하는데 말이죠. 장 시작은 어떻게 판단해야 하죠? 윈도우 운영체제 컴퓨터에서 동작시킨다고 하면, 컴퓨터의 시각을 기준으로 오전 9시로 맞추면 될까요? 컴퓨터의 시각이 틀어져 있으면 어떡하죠? 그런 경우는 굉장히 많습니다. 매번 맞출 수가 없잖아요. ... ... ... 위와 같이 실시간 시세 등록을 해 두면, "장시작시간"을 알려줍니다. 오전 8시 59분까지는 1분 단위로, 오전 8시 59분부터는 10초 단위로 알려주네요. 그러면, 프로그램에서 이런 정보를 참조해서 주..
텔레그램봇 UI #001. 자동매매 프로그램에 묻는다. 넌 누구냐? [관련 글] 2021/01/23 - [Algorithmic Trading] - 증권사 API 를 사용한 자동매매 프로그램 만들기 #002 [그리고 계속] 자동매매가 이루어지는 시간에 항상 컴퓨터 앞에 있을 수는 없습니다. 그래서, 현재 매매현황 보고 및 계좌 조회, 시세 조회 등등을 텔레그램 봇을 사용해서 하기 위해 위와 같이 만들어 보았습니다. 프로그램이 잘 돌고 있는지 확인하는 명령을 시작으로, 현재 TR 조회가 잘 되는지, 매매명령은 잘 먹는지 등등을 테스트해봐야 됩니다. 나중에 실제로는 바쁠테니까 숫자로 명령을 선택할 수도 있게 메뉴처럼 만들어야겠죠. 그리고 나면, 실제로 자동매매를 돌릴 때 위험관리에 좀 더 도움이 될 것입니다.
키움증권 OpenAPI - (017) 장중 주문테스트 결과 #001 [이전 글] 2021/01/22 - [OpenAPIs For Trading] - 키움증권 OpenAPI - (016) 이후 몇 가지를 생략해볼까요? [그리고 계속] 앞서 예고 드린대로, 이제는 실제 주문과 관련된 작업들을 진행해봅니다. 추가가 필요한 TR 이 있으면 그때그때 추가하면서 가도록 하지요. 일단, 신규주문 버튼을 만들어서 실행해보니, 역시 장중이 아닐 땐 위와 같은 에러 메시지가 나옵니다. 그래서, 오늘 장중에 프로그램을 실행해 보았습니다. 일단 특정종목을 거래하려면, 해당종목의 실시간 체결가격(현재가)을 알아야겠지요? 이를 위해서는 SetRealReg 이라는 함수를 사용합니다. 예제로 알아보기 쉽게 쓰면, ======================================= axKHOpen..
키움증권 OpenAPI - (016) 이후 몇 가지를 생략해볼까요? [이전 글] 2021/01/21 - [OpenAPIs For Trading] - 키움증권 OpenAPI - (015) TR = opt10010, 프로그램매매가 뭐냐고 매번 질문을 받게 됩니다. [그리고 계속] TR = opt10011 은 신주인수권전체시세 입니다. 보통 신주인수권은 워런트(warrant)라고도 부르고, 처음 주식공부할 때 만나는 "CB, BW 붙은 놈들은 조심해라" 와 같은 격언에서 BW 에 숨어 있는 녀석입니다. BW 는 Bond with Warrant 라고도 하는데, 신주인수권부 사채(신주인수권이 붙어있는 채권)라고도 하지요. 예전에는 가끔씩 증권사 창구에서 BW 를 매도하는 분들 중에 Warrant 붙어 있는 걸 모르고 매도를 하는 경우가 종종 있었다고 합니다. 아무튼, 그런 것이니..
키움증권 OpenAPI - (015) TR = opt10010, 프로그램매매가 뭐냐고 매번 질문을 받게 됩니다. [이전 글] 2021/01/21 - [OpenAPIs For Trading] - 키움증권 OpenAPI - (014) TR = opt10009, 주식기관 [그리고 계속] "니가 하는 게 프로그램매매라고 보이는 저거냐?" "너 같은 사람들이 하는 게 프로그램매매로 보이는 저 값이냐?" ...... ...... "아니요" ...... ...... TR = opt10010, "업종프로그램" 이라는데, 입력값이 "종목코드" 하나네요. 뭥미...... 아무튼 '프로그램매매'에 관한 정보를 주나 봅니다. '프로그램매매' 라는 용어는 아주 오래전부터 나온 것으로, 비교적 그것보다 최신에 등장한 '자동매매'와는 좀 많이 다릅니다. 딴소리이긴 한데 약간 옛날분들은 자동매매 보다는 "시스템트레이딩"이라는 말을 정말 좋아합..
키움증권 OpenAPI - (014) TR = opt10009, 주식기관 [이전 글] 2021/01/20 - [OpenAPIs For Trading] - 키움증권 OpenAPI - (013) TR = opt10008, 외국인 눈치보기? [그리고 계속] TR 의 내역이 생각보다 많아지면서, 저는 엑셀 시트를 만들어야 한다는 생각이 들었습니다. 뭐 이런 식으로 정리를 해야 나중에 TR 들을 조합해서 개발할 때 키워드 검색을 하기에도 좋을 것 같습니다. 계속 이어가기로 하죠. 글을 쓰다 보니 TR 을 하나씩 열어보면서 실제로 자동매매 경험에 대한 이야기도 하게 되네요. 아마 계속 읽어보시면, 파편화된 자동매매 경험에 대한 정보들을 보실 수 있을 겁니다. TR = opt10009 는 '주식기관'이라고 합니다. 아 근데 들어있는 정보의 내용이 이게 뭐죠? "기관기간누적", "기관일변순..
키움증권 OpenAPI - (013) TR = opt10008, 외국인 눈치보기? [이전 글] 2021/01/19 - [OpenAPIs For Trading] - 키움증권 OpenAPI - (012) TR = opt10007, 너의 이름은? [그리고 계속] TR = opt10008 은 "주식외국인"으로 해당 종목의 외국인 보유비율 및 그 변동에 대한 내용을 담고 있습니다. 심지어 한 번 TR 요청에 연속데이터로 100일치를 줍니다. 미쳤따리...... 이렇게나 외국인들 눈치를 보면서 매매를 할 일인가요?...... 나 같아도 검은 머리 외국인으로 조작하겠다...... 외국인 보유에 관한 항목들은 다음과 같습니다. 일자, 종가, 전일대비(종가-가격), 거래량, 변동수량, 보유주식수, 비중, 취득가능주식수, 외국인한도, 한도증감, 한도소진률 대개 국가가 지정한 기간산업이나 주요 산업들은 ..
키움증권 OpenAPI - (012) TR = opt10007, 너의 이름은? [이전 글] 2021/01/19 - [OpenAPIs For Trading] - 키움증권 OpenAPI - (011) TR = opt10006, 주식시분 [그리고 계속] TR = opt10007 의 이름은 '시세표성정보'입니다...... 잉? 시세표성이 뭐죠? LP 관련 정보가 붙어 있는 걸로 봐선, '시세조성'이 맞지 않을까 생각합니다. 보통 LP 는 Liquidity Provider 의 약자로 '유동성 공급자' 또는 '시장 조성자'로 불리기도 합니다. 그런 측면에서 보자면 LP매도호가 LP매수호가 정보가 있으니 '시세조성' 정보로 볼 수 있지 않을까요? 물론 데이터를 수신하려면 '시세표성'으로 작성해야 데이터가 잘 들어옵니다...... 그런데, 장중에 요청한 TR 정보인데도 '삼성전자' 종목코드로 요..
키움증권 OpenAPI - (011) TR = opt10006, 주식시분 [이전 글] 2021/01/19 - [OpenAPIs For Trading] - 키움증권 OpenAPI - (010) TR = opt10005, 주식일주월시분 [그리고 계속] 아무리 봐도, TR = opt10006 은 opt10005 의 축약판 같습니다. 위의 그림을 보시면, opt10005 에서 정의된 앞 순서 10개를 opt10006 에서 그대로 가져왔습니다. 실제 내용도 '연속데이터' 같은 거 없이 그냥 줄줄줄 들어오네요. 마지막의 1 은 연속데이터가 없이 그냥 1 개의 데이터 뭉치로 끝난다는 의미 입니다. 저런 시고저종, 등락률, 거래대금 정도로 만들 수 있는 건 캔들차트가 유일하겠죠. 단위 시각이 문제겠지만.
키움증권 OpenAPI - (010) TR = opt10005, 주식일주월시분 [이전 글] 2021/01/18 - [OpenAPIs For Trading] - 키움증권 OpenAPI - (009) TR = opt10004, 주식호가 [그리고 계속] TR = opt10005 의 명칭은 주식일주월시분 입니다. 오잉? 뭐 캔들차트 만들 때 쓰는 건가? 싶어서 받아봤는데, 뭐 딱히 그렇게 느껴지지도 않고요...... 음 이건 이전에 2021/01/18 - [OpenAPIs For Trading] - 키움증권 OpenAPI - (008) TR = opt10003 은 좀 다르네요? 여기에서 언급한 것처럼 '연속데이터' 30개를 기본으로 담고 있습니다. 마찬가지로 문자열 리스트를 만들어두고요. 결과는 위와 같습니다. 스크롤을 일일이 다 내릴 필요는 없을 것 같아요. 중간에 데이터가 나오지 않는..