AI를 활용한 재밌는 것들을 개발합니다

2019년 12월 16일 월요일

[퀀트자동매매] 개발 2. C#으로 키움증권 Open API 연결해 자동매매프로그램 만들기

먼저 키움증권에 비대면 증권 계좌는 개인적으로 만들어야 한다. 나는 카카오페이 이벤트 페이지 통해서 비대면 계좌개설 했는데 월 100만원만 거래하면 5만원인가 입금을 받았다.

암튼 키움증권 홈페이지에 가보면 아래와 같이 웹사이트 하단 쪽에 Open API 가 있다. 클릭해보자.



아래와 같은 화면에서 설명해주는 대로 절차에 따라 신청하면 된다.


신청이 다 완료됐으면... 이제 C#으로 어떻게 개발하지? 라고 맨땅에 헤딩 할 생각은 접으시라. 다행이 C#으로 구현한 샘플 코드가 있다! 땡큐!


자료실 탭에 가보면 11번 글에 C# 샘플코드가 있다. 다운 받아서 실행 시켜보자.


아래와 같은 기본적인 기능 들이 구현되어 있는 샘플 프로그램이라고 설명되어 있다. 

[기본기능] 로그인 / 로그아웃 / 접속상태 / 계좌조회 

[조회기능] 현재가 / 일봉데이터

[주문기능] 주문

[추가기능] 조건검색 / 실시간 등록 / 해제 / 자동주문

난 이 소스코드를 기본으로 해서 내가 구현하고자 한 기능들을 하나씩 구현해 나갔다. 어떻게 개발했는지 하나하나 설명해 드리고 싶지만... 너무 방대해서 어떻게 설명을 드려야 할지 모르겠다. 사실 어떻게 개발했는지 기억도 안난... 일단 옛날에 개발했던 상태의 프로그램은 아래와 같다.


추가된 기능은 아래와 같다.
- 내 계좌평가현황 불러오기
- 목표수익률 설정 / 자동 매도(손절포함)
- 매수 종목 설정시 자동 매수
- 주문 취소 기능

지금 보니 정말 기본 기능만 구현되어 있구만... 흠... 하지만 이 프로그램 개발 할 당시 자동 매수를 딥러닝 LSTM 모델을 사용해 구현했었다. 다음날 상승이라고 예측을 하면 전날 3시에 자동 매수 하게 설정해 놓았는데.... 수익이 나지 않았다 ㅎㅎㅎㅎㅎ 그래서 그냥 손놓고 처박아 놓았던 프로그램... 뜨거운 여름 2개월정도 이 프로그램에 매달렸었던거 같다. LSTM 학습을 CPU로 시키고... 너무 오래 걸려서 딥러닝 전용 서버를 살까 고민도 많이 했던... 그때 안사길 잘했지...

이제 이 프로그램을 기본으로 해서 R.NET을 이용해 R engine을 연결해 퀀트 전략 결과를 연산하고 결과를 받아오는 것을 구현할 것이다. 

다음 글에서....

*방구석지니와 자동매매가 궁금하신 분은 아래 강좌를 수강하시면 무료로 방구석지니를 제공해 드립니다.

https://cafe.naver.com/conerquant/336

댓글 없음:

댓글 쓰기

가장 많이 본 글