더북(TheBook)

하지만 데이터베이스에 저장된 유니버스는 구성 당시의 실적을 고려한 것으로 시간이 지나 기업들의 실적이 변경되면 이에 맞추어 재구성할 필요가 있습니다. 실적 변경이 있었는데 한 번 생성한 유니버스를 계속 사용하는 것은 좋은 기업을 선별하여 매매하겠다는 취지에 어긋날 수 있습니다. 따라서 유니버스 테이블이 없을 때만 유니버스를 생성하는 것이 아니라 이미 유니버스 테이블이 있더라도 created_at을 기준으로 분기마다 새로 구성하는 코드가 있으면 좋습니다. 다만 지면상 이유로 여기서는 아이디어만 제시하고 코드는 따로 다루지 않겠습니다.

그러면 이제 유니버스 데이터를 생성했으니 이를 조회하여 저장하는 코드를 만들어 보겠습니다. 먼저 클래스 초기화 함수에서 사용할 변수로 self.universe = {}를 선언합니다.

RSIStrategy.py

(...)
class RSIStrategy(QThread):
    def __init__(self):
        QThread.__init__(self)
        self.strategy_name = "RSIStrategy"
        self.kiwoom = Kiwoom()
        self.universe = {}  ------ 유니버스 정보를 담을 딕셔너리

        self.init_strategy()
(...)
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.