Пример #1
0
    def get_ohlc(self, cnt=900):

        date_from = db.selectSingleValue(
            'SELECT CAST(DATE AS CHAR) AS DATE FROM jazzdb.T_DATE_INDEXED WHERE CNT = "%s"'
            % (cnt))
        df = db.selectpd(
            "SELECT STOCKCODE, CAST(DATE AS CHAR) AS DATE, A.OPEN, A.HIGH, A.LOW, A.CLOSE, B.VOLUME FROM jazzdb.T_STOCK_OHLC_DAY A JOIN jazzdb.T_STOCK_SND_DAY B USING(STOCKCODE, DATE) WHERE STOCKCODE = '%s' AND DATE > '%s'"
            % (self.stockcode, date_from))
        return df
def loop():
    for eachcode in list(codeDic.keys())[:98]:

        ret = db.selectSingleValue(
            'SELECT COUNT(*) FROM jazzdb.T_STOCK_OHLC_MIN WHERE STOCKCODE = "%s" AND DATE = "%s"'
            % (eachcode, today))

        # print(eachcode, ret)
        if ret == 0:

            rtdf = get_ohlc_min(eachcode, today)
            # print(rtdf)
            if isinstance(rtdf, pd.DataFrame) and len(rtdf) > 0:
                insert_dataframe(rtdf)
        time.sleep(0.22)
def get_stockcode_to_update(dt):
    # DB에서 [종목명,종목코드] 로 구성된 데이터셋을 받아옴.
    # dbUpdateDate = db.selectSingleValue('SELECT max(date) FROM test.t_stock_shares_info')

    query = '''
    
    SELECT STOCKCODE
    FROM
    (
        SELECT STOCKCODE, ROW_NUMBER() OVER (ORDER BY STOCKCODE DESC) AS RN
        FROM jazzdb.T_STOCK_CODE_MGMT A
        WHERE 1=1
        AND A.STOCKCODE IN (
    
            SELECT STOCKCODE
            FROM jazzdb.T_STOCK_OHLC_MIN
            WHERE DATE = '%s'
            GROUP BY STOCKCODE
        )
        AND A.LISTED = 1
    ) A
    
    WHERE RN =3
    
    
    ''' % (dt)

    m = db.selectSingleValue(query)
    print(m)

    if m is None:
        m = '000000'

    query = """

                        SELECT A.STOCKCODE, A.STOCKNAME
                        FROM jazzdb.T_STOCK_CODE_MGMT A
                        WHERE 1=1
                        AND A.LISTED = 1
                        AND A.STOCKCODE > '%s'
                                                        """ % (m)

    for eachRow in db.select(query):
        if (len(eachRow) > 0):
            itemDic[eachRow[1].upper()] = eachRow[0]
            codeDic[eachRow[0]] = eachRow[1].upper()

    print("[INFO] 종목명/종목코드를 메모리에 읽어왔습니다, 남은 종목 수: ", len(itemDic.keys()))
def gettoday():
    td = db.selectSingleValue(
        'SELECT cast(DATE AS CHAR) AS DATE FROM jazzdb.T_DATE_INDEXED WHERE CNT = 0'
    )
    return td
Пример #5
0
def get_date_by_cnt(cnt):
    date = db.selectSingleValue(
        '''SELECT CAST(DATE AS CHAR) AS DATE FROM jazzdb.T_DATE_INDEXED WHERE CNT = "%s"'''
        % (cnt))
    return date