set_universe_real_time 함수의 코드는 set_real_reg 함수를 호출하는 데 사용했던 main.py 파일의 코드와 동일합니다. 한 가지 다른 점은 3.15절에서는 예시로 종목(‘005930; 007700;000660;’) 세 개만 등록했는데, 이제는 유니버스에 속하는 모든 종목 코드를 등록한다는 것입니다.
유니버스의 모든 종목을 등록하는 과정을 살펴보겠습니다. self.universe 딕셔너리의 키는 종목 코드들로 codes에 저장됩니다. 이를 Kiwoom API로 전달할 때는 ‘;’을 기준으로 연결해서 전달해야 합니다. 그러므로 codes = ";".join(map(str, codes))라는 코드로 codes에 저장된 코드들을 ‘;’을 기준으로 구분한 하나의 긴 문자열로 다시 codes에 저장합니다. 따라서 codes에는 ‘000001;000002;000003; …’처럼 종목 코드들이 ‘;’ 값과 함께 저장되어 있습니다.
이 codes 값을 self.kiwoom.set_real_reg에 전달하면 유니버스에 속하는 모든 종목의 실시간 체결 정보를 요청한 것이며, 이것으로 초기화 함수에서 수행할 모든 단계를 마칩니다.
‘5.1절 프로젝트 구조’에서는 프로그램을 동작하는 데 필요한 초기화 여섯 단계를 설명했습니다(그림 5-3).
➊ 유니버스 조회 및 생성
➋ 일봉 데이터 조회 및 저장
➌ 주문 정보 조회
➍ 잔고 정보 조회
➎ 예수금 정보 조회
➏ 실시간 체결 정보 조회 등록