더북(TheBook)

5.4 유니버스 저장·조회하기

유니버스 구성은 프로그램이 동작할 때마다 매번 새로 생성하지 않고 데이터베이스에 저장해서 불러와 사용할 수 있도록 만들어 보겠습니다.

처리 과정을 설명하면 프로그램이 처음 시작할 때는 데이터베이스에서 유니버스 테이블의 존재 유무를 먼저 확인하고, 유니버스 테이블이 없다면 get_universe 함수로 얻어 온 유니버스를 데이터베이스에 저장합니다. 반대로 유니버스 테이블이 있다면 이를 가져오는 작업을 합니다.

이는 매매가 진행되기 전 프로그램이 처음 시작될 때 필요한 작업이기 때문에 이렇게 초기화에 필요한 기능들은 초기화 함수를 따로 만들어 사용하겠습니다.

먼저 미리 만들어 둔 strategy 패키지의 RSIStrategy.py 파일에 프로그램 뼈대를 만들겠습니다.

RSIStrategy.py

from api.Kiwoom import *
from util.make_up_universe import *
from util.db_helper import *
import math


class RSIStrategy(QThread):
    def __init__(self):
        QThread.__init__(self)
        self.strategy_name = "RSIStrategy"
        self.kiwoom = Kiwoom()
        self.init_strategy()

    def init_strategy(self):  ------ 전략 초기화 기능을 수행하는 함수
        pass

    def run(self): ------ 실질적 수행 역할을 하는 함수
        pass
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.