본문 바로가기

분류 전체보기

(38)
증권사 API 자동매매 #003 - 시세(틱 데이터 tick data) 집착 [이전 글] 2021/01/23 - [Algorithmic Trading] - 증권사 API 를 사용한 자동매매 프로그램 만들기 #002 [그리고 계속] 많은 분들이 자동매매를 하고 싶어 합니다. 그러면, 자동매매를 위해 필요한 것이 뭘까요? 저도 한때 거래소 시세 tick data 는 엄청나게 중요한 자산이라 생각해서 모았던 적이 있습니다. 지금도 꽤 있어요. 이왕 모은 거, 버리지는 못하죠. 분석할 데이터량이 방대해지면, 당신은 그걸 빠른 시간 안에 다 분석할 수 있으실까요? 젊음은 다 가고, 나이는 점점 들어가고, 수익은 언제 낼 건가요. 주식시장에서 수익을 내는 전략이 있긴 한 건가요? 이제부터 찾으실 건가요? 과거 시세에 답이 있을까요? 방대하게 모은 시세와 현재 주식시장의 시세는 동일한 패턴을..
증권사 API 를 사용한 자동매매 프로그램 만들기 #002 증권사 API 를 사용해서 자동매매를 돌릴 때, 갖추어야 할 가장 중요한 세 가지를 꼽자면? 1. 예외상황 처리를 위한 긴급 알람 2. 예외상황 처리를 위한 긴급 알람 3. 예외상황 처리를 위한 긴급 알람 그렇죠. 그 다음엔 뭐가 필요하죠? 4. 긴급조치를 위한 긴급명령 그렇죠. 위와 같이 텔레그램 봇을 만들어두면, 자동매매 프로그램이 잘 돌고 있는지 감시할 수 있고 긴급상황에 청산주문 등등을 실행할 수 있게 됩니다. 텔레그램 봇은 양방향 통신이 가능하기 때문입니다. 조금 더 발전시킨다면, 급등주 발굴이나 특정 조건에 맞는 종목이 튀어나올 때 텔레그램으로 알려줄 수도 있겠네요. 물론 매수하라고 텔레그램으로 응답을 하면, 매수까지 가능하면 더 좋겠죠? 게다가 손절과 추가매수 기능까지 사전에 반자동 전략을 ..
키움증권 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개를 기본으로 담고 있습니다. 마찬가지로 문자열 리스트를 만들어두고요. 결과는 위와 같습니다. 스크롤을 일일이 다 내릴 필요는 없을 것 같아요. 중간에 데이터가 나오지 않는..