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