[일상] 이베스트 API

이베스트 증권 API를 이용하면 주식 매매도 자동으로 가능합니다. 이제 어느 정도 마무리가 되어서 기본 로직을 돌리고 있는데, 큰 문제는 없는 것 같습니다.

이베스트 증권 API는 다양한 기능을 제공하는데요. 일단 로그인, 잔고확인, 주문 내역을 확인할 수 있는 부분을 간단하게 만들어보았습니다.

저 같이 증권사 API를 이용하여 매매를 하고 싶으신 분들은 참고하시기 바랍니다.

우선 이베스트 API를 사용하기 위해서 설치하여야 할 것들이 좀 많습니다. 이 과정은 아래 글에 정리해 놓았습니다.

https://money-expert.tistory.com/4

이베스트에서는 demo용 계좌도 제공하기 때문에 실계좌로 거래하지 않고도 원하는 모든 일들을 해 볼 수 있는 장점이 있습니다. 비대면으로 계좌를 열 수도 있기 때문에 참 편하더군요.

필요한 모듈 설치가 완료되고, 이베스트 계좌를 열었다면 거래가 가능합니다.

이베스트 API는 com 방식으로 데이터를 받을 수 있는데요. 이게 32비트에서 구동하는 모듈이라 실행하기 위해서는 절차가 필요합니다. 위 글에서 소개한 anaconda32 를 설치하여야 하는데요.

그 후 아래 명령어를 이용하여 conda32 환경에서 프로그램을 실행시켜야 합니다.

C:/my/conda32/Scripts/activate
conda activate base

파이썬으로 만든 소스코드는 아래 github 사이트에 있습니다. https://github.com/multizone-quant/xing-api/blob/master/xing_sample.py


간단하게 사용법을 설명드립니다.

xing api에서 잔고를 요청하는 TR 코드는 T0424입니다.

T0424를 처리하는 함수 get_balance(ticker)를 만들었습니다.

입력이 'all' 이면 전체 잔고를 특정 코드를 입력하면 해당 종목의 잔고만 돌려줍니다.

xing api에서 주문결과를 알려주는 TR 코드는 T0425입니다.

T0424를 처리하는 함수 order_status_tr(kind='2', code='all', cmd_cont='')를 만들었습니다.

여기에서 인자의 의미는 아래와 같습니다.

kind : 체결 종류

'0' : 모든 주문을 돌려 줌 (취소 포함)

'1' : 체결된 주문만 돌려 줌

'2' : 미체결된 주문만 돌려 줌

code : 원하는 종목 혹은 'all'

cmd_cont : 체결 내용이 100개 이상일 때 사용

프로그램을 실행시킨 후 잔고조회를 누르면 왼쪽에 보이는 형태입니다.

다음에는 주문하는 부분에 대하여 정리하도록 하겠습니다.


Comments
Steemie currently dosen't allow you to make comments. If you want to write something, write it using another frontend (like Steemit)
Click there to view this post on Steemit.com
  • @upvu

    @upvu voted. voting percent : 57.84 %, delegate sp : 8000, token amount : 25000, total sp of upvu : 1112544

  • @sct.krwp

    @tradingideas transfered 8 KRWP to @krwp.burn. voting percent : 29.38%, voting power : 83.67%, steem power : 1826883.26, STU KRW : 1200. @tradingideas staking status : 4000 KRWP @tradingideas limit for KRWP voting service : 12 KRWP (rate : 0.003) What you sent : 8 KRWP [44580890 - b874066d6d0f3d9697c71616e6bd920c71e957a5]