CREON Plus

[파이썬] 주식 현재가 조회

상품종류
주식
언어종류
파이썬
작성일
2017/08/31
조회수
27317

파이썬으로 구현된 주식현재가 조회 예제입니다.


- 샘플 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
import win32com.client
 
# 연결 여부 체크
objCpCybos = win32com.client.Dispatch("CpUtil.CpCybos")
bConnect = objCpCybos.IsConnect
if (bConnect == 0):
    print("PLUS가 정상적으로 연결되지 않음. ")
    exit()
 
# 현재가 객체 구하기
objStockMst = win32com.client.Dispatch("DsCbo1.StockMst")
objStockMst.SetInputValue(0'A005930')   #종목 코드 - 삼성전자
objStockMst.BlockRequest()
 
# 현재가 통신 및 통신 에러 처리 
rqStatus = objStockMst.GetDibStatus()
rqRet = objStockMst.GetDibMsg1()
print("통신상태", rqStatus, rqRet)
if rqStatus != 0:
    exit()
 
# 현재가 정보 조회
code = objStockMst.GetHeaderValue(0)  #종목코드
name= objStockMst.GetHeaderValue(1)  # 종목명
time= objStockMst.GetHeaderValue(4)  # 시간
cprice= objStockMst.GetHeaderValue(11# 종가
diff= objStockMst.GetHeaderValue(12)  # 대비
open= objStockMst.GetHeaderValue(13)  # 시가
high= objStockMst.GetHeaderValue(14)  # 고가
low= objStockMst.GetHeaderValue(15)   # 저가
offer = objStockMst.GetHeaderValue(16)  #매도호가
bid = objStockMst.GetHeaderValue(17)   #매수호가
vol= objStockMst.GetHeaderValue(18)   #거래량
vol_value= objStockMst.GetHeaderValue(19)  #거래대금
 
# 예상 체결관련 정보
exFlag = objStockMst.GetHeaderValue(58#예상체결가 구분 플래그
exPrice = objStockMst.GetHeaderValue(55#예상체결가
exDiff = objStockMst.GetHeaderValue(56#예상체결가 전일대비
exVol = objStockMst.GetHeaderValue(57#예상체결수량
 
 
print("코드", code)
print("이름", name)
print("시간", time)
print("종가", cprice)
print("대비", diff)
print("시가"open)
print("고가", high)
print("저가", low)
print("매도호가", offer)
print("매수호가", bid)
print("거래량", vol)
print("거래대금", vol_value)
 
 
if (exFlag == ord('0')):
    print("장 구분값: 동시호가와 장중 이외의 시간")
elif (exFlag == ord('1')) :
    print("장 구분값: 동시호가 시간")
elif (exFlag == ord('2')):
    print("장 구분값: 장중 또는 장종료")
 
print("예상체결가 대비 수량")
print("예상체결가", exPrice)
print("예상체결가 대비", exDiff)
print("예상체결수량", exVol)
 
 
 
cs


- 실행 결과

첨부파일
의견(1)
이동하 Line 11의
objStockMst = win32com.client.Dispatch("DsCbo1.StockMst") 에서
모듈 "DsCbo1.StockMst"의 "DsCbo1"에 대해서는 도움말에도 설명이 없어 어디에서 온 것인지 확인할 수 없습니다.
예제에 따라서는 ''Dscbo1'' 등으로 표기되어 대소문자 구분을 안해도 되는지요?
도움말 상의 모듈 위치인 "CpDib"를 "DsCbo1" 대신 사용해도 문제가 없는지요?
또한 Line 16, 17의 이 오브젝트를 사용한 Method, ''GetDibStatus()'', 와 ''GetDibMsg1()''에 대한 도움말이 없어 이에 대한 설명이 필요합니다. 어디에서 이 설명을 찾을 수 있나요?
rqStatus = objStockMst.GetDibStatus()
rqRet = objStockMst.GetDibMsg1() (2019.01.27)

첨부파일을 PDF뷰어로 확인 하실수 있으며, PDF뷰어 미설치 고객께서는 우측 다운로드를 통해 설치 후 이용 가능 합니다.

PDF뷰어 다운로드

인쇄