인코딩의 Decoding

728x90
반응형

증권 API를 이용한 증권 정보 조회 웹사이트를 구축하기 위해 다음을 준비했었습니다.

 

  1. 파이썬 다운로드(Anaconda 다운로드)
  2. Azure 가입 및 클라우드 서비스 구독(간단한 기능은 1년 무료)
  3. 크레온 다운로드 및 가입

이번 글에서는 파이썬에서 증권 API를 연동해보는 연습을 해보겠습니다. ( 파이썬에서 증권 API를 사용하여 종목코드를 구해보겠습니다.

 

증권API ( Creon)과 파이썬 연동해보기

1. 크레온PLUS '관리자 권한'으로 실행 및 로그인

'관리자 권한'으로 실행 후 로그인

2. Anaconda(python) Powershell '관리자 권한'으로 실행 ( 32bit Anaconda 사용 )

python을 사용하기 위해 다운 받은 Anaconda의 Powershell을 '관리자 권한'으로 실행

3. Powershell에서 win32com 설치 ( win32com은 pywin32라고도 하며 python에서 ActiveX를 사용하게 해준다.)

다음과 같이 입력해줍니다.

conda install pywin32 ( win32com 설치를 의미 )

conda install pywin32를 입력하고 하단에 Proceed(y/n)?이 출력되면 y를 입력

4. python으로 Creon을 연동하기 위하여 jupyter notebook 실행

다음과 같이 입력해줍니다.

jupyter notebook ( jupyter notebook 실행을 의미)

만약 Anaconda 패키지가 아니라 일반 python이라면 pip install jupyter로 jupyter를 먼저 설치

jupyter - data science를 할때도 사용하지만 간단한 python 소스를 확인할때도 유용한 오픈 소스 툴

5. jupyter notebook에서 새로운 python 노트 열기

jupyter notebook을 입력하면 다음과 같은 창이 뜨는데 우측 상단에 New 버튼을 클릭하여 python 노트를 연다.

New 클릭 후 하단으로 내려오는 메뉴 중 python 클릭

6. 새로 만든 노트에서 다음과 같이 아래 코드를 입력하고 Run 버튼을 눌려줍니다.

소스 출처 - 크레온 PLUS 자료실 ( https://www.creontrade.com/ )

import win32com.client
 
 
# 연결 여부 체크
objCpCybos = win32com.client.Dispatch("CpUtil.CpCybos")
bConnect = objCpCybos.IsConnect
if (bConnect == 0):
    print("PLUS가 정상적으로 연결되지 않음. ")
    exit()
 
# 종목코드 리스트 구하기
objCpCodeMgr = win32com.client.Dispatch("CpUtil.CpCodeMgr")
codeList = objCpCodeMgr.GetStockListByMarket(1) #거래소
codeList2 = objCpCodeMgr.GetStockListByMarket(2) #코스닥
 
 
print("거래소 종목코드", len(codeList))
for i, code in enumerate(codeList):
    secondCode = objCpCodeMgr.GetStockSectionKind(code)
    name = objCpCodeMgr.CodeToName(code)
    stdPrice = objCpCodeMgr.GetStockStdPrice(code)
    print(i, code, secondCode, stdPrice, name)
 
print("코스닥 종목코드", len(codeList2))
for i, code in enumerate(codeList2):
    secondCode = objCpCodeMgr.GetStockSectionKind(code)
    name = objCpCodeMgr.CodeToName(code)
    stdPrice = objCpCodeMgr.GetStockStdPrice(code)
    print(i, code, secondCode, stdPrice, name)
 
print("거래소 + 코스닥 종목코드 ",len(codeList) + len(codeList2))

상단에 있는 코드를 입력하고 Run 버튼 클릭

7. 결과 확인 하기 ( 다음과 같이 나오면 연결이 잘 된 상태입니다! )

연결이 잘 되있지 않다면 'PLUS가 정상적으로 연결되지 않음.' 이라는 문구가 표시됩니다.

연결이 잘 되면 'PLUS가 정상적으로 연결되지 않았습니다.' 라는 문구가 나타나지 않습니다.

 

+

 

연결이 잘 되지 않는 경우 체크 해봐야 할것

 

1. Creon Plus와 Powershell을 '관리자 권한'으로 실행했는지 확인

2. 모니터 화면 오른쪽 하단에 트레이를 클릭해보면 'Dibserver'라는 항목이 있는데 잘 연결되어 있는지 확인

3. Anaconda(python)가 32bit인지 확인

 

++

 

이전 글 참고

 

- Anaconda(python) 다운로드

2020/03/08 - [투자/투자&개발] - [투자 웹사이트 구축] 1. Anaconda(python/R data) 설치

- Azure(MS 클라우드) 가입 및 구독하기

2020/03/08 - [투자/투자&개발] - [투자 웹사이트 구축] 2. Azure 구독 (MS 클라우드 컴퓨팅)

- 크레온 가입하기 ( 대신증권 API )

2020/03/08 - [투자/투자&개발] - [투자 웹사이트 구축] 3. 크레온 가입하기(증권 API)

반응형

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band