core

https://github.com/Golden-Goose-Lab/creon/blob/master/creon/core.py

COMWrapper

class COMWrapper 크레온 윈도우즈 API를 손쉽게 다루기 위한 래핑 클래스입니다.

속성 com 디스패치된 윈도우즈 API 모듈입니다.

메소드 def __init__(self, com) 생성자 함수입니다. 인자로 사용하려는 윈도우즈 API 모듈을 받습니다.

def __getattr__(self, item) 디스패치된 윈도우즈 API 모듈내 함수나 변수를 바로 클래스 네이티브처럼 사용하기 위한 함수입니다. def block_request(self) 윈도우즈 API 모듈내 BlockRequest 를 래핑한 함수입니다. def get_dib_msg1(self) 윈도우즈 API 모듈내 GetDibMsg1 를 래핑한 함수입니다. def get_dib_status(self) 윈도우즈 API 모듈내 GetDibStatus 를 래핑한 함수입니다. def get_data_value(self, key, value) 윈도우즈 API 모듈내 GetDataValue 를 래핑한 함수입니다. key, value 에 대한 GetDataValue 실행 값을 리턴합니다. def get_header_value(self, key) 윈도우즈 API 모듈내 GetHeaderValue 를 래핑한 함수입니다. key 에 대한 GetHeaderValue 실행 값을 리턴합니다. def set_input_value(self, key, value) 윈도우즈 API 모듈내 SetInputValue 를 래핑한 함수입니다. key, value 에 대한 SetInputValue 실행합니다.

Creon

class Creon 크레온 래퍼 클래스입니다. 모든 주식 트레이딩 기능은 이 클래스 객체를 기반으로 수행합니다.

속성 __codes__ (기본값 None) 크레온 API 코드 모듈인 CpUtil.CpCodeMgrCOMWrapper 객체가 할당됩니다. 속성 함수로 이용 가능합니다. __utils__ (기본값 None) 크레온 API 유틸 모듈인 CpTrade.CpTdUtilCOMWrapper 객체가 할당됩니다. 속성 함수로 이용 가능합니다. __trades__ (기본값 None) 크레온 API 거래 모듈인 CpTrade.CpTd0311COMWrapper 객체가 할당됩니다. 속성 함수로 이용 가능합니다. __trade_actions__ (기본값 {'sell': 1, 'buy': 2}) sell 와 buy 의 문자열을 각 각 1, 2로 치환 이용하기 위한 딕셔너리 입니다. __markets__ (기본값 None) 크레온 API 시장 모듈인 DsCbo1.StockMstCOMWrapper 객체가 할당됩니다. 속성 함수로 이용 가능합니다. __wallets__ (기본값 None) 크레온 API 계좌 모듈인 CpTrade.CpTd6033COMWrapper 객체가 할당됩니다. 속성 함수로 이용 가능합니다. __stock_code__ (기본값 None) 크레온 API 주식 코드 모듈인 CpUtil.CpStockCodeCOMWrapper 객체가 할당됩니다. 속성 함수로 이용 가능합니다. __chart__ (기본값 None) 크레온 API 주식 차트 모듈인 CpSysDib.StockChartCOMWrapper 객체가 할당됩니다. 속성 함수로 이용 가능합니다. __logger__ (기본값 Logger(__name__)) 로깅을 위한 파이썬 내장 로거 객체가 할당됩니다.

메소드 def __init__(self, username: str = '', password: str = '', cert_password: str = '', path: str = '') 생성자 함수입니다. 관리자 권한이 없으면 PermissionError 예외를 발생시키며 크레온이 구동되어 있지 않으며 run_creon_plus 를 통해 구동합니다.

@property def codes(self) -> COMWrapper 크레온 API 코드 모듈인 CpUtil.CpCodeMgr 의 사용을 위한 속성 함수입니다. 최초 실행시 __codes__ 속성에 COMWrapper 객체를 할당하며 이후 __codes__ 를 리턴합니다.

@property def trades(self) -> COMWrapper 크레온 API 거래 모듈인 CpTrade.CpTd0311 의 사용을 위한 속성 함수입니다. 최초 실행시 __trades__ 속성에 COMWrapper 객체를 할당하며 이후 __trades__ 를 리턴합니다.

@property def markets(self) -> COMWrapper 크레온 API 시 모듈인 DsCbo1.StockMst 의 사용을 위한 속성 함수입니다. 최최초 실행시 ___markets__ 속성에 COMWrapper 객체를 할당하며 이후 ___markets__ 를 리턴합니다. http://cybosplus.github.io/cpdib_rtf_1_/stockmst.htm

