개발의뢰2018. 1. 8. 13:00

 

 

모처럼의 비소식에 낚시를 가지 않은 상황인데 때 맞춰 무상 개발의뢰가 들어와서 아침에 간단히 작업 해보았고 그 결과를 올려 봅니다.

 

 

최신식의 증권사 API만 다루다가 구식의 빗썸 API를 다루려니 그리 재미는 없군요.

 

 

 

▲ 프로그램 실행시 최초 실행 화면입니다.

 

▲ API Key와 API Secret 은 빗썸에 회원 가입하고 API 사용 신청만 하면 누구나 발급 받을 수 있습니다.

 

▲ API Key와 API Secret 은 직접 입력하면 됩니다.

 

 

▲ API Key와 API Secret 을 매번 입력하기 번거로운 경우에는 각각 텍스트 파일로 저장 해두면 프로그램 실행시 자동으로 텍스트 파일에 저장되어 있는 API Key와 API Secret 값을 읽어 옵니다.

 

▲ API Key와 API Secret 은 중요한 개인 정보이므로 보안에 취약한 공공 컴퓨터 등에서는 절대 텍스트 파일에 저장하지 말고 수동 입력하는 것이 좋습니다.

 

 

 

▲ 실시간 체결 데이터를 수신 받을 종목을 선택할 수 있는데 빗썸에 상장되어 있는 전 종목(대시, 라이트코인, 리플, 모네로, 비트코인, 비트코인 골드, 비트코인 캐시, 이더리움, 이더리움 클래식, 이오스, 제트캐시, 퀀텀)중 선택할 수 있습니다.

 

 

 

▲ 실시간 체결 데이터를 수신 받을 종목으로 비트코인을 선택 해봤습니다.

 

▲ 우측의 START 버튼을 클릭 해보겠습니다.

 

 

 

▲ API Key, API Secret 은 필자의 개인 정보이므로 지웠습니다.

 

▲ 수신 데이터 갯수 항목의 카운터의 숫자가 바뀌었는데 해당 숫자 만큼의 데이터를 받고 있다는 뜻입니다.

 

▲ 수신 데이터 저장 경로는 기본적으로 C 드라이브에 Bithumb 라는 디렉터리를 만들고 "Recent_Transactions_" 라는 head name 이 붙게 되며 이후 yyyyMMdd 형식의 년월일 정보가 붙고 마지막의 "BTC"는 비트코인의 종목코드 약어(줄임말)를 붙이게 되며 데이터는 해당 텍스트 파일에 저장됩니다.

 

 

 

▲ 프로그램 실행시 자동으로 C 드라이브에 Bithumb 라는 디렉터리를 생성하는 모습입니다.

 

 

 

▲ C 드라이브의 Bithumb 폴더를 보면 수신받고 있는 데이터 파일이 보이고 프로그램의 구동 장면도 볼 수 있습니다.

 

▲ 해당 파일에 데이터가 잘 저장되고 있는지 확인 해보겠습니다.

 

 

 

▲ 이런 형식으로 저장되고 아주 잘 저장되고 있습니다.

 

▲ 저장된 파일로는 데이터베이스(Database)에 저장하여도 되고 프로그램에서 불러와서 후처리를 해도 되며 본 프로그램의 개발 의뢰를 하신 회원님은 CSV 파일 형태로 엑셀에서 분석을 목적으로 하고 계시다고 하니 각자 용도에 맞게 사용하면 될 것 같습니다.

 

 

프로그램을 만든김에 추가 테스트를 진행하고 개발 의뢰한 독자분께서도 동의 하셨으므로 공개 배포 예정이니 참고 하세요.

 

 

'개발의뢰' 카테고리의 다른 글

뉴스 필터링 프로그램 안내  (8) 2017.11.09
개발의뢰 카테고리입니다.  (17) 2017.10.23
Posted by 투자의神
증권사 API2018. 1. 8. 00:30

 

 

