Download presentation
Presentation is loading. Please wait.
Published byJoachim Steensen Modified 6년 전
1
SK증권 API 이용방법 강사: 말과의미(SK증권 방배역지점 정광옥차장) 계좌개설 및 계좌관리, 선물옵션 협의수수료 문의
/ 선물옵션등 파생전문 동호회 ‘파생인의쉼터’
2
SK증권 API 소개 (SK증권 API 전용사이트)
3
SK증권 API 이용 방법 – 초보자 및 테스트주문 이용시
절차 : 1) 계좌개설 - > 2) API 전용사이트에서 등록 - >3) TR/RDS 등록 -> 4) 테스트장비배포파일 등 요청해서 설치 -> 5) 프로그램 작업 -> 5) 테스트서버에서 테스트 완료 -> 6)관리자 및 API 사이트에 실계좌오픈 요청 및 승인 -> 7) 실계좌장비배포파일 설치 -> 8) 실계좌 운영 주식,선물,옵션,ELW 등 계좌개설(가까운 SK증권 아무지점이나 개설, 계좌개설시 계좌관리자를 방배역지점 정광옥차장으로 지정 -> 계좌개설후 관리자에게 연락 / ) (SK증권 API 전용사이트에서 API 사용신청) 아이디와 비밀번호는 SK증권 아이디와 계좌비밀번호 입력, 계좌의 비밀번호는 주문비밀번호 입력 주식과 선물옵션, ELW는 계좌별로 구분해서 신청해야 함. 주식계좌만 개설한 경우 주식관련 API만 이용할 수 있다. 따라서 선물옵션 API를 이용하려면 반드시 선물,옵션 계좌를 개설해야 함. 온라인교육까지 모두 이수하면 API 등록신청은 끝남. 그러나 몇가지 더 필요한 절차가 남았다 API를 이용하려면 테스트장비배포파일을 설치해야 한다. 해당 파일은 API전용사이트 Q&A 게시판에서 신청을 해서 받으면 된다. Q/A 게시판에 글 올리는 방식 – 제목 : 테스트장비배포파일과 설명서, 샘플보내 주세요 / 내용 : 비주얼베이직 또는 VC++ 언어로 프로그램을 하려고 하니, 이에 맞는 테스트장비배포파일과 사용설명서, 샘플 보내주세요. 연락처 , 이메일주소 그러면 답글 또는 메일로 관련 파일을 받게 되고, 일단 이 파일을 설치한다. 보통 본사에서 받는 압축파일은 크게 테스트장비배포파일, 설명서(OCX용, DLL용),해당 언어 예제파일 형태이 담겨있음 프로그램을 만들고나서는 우선 테스트서버에서 정상적으로 프로그램이 작동되는지 테스트해봐야 하는데, 여기서 필요한 것이 바로 TR와 RDS 등록이다. 역시 Q/A게시판에 등록요청한다 TR/RDS 등록요청 방식 – 제목 : ‘TR/RDS 등록요청합니다’ /내용 : TR 몇번, RDS 몇번 등록해주세요 10 ) 테스트서버가 열리는 시간은 API 공식사이트에 공지함(매월 일정이 변경됨) – 테스트서버는 거래소서버를 이용하며, 테스트 참여자끼리만 거래하기에 주문과 조회가 느리거나 안될 수 있다. 따라서 매매기법을 테스트하는 것이 아니라 말그대로 주문/조회 등이 제대로 나가는지만 확인할 수 있다. ** Wapi 사용설명서 : 테스트장비배포파일에 담긴 파일들에 대한 설명과 함께, 각 프로그램 언어에 따른 조회,등록 예제가 담겨 있는 설명서
4
SK증권 API 이용방법 – 중급자 및 실계좌 주문관련
절차 : 1) 계좌개설 - > 2) API 전용사이트에서 등록 - >3) TR/RDS 등록 -> 4) API 사이트에 실계좌 오픈 승인 요청 및 관리자에게 승인 -> 7) 실계좌장비배포파일 설치 -> 8) 실계좌 운영 주식,선물,옵션,ELW 등 계좌개설(가까운 SK증권 아무지점이나 개설, 계좌개설시 계좌관리자를 방배역지점 정광옥차장으로 지정 -> 계좌개설후 관리자에게 연락 / ) (SK증권 API 전용사이트에서 API 사용신청) 아이디와 비밀번호는 SK증권 아이디와 계좌비밀번호 입력, 계좌의 비밀번호는 주문비밀번호 입력 주식과 선물옵션, ELW는 계좌별로 구분해서 신청해야 함. 주식계좌만 개설한 경우 주식관련 API만 이용할 수 있다. 따라서 선물옵션 API를 이용하려면 반드시 선물,옵션 계좌를 개설해야 함. 온라인교육까지 모두 이수하면 API 등록신청은 끝남. 그러나 몇가지 더 필요한 절차가 남았다 TR와 RDS 등록은 역시 API 전용사이트 내 Q/A게시판에 등록요청한다 TR/RDS 등록요청 방식 – 제목 : ‘TR/RDS 등록요청합니다’ /내용 : TR 몇번, RDS 몇번 등록해주세요 ** 설명서나 샘플이 필요한 경우 역시 Q/A 게시판에 요청하면 됨– 제목 : DLL용 Wapi 사용설명서 및 C++샘플보내 주세요 / 내용 : 비주얼베이직 또는 VC++ 언어로 프로그램을 하려고 하니, 이에 맞는 사용설명서, 샘플 보내주세요. 연락처 , 이메일주소 (설명서(OCX용, DLL용) 테스트를 거치지 않고 실계좌주문을 하려면 API 담당자 및 관리자에게 승인을 받아야 하는데, 이 경우 특별회원 분들의 경우 카페에 올려진 프로그램을 이용시에는 바로 승인을 해주며, 타증권사에서 API 거래를 하다가 넘어온 경우는 타증권사에서 이용한 API 자동주문 프로그램을 관리자에게 제출하거나(API 및 프로그램 이해 확인), 매매로직을 뺀 주문/조회만 있는 자동주문 프로그램을 제출해야 함 8) 실계좌사용승인이 끝나고, 실계좌 주문을 하려면 실장비포파일을 설치해야 한다.(wapi 폴더 생성, 테스트서버일 경우 wapi_test 폴더가 생성) 해당 파일은 API전용사이트 Q&A 게시판에서 신청을 해서 받으면 된다. Q/A 게시판에 글 올리는 방식 – 제목 : 실계좌오픈 요청 및 실장비배포파일을 보내 주세요 / 실계좌 오픈 승인 요청 및 실장비배포파일을 주세요. 연락처 , 이메일주소 그러면 메일로 관련 파일을 받게 되고, 일단 이 파일을 설치한다. 실계좌주문의 경우 1주일 정도 관리자가 모니터링을 하게 되어 있음
5
MY PAGE와 Q/A 게시판 이용 방법 http://www. sks. co. kr/wapi/index
MY PAGE와 Q/A 게시판 이용 방법 (SK증권 API 전용사이트) My page - API 등록신청 여부, TR/RDS 등록이 제대로 되었는지 여부, 복수계좌시 계좌 추가 신청 등 Q/A 게시판 – 테스트장비배포파일, 샘플파일, Wapi사용설명서 등 신청 , TR/RDS 등록신청, 실계좌 요청, 기타 궁금한 사항, 프로그램 작성시 의문사항 질문게시판 (비공개로 질문을 올리기 바람)
6
TR과 RDS 개요 TR(transmit-receive) : 데이터나 가격을 과거부터 현재까지 수신할때 주로 사용하는 용도, 한번 TR를 등록조회하면, 그에 상응하는 리턴도 한번 발생. HTS의 화면번호와 같은 기능, 조회화면 2) RDS(Real Data Service?) : 현재부터 앞으로 계속 해당 데이터나 가격을 보내달라고 요청하는 용도, 한번 RDS를 등록하면 계속 해당 데이터가 들어온다. HTS의 화면번호가 같은 기능 예) 9시 10분에 접속하면 9시 10분부터 데이터가 들어오게 됨. 따라서 9시부터 9시 10분까지 과거 데이터를 받으려면 TR로 받고, 이후 9시 10분부터 계속 들어올 데이터는 RDS로 받음 기본적으로 등록해야할 TR – 91001(선물코드수신),91002(선물일봉,분봉등 데이타수신),91005(선물옵션현재가),95001(옵션일봉,분동등데이타호가),95002(옵션종합차트),96016(선물옵션매수/매도/정정/취소),96017(선물옵션잔고),96028(선물옵션미체결),96018(선물옵션주문가능수량),96021(선물옵션주문가능금액), 96027(전체거래내역 기본적으로 등록해야할 RDS – SH2(선물호가), OH2(옵션호가), SC0(선물호가), OC0(옵션호가),XF1(선물옵션체결변화),XF2(선물옵션잔고변화) 이 외에도 추가로 필요한 TR이나 RDS를 Q/A게시판에 등록요청하시면 됩니다. 구분 TR번호 TR명 선물옵션 96016 선물옵션주문: 매수/매도/정정/취소 96017 선물옵션 실시간 잔고 96018 선옵 주문가능수량/금액 조회 96026 실시간 잔고 96027 실시간 체결 96028 선물옵션 실시간 미체결 96036 선물옵션 주문 90001 선물옵션 자산평가 현황(주문가능제외) 90004 선물옵션 자산평가 현황 90005 선물옵션 기간매매손익종합 90007 선물옵션 체결미체결내역 91001 선물코드송신 91002 옵션코드송신 91003 현재가 선물조회 91005 선물옵션현재가호가 92001 선물/옵션주문호가 구분 RDS번호 TR명 선옵 SC0 선물현재가 SM0 선물 미결제 약정 SH0 선물호가 TSG 매매신호 OC0 옵션현재가 SC3 선물체결 OH0 옵션호가 OC3 옵션체결
7
TR/RDS 설명 TR/RDS 신청방법 ( API 강의신청자의 예) API 전용사이트 Q/A 게시판에 신청(아래 참고) 제목 : TR/RDS 등록요청 내용 : TR : 91001,91002,91005, 95001,95002,96016,96017,96028,96018,96021,96027 RDS : SC0, OC0, SH2, OH2, SC2, OC2, XF1,XF2 RDS 설명 현재 파생가2나 W에서의 선물현재가화면은 SH2+SC2 로 보여주는 화면임 S 는 선물, O는 옵션, 각각 용도가 다름(0계열은 차트용, 2계열은 호가창용) 제공되는 TR 및 RDS 목록 확인 : 별첨 자료인 ‘기본제공 TR 및 RDS 리스트’, ‘파생가2나 W에서 제공하는 화면관련 TR 목록’ 4) 각 TR 및 RDS의 구체적인 내용은 테스트장비배포파일을 푼 후 screen 폴더와 system 폴더내 xml 파일로 본다 0(제로)계열 H계열 C2계열 H2 계열 SC0 SH0 SC2 SH2 OC0 OH0 OC2 OH2 체결시 호가변동 차트용 잔량변화시 호가변동, 차트용 현재가 있음 호가창용 호가만 있고 현재가 없음
8
기본제공 TR 및 RDS List 선택 구분 TR번호 TR명 v 선물옵션 96016 선물옵션주문: 매수/매도/정정/취소 96017 선물옵션 실시간 잔고 96018 선옵 주문가능수량/금액 조회 96026 실시간 잔고 96027 실시간 체결 96028 선물옵션 실시간 미체결 96036 선물옵션 주문 90001 선물옵션 자산평가 현황(주문가능제외) 90004 선물옵션 자산평가 현황 90005 선물옵션 기간매매손익종합 90007 선물옵션 체결미체결내역 91001 선물코드송신 91002 옵션코드송신 91003 현재가 선물조회 91005 선물옵션현재가호가 92001 선물/옵션주문호가 일반주식 96002 주식: 매수/매도/정정/취소 96003 현물 주문시 10호가 가격조회 96006 원장 일자별 체결내역 96007 96009 신용: 매수/매도/정정/취소 96010 매수가능수량 96012 실시간 주문천체/체결 96013 실시간 미체결 96014 원장잔고 96015 당일매매손익 □ ELW 60017 ELW 발생정보 60018 ELW 발행원 96037 ELW 정정주문 96038 ELW 매수/매도주문 선택 구분 RDS번호 TR명 v 선물옵션 SC0 선물현재가 SH0 선물호가 OC0 옵션현재가 OH0 옵션호가 XF1 선물옵션 실시간체결통보 XF2 선물옵션 실시간 잔고 OM0 옵션 미결제 약정 선택 구분 RDS TR명 v 선물옵션 SM0 선물 미결제 약정 TSG 매매신호 SC3 선물체결 OC3 옵션체결 주식 XX1 주식 실시간체결통보 □ ELW BEC ELW체결 BEH ELW호가 추가 요청사항(위에 없는 TR/RDS는 관리자와 상의후 Q/A게시판에 요청한다 – HTS 화면번호로 요청 해도 된다 ) No 제목 상세내용 1 Kovix값 변동성지표인 kovix 현재값 2 거래주체별 매매동향 투자자별 시장동향 5201 화면 3 전략주문 HTS 화면번호 2203 전략주문
9
테스트장비배포파일 설명 - ocx등록.bat – wapicommuity.ocx와 wapiconnetmng.ocx 파일을 자동으로 비주얼베이직에 등록해주는 기능, OCX를 이용한 API를 이용하기 위해서 가장 먼저 실행해야 할 파일. dll을 바로 불러서 사용하는 경우엔 ocx 등록이 필요없으나, ocx를 이용할 경우 편리하게 등록해주는 기능(테스트장비배포 파일엔 없기에 이 파일을 root 폴더에 넣어줘야 함) - myinfo.txt – 첨부된 myinfo.txt에서 계좌개설한 계좌와 아이디만 수정해주면 됨(해당계좌와 아이디는 API 등록신청이 되어 있어야 함) 나머지는 동일함 MY_계좌번호 MY_비밀번호 6666 MY_ID HONG (아이디 대문자) MY_PASS 1111 MY_공인인증 1 commvermng.exe 실행시 wapidlltest.exe 파일이 뜨지 않게 하기 위해서는 system폴더의 userinfo.ini 파일을 열어 맨 위 줄 exe=wapidlltest.exe -> 그냥 exe= 로 한다 - 추후 자동주문프로그램을 만들면 exe = xtrade.exe 처럼 해당 프로그램을 넣어주면 버전처리 후 바로 자신이 만든 자동주문 프로그램이 실행된다. API 등록신청 후 Q/A 게시판에 테스트장비배포파일과 샘플,설명서를 보내달라고 하면 오른쪽과 같이 메일로 압축파일을 받게됨 오른쪽예는 개발언어를 비주얼베이직으로 했을경우 본사에서 보내준 압축파일의 내용 압축파일을 보면 아래처럼 ‘테스트장비배포파일’, ‘예제파일’, ‘wapi사용설명서’가 있음. 여기서 중요한 것은 테스트장비배포파일. 이것을 풀면 된다 그리고 나서 가장먼저 ocx등록.bat을 하고, 버전처리(commvermng.exe)를 하고, 비주얼베이직프로그램에서 코드작성 (dll을 바로 이용하는 경우는 OCX 등록 불필요) 테스트배포파일을 풀면, TR 코드는 screen폴더 xml에 있고, RDS 코드는 system 폴더에 있음
10
SK증권 API를 이용한 자동주문 프로그램 흐름도(VB의 예)
11
VB를 이용한 시스템개발의 예 (등불님의 자동주문 프로그램의 예)
전체적인 흐름(압축파일 중 폼 코드 참고 PROC_로그인 Public Function PROC_로그인하기() As Boolean Dim i As Boolean ' 로그인 Dim lResult As Long lResult = WapiConnectMng1.LoginServer() ' 로그인시도 If lResult = 0 Then ' 로그인성공 List1.AddItem "로그인 성공 0(정상)", 0 PROC_로그인하기 = True Exit Function ElseIf lResult = 1 Then ' 로그인실패 MsgBox "1(실패, UserID가 존재 하지 않음)" ElseIf lResult = 2 Then MsgBox "2(실패, Password가 틀렸음)" ElseIf lResult = 3 Then MsgBox "3(실패, Password 5회 실수 로긴 거부)" ElseIf lResult = 4 Then MsgBox "4(실패, 계좌 없는 사용자(비등록자))" ElseIf lResult = 5 Then MsgBox "5(실패, 유효하지 않은 사용자)" ElseIf lResult = 6 Then MsgBox "6(실패, System(DB) Error)" ElseIf lResult = 7 Then MsgBox "7(실패, 공인인증 실패)" ElseIf lResult = 100 Then MsgBox "100(실패, 해당 XML파일이 없음)" Else MsgBox "실패" End If PROC_로그인하기 = False End Function 시작 PROC_내정보읽어오기(코드참고) 기타설정(네트워크,전략,별도) PROC_통신연결(코드참고) PROC_잔고에변동있으면~ PROC_로그인(코드참고) PROC_미체결변동있으면~ PROC_선물코드주세요(코드참고) PROC_옵션가격계속주세요(코드참고) PROC_옵션코드주세요(코드참고) PROC_선물가격계속주세요(코드참고)
12
API 이용과 관련된 주의사항 1) 테스트서버 운영시 테스트서버 운영시간은 매월 변경되니 API 전용사이트에서 확인한다(장운영시간엔 호가와 주문 모두 가능, 장 마감이후엔 주문만 테스트 가능) 2) 주문을 하지 않고, 단순히 차트를 활용하는 경우엔 API 등록을 안해도 무방(별도의 서버에서 가격,시세 데이터 발송하기에 티커만 설치하면 됨, 예)양합차트) 3) 그러나 실계좌에서 주문(자동주문 포함)을 위해서는 반드시 SK증권 API 등록/TR및RDS 등록/실장비배포파일 설치 완료되어야 함 (실계좌주문 승인을 위해서는 실제 API로 실주문이 되어 있는지 여부를 관리자가 판단) 4) 만든 프로그램은 테스트장비배포파일 root에 두는게 좋다 5) 차트의 경우 직접만들기보다 히포차트( pego차트( 다운로드 받아서 쓴다 6) 확장자 OCX(OLE custom contral)란 윈도우에서 응용프로그램이 수행되기 위해 연결되는 프로그램이다. 웹에서는 activeX로 구현. 따라서 ocx를 활용하는 프로그램의 경우 ocx 등록이 제대로 되지 않으면 애러가 발생(OCX 등록이 자동으로 안되면 수동적으로 해줘야 한다. 수동 등록 방법 -> - 예) wapicommunity.ocx -> c:/windows/system32 에 복사해넣고, regsver32 wapicommunity.ocx 명령실행 7) DLL(dynamic link library) 이란 작은 프로그램의 집합체로, 역시 응응프로그램을 실행할때 호출하는 형태로 사용, 주로 C나 C++의 라이브러리와 대응된다. 특별회원분들은 카페에 제공하는 주문/시세/조회 기타 매매로직만 빠진 VB 6.0 버전으로 만들어진 자동주문프로그램을 활용해서 실제 주문을 해보고, 공부를 한다 9) 프로그램 작성이나 테스트 중 잘 안되면 부담없이 본사 담당직원에 원격지원 요청 ( ->성함과 연락처 기재한후 Q/A 게시판에 원격지원요청하거나, 저에게 문의 ** 프로그램이란 껍데기다. 결국 핵심은 전략이다. 전략개발에 많은 시간을 투자해야 한다.
Similar presentations