@property def wallets(self) -> COMWrapper 크레온 API 계좌 모듈인 CpTrade.CpTd6033 의 사용을 위한 속성 함수입니다. 최초 실행시 __wallets__ 속성에 COMWrapper 객체를 할당하며 이후 __wallets__ 를 리턴합니다.

@property def stock_code(self) -> COMWrapper 크레온 API 주식 코드 모듈인 CpUtil.CpStockCode 의 사용을 위한 속성 함수입니다. 최초 실행시 __stock_code__ 속성에 COMWrapper 객체를 할당하며 이후 __stock_code__ 를 리턴합니다.

@property def chart(self) -> COMWrapper 크레온 API 주식 차트 모듈인 CpSysDib.StockChart 의 사용을 위한 속성 함수입니다. 최초 실행시 __chart__ 속성에 COMWrapper 객체를 할당하며 이후 __chart__ 를 리턴합니다.

@property def accounts(self) -> tuple utils 속성 함수를 통해 로그인된 계정의 계좌번호들을 튜플 형태로 리턴합니다.

def get_account_flags(self, account: str, account_filter: AccountFilter) -> tuple utils 속성 함수를 통해 계좌 플래그을 리턴하는 함수입니다. 인자로 계좌 번호와 계좌 유형을 받습니다. 계좌 플래그는 거래 함수등에 사용됩니다.

def get_all_codes(self, category: str, with_name: bool = False) -> tuple codes 속성 함수를 통해 시장(kospi, kosdaq)을 문자열로 인자로 받아 해당 시장의 모든 종목을 튜플로 리턴하는 함수입니다. with_name 인자가 True이면 (코드, 이름) 형태의 튜플들을 리턴합니다. def get_price_data(self, code: str) -> dict markets 속성 함수를 통해 시세 정보를 딕셔너리로 리턴합니다. 반환하는 데이터는 아래와 같습니다.

def fetch_ohlcv(self, code: str, timeframe: tuple, since: datetime, limit: int, fill_gap=False, use_adjusted_price=True) -> List[Candle]: chart 속성 함수를 통해 과거 시세 정보 OHLCV(시가, 고가, 저가, 종가, 거래량) 를 리턴하는 함수 입니다. 종목 코드, 타임프레임(시간값, TimeFrameUnit), 조회일, 최대조회수 를 인자로 받습니다. fill_gap 선택 인자를 True 로 하면 갭보정을 적용 할 수 있으며 use_adjusted_price 선택인자를 False 로 하면 수정주가 사용을 안 할 수 있습니다. 이 링크에서 예제를 확인할 수 있으며 반환하는 데이터는 아래와 같습니다.

def get_holding_stocks(self, account_number: str, flag: str, count: int = 50) -> dict wallets 속성 함수를 통해 종합 보유 자산 정보를 딕셔너리로 리턴합니다. 계좌번호와 계좌 플래그를 인자로 받으며 개수는 50개로 선택 인자로 받습니다. 계좌 플래그는 get_account_flags 를 통해 얻을 수 있습니다. 반환하는 데이터는 아래와 같습니다.

def _order(self, account: str, code: str, quantity: int, price: int, flag: str, action: str) -> bool trades 속성 함수를 통해 지정가 주문하여 주문의 성공(체결 X) 여부를 True / False 로 리턴합니다. 계좌번호, 종목코드, 수량, 가격, 계좌 플래그, 액션(매수 or 매도) 를 인자로 받으며 액션은 'buy', 'sell' 문자열로 받아 __trade_actions__ 속성을 통해 값을 치환하여 사용합니다. 계좌 플래그는 get_account_flags 를 통해 얻을 수 있습니다.

def buy(self, account: str, code: str, quantity: int, price: int, flag: str) -> bool _order 함수를 통해 지정가 매수를 합니다. 계좌번호, 종목코드, 수량, 가격, 계좌 플래그가 필요합니다. 계좌 플래그는 get_account_flags 를 통해 얻을 수 있습니다.

def sell(self, account: str, code: str, quantity: int, price: int, flag: str) -> bool _order 함수를 통해 지정가 매도를 합니다. 계좌번호, 종목코드, 수량, 가격, 계좌 플래그가 필요합니다. 계좌 플래그는 get_account_flags 를 통해 얻을 수 있습니다.

def code_to_name(self, code: str) stock_code 속성 함수를 통해 종목 코드를 종목 이름으로 리턴합니다.

def name_to_code(self, name: str) stock_code 속성 함수를 통해 종목 이름을 종목 코드로 리턴합니다.

Last updated