Creon API 에서 MarketEye 를 이용해서 종목 코드만 있으면 다음과 같은 정보들을 가져올 수 있다.

 

http://money2.creontrade.com/e5/mboard/ptype_basic/HTS_Plus_Helper/DW_Basic_Read_Page.aspx?boardseq=284&seq=131&page=1&searchString=marketeye&p=8841&v=8643&m=9505

 

크레온플러스 도움말 - 크레온

설명주식,지수,선물/옵션등의여러종목의필요항목들을한번에수신합니다.통신종류Request/Reply연속여부X관련 SB/PBStockCur, FutureCurOnly, OptionCurOnly관련CYBOS [7059] MarketEye모듈위치cpsysdib.dll Method object.SetInputValue(type,value) type에해당하는입력데이터를 value 값으로지정합니다 type: 입력데이터종류 0 - (long or long array) 필드

money2.creontrade.com

 

나는 일단 기본적인 지표인 PER,PSR,PBR 등을 이용하고자 하니, 이런것들이 포함된 것들을 가져올 예정이다.

그 코드는 다음과 같다.

 

<pre><code>

def subMarketEye(self, m_InfoList):
    numCodeRow =len( self.codeList)
    print(numCodeRow)
    obj = win32com.client.Dispatch("cpsysdib.MarketEye")

    data=[]
    for index in range(numCodeRow):
        obj.SetInputValue(0, m_InfoList)
        obj.SetInputValue(1, self.codeList[index])
        obj.BlockRequest()
        numField = obj.GetHeaderValue(0)
        numData = obj.GetHeaderValue(2)

        for idx_x in range(numData):
            tempdata=[]
            for idx_y in range(numField):
                tempdata.append(obj.GetDataValue(idx_y, idx_x))
            data.append(tempdata)

    return data

</code></pre>

 

매개변수인 m_InfoList를 활용하여, 원하는 값을 달리해서 불러 올 수 있으며, slice 한것을 넣기 위해서 일단 self.codeList[] 를 사용하였는데 생각해보면 함수화시키는 게 더 깔끔할 것으로 보인다.

 

다음 글에는 이 리스트를 이용하여 필요한 값들을 만들 것이다. 

그리고 그것들을 어떻게 조합하면 더 나은 투자를 할 수 있는지도 고민해볼생각이다.

 

+ Recent posts