증권 API를 이용한 증권 정보 조회 웹사이트를 구축하기 위해 다음을 준비했었습니다.
이번 글에서는 파이썬에서 증권 API를 연동해보는 연습을 해보겠습니다. ( 파이썬에서 증권 API를 사용하여 종목코드를 구해보겠습니다.
1. 크레온PLUS '관리자 권한'으로 실행 및 로그인
2. Anaconda(python) Powershell '관리자 권한'으로 실행 ( 32bit Anaconda 사용 )
3. Powershell에서 win32com 설치 ( win32com은 pywin32라고도 하며 python에서 ActiveX를 사용하게 해준다.)
다음과 같이 입력해줍니다.
conda install pywin32 ( win32com 설치를 의미 )
4. python으로 Creon을 연동하기 위하여 jupyter notebook 실행
다음과 같이 입력해줍니다.
jupyter notebook ( jupyter notebook 실행을 의미)
만약 Anaconda 패키지가 아니라 일반 python이라면 pip install jupyter로 jupyter를 먼저 설치
5. jupyter notebook에서 새로운 python 노트 열기
jupyter notebook을 입력하면 다음과 같은 창이 뜨는데 우측 상단에 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))
7. 결과 확인 하기 ( 다음과 같이 나오면 연결이 잘 된 상태입니다! )
연결이 잘 되있지 않다면 '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 )
[투자 웹사이트 구축] 6. Azure 웹앱 수정 및 재배포 ( python ) / 빠른 배포 ver (2) | 2020.03.11 |
---|---|
[투자 웹사이트 구축] 5. 클라우드로 웹페이지 만들기 ( python / Azure) (0) | 2020.03.10 |
[투자 웹사이트 구축] 3. 크레온 가입하기(증권 API) (0) | 2020.03.08 |
[투자 웹사이트 구축] 2. Azure 구독 (MS 클라우드 컴퓨팅) (0) | 2020.03.08 |
[투자 웹사이트 구축] 1. Anaconda(python/R data) 설치 (2) | 2020.03.08 |