-
Creon API로 connect개발자로 살아남기/주식투자 2019. 8. 4. 16:29
맨날 공부한다고 생각만하고 있어서 그런지 상당히 더디게 프로젝트가 진행되고 있다.
처음에는 python 공부를 목적으로 하였지만.. 그것보단 내가 어떤 주식을 사야할지, 데이터 접근하여 값을 가져오는 용도로 이용하게 될 것같다.
Creon API로 connect 하는 예제 코드이다.
종목 번호를 기반으로 주가를 찍어주는 소스이다.
b_connected = self.obj_CpCybos.IsConnect
if b_connected == 0:
print("connect fail")
return None이 부분이 앞으로의 프로젝트에 제일 많이 쓰일.. connect 를 체크하는 부분이다.
python 자체를 공부해보지 못해서 다소 소스 해석이 되지않지만 하다 보면 되지 않을까 생각된다.
예제 소스는 다음과 같다.
import time import win32com.client import pandas as pd class Creon: def __init__(self): self.obj_CpCodeMgr = win32com.client.Dispatch('CpUtil.CpCodeMgr') self.obj_CpCybos = win32com.client.Dispatch('CpUtil.CpCybos') self.obj_StockChart = win32com.client.Dispatch('CpSysDib.StockChart') def creon_chart_search(self, code, date_from, date_to): b_connected = self.obj_CpCybos.IsConnect if b_connected == 0: print("connect fail") return None list_field_key = [0, 1, 2, 3, 4, 5, 8] list_field_name = ['date', 'time', 'open', 'high', 'low', 'close', 'volume'] dict_chart = { name : [] for name in list_field_name} self.obj_StockChart.SetInputValue(0, 'A'+code) self.obj_StockChart.SetInputValue(1, ord('1')) self.obj_StockChart.SetInputValue(2, date_to) self.obj_StockChart.SetInputValue(3, date_from) self.obj_StockChart.SetInputValue(5, list_field_key) self.obj_StockChart.SetInputValue(6, ord('D')) self.obj_StockChart.BlockRequest() status = self.obj_StockChart.GetDibStatus() msg = self.obj_StockChart.GetDibMsg1() print("connected status : {} {}".format(status,msg)) if status != 0: return None cnt = self.obj_StockChart.GetHeaderValue(3) for i in range(cnt): dict_item = ( {name : self.obj_StockChart.GetDataValue(pos,i) for pos,name in zip(range(len(list_field_name)),list_field_name)} ) for k,v in dict_item.items(): dict_chart[k].append(v) print("char {} {}".format(cnt, dict_chart)) return pd.DataFrame(dict_chart, columns=list_field_name) if __name__ == '__main__': creon = Creon() print(creon.creon_chart_search('035420', 20150101, 20171201))'개발자로 살아남기 > 주식투자' 카테고리의 다른 글
[퀀트 투자] 1달 경과의 데이터 (0) 2019.09.16 [Creon API] 지표 좋은 주식 골라보기 (0) 2019.08.18 [Creon API] 종목 코드를 이용하여 여러 정보 가져오기 (0) 2019.08.14 [Creon API] 전체 종목 slice 해서 사용하기 (0) 2019.08.14 [Creon API] 종목 전체 가져오기 (0) 2019.08.04