@.

선물의 증거금액은 코스피200의 전일 종가 * 250,000원 * 증거금율에 따라 매일 변동 됩니다.

 

 

이 공식은 코스피200 지수선물의 거래를 중개하는 모든 증권사에 공통으로 적용되는 부분이기도하고요.

 

 

거래를 하다보면 주간장에서 포지션을 보유한채로 오버나잇하여 당일 야간장에서 거래를 하거나 익일 거래를 하는 경우가 발생할 수 있는데요.

 

 

만약 야간장(CME) 거래가 가능하게 설정되어 있는 상태라면 야간장의 증거금은 당일 주간장 코스피200 종가를 기준으로 17시에 다시 계산되어 반영됩니다.

 

 

증거금이 여유롭지 못하거나 야간장에 급격한 가격 변화가 발생하면 경우에 따라 반대매매가 발생할 수 있으므로 이 부분을 인지하고 매매해야 합니다.

 

 

@.

각 투자자별 매매 동향 데이터를 내려주는 Real TR중 BM_이나 조회 TR인 BMT의 경우에 코스피200지수선물, 코스피200지수옵션 콜옵션, 코스피200지수옵션 풋옵션, 코스피, 코스닥의 거래금액만 합산되고 코스닥150지수선물과 코스피200지수 미니선물, 코스피200지수 미니옵션의 거래대금은 반영되지 않습니다.

 

 

@.

BMT는 30초 지연 데이터를 조회 할 수 있으며 BM_은 실시간의 데이터를 수신 받을 수 있습니다.

 

 

@.

BM_의 OutBlock tjjcode 는 아래와 같습니다.

 

0000 사모펀드

 

0001 금융투자

 

0002 보험

 

0003 투신

 

0004 은행

 

0005 종금

 

0006 기금

 

0007 기타법인

 

0008 개인

 

0009 등록외국인

 

0010 미등록외국인

 

0011 국가

 

0017 외국인합계

 

0018 기관합계

 

 

@.

선물은 주식이나 옵션과 달리 약정 체결 금액과 증거금액이 다른데요.

 

 

약정 체결 금액은, 코스피200 전일종가 * 250,000원 이고

 

증거금액은, 코스피200 전일종가 * 250,000원 * 증거금율입니다.

 

 

BM_이나 BMT로 수신되는 값중 선물의 경우 약정대금 기준인지 증거금액 기준인지 증권사도 그 내용은 알지 못하며 단지 코스콤에서 데이터를 내려주면 그대로 API 사용자에게 전달 해 줄 뿐입니다.

 

 

관련 데이터를 기반으로 매매 로직을 정립하였다면 확인이 필요한 부분입니다.

 

 

@.

API를 이용하여 거래를 할 때 프로그램이 정상적인 각 장 구분을 인지 할 수 있어야 합니다.

 

장 구분은, 장전 시간외 / 장전 주식 동시호가 개시 / 장전 선물 동시호가 개시 / 장전 옵션 동시호가 개시 / 장전 ELW 동시호가 개시 / 장중 / 장마감 동시호가 / 장마감 / 주식 시간외 동시호가 개시 / 주식 시간외 체결 개시 / 주식 시간외 단일가 개시 / 주식 시간외 단일가 마감 / CME 동시호가 개시 / CME 개장 / CME 장마감 / EUREX 동시호가 개시 / EUREX 개장 / EUREX 장마감 등을 뜻합니다.

 

 

대부분의 경우에는 이러한 장 구분 인자값을 수신할 수 있지만 CME, EUREX의 관한 장 구분 인자값은 별도로 제공하고 있지 않고 섬머타임 시행 여부에 따라 폐장 시각이 1시간 당겨지거나 늦춰질 수 있는 점 때문에 API를 이용해 처리할 때는 여유있는 시각값을 입력하여 데이터 처리 및 주문 등에 오류가 없도록 하여야 합니다.

 

 

Posted by 투자의神