def __init__(self, stockcode, the_date=datetime.now().date(), the_date_index=0, condition_dict=cd.COND_PROD):

        '''

        :param stockcode:       종목코드
        :param the_date:        해당종목을 초기화할 날짜
        :param the_date_index:

        '''


        self.stockcode = stockcode
        self.stockname = db.selectSingleValue(
            'SELECT STOCKNAME FROM jazzdb.T_STOCK_CODE_MGMT WHERE STOCKCODE = "%s"' % (stockcode))
        self.the_date = the_date
        self.the_date_index = the_date_index

        # 최적화 필요 부분
        self.sr_daily = pd.Series()
        self.df_ohlc_day = pd.DataFrame()
        self.df_ohlc_min = pd.DataFrame() 
        self.df_ohlc_realtime = pd.DataFrame()
        self.df_ohlc_realtime_filled = pd.DataFrame()
        self.dict_prev = dict()  # 직전거래일 및 최근 몇 거래일간의 정보를 담는 dictionary

        
        self.df_min_raw_naver = pd.DataFrame(columns=['체결시각', '체결가', '전일비', '매도', '매수', '거래량', '변동량'])
        self.OPEN = None


        self.condition_dict = condition_dict
示例#2
0
    def run(self):

        ret_msg = "%s\n" % (self.DATE)
        for eachtable in self.TABLE:
            q = f'''
                SELECT COUNT(DISTINCT STOCKCODE)
                FROM jazzdb.{eachtable}
                WHERE 1=1
                AND DATE = "{self.DATE}"
                '''

            ret = db.selectSingleValue(q)
            ret_msg = ret_msg + '%s \t %s\n' % (ret, eachtable)

        return ret_msg
示例#3
0
    def __init__(self, date_idx=55):
        '''
        :params: istance_list: 사용할 instance_id 로 구성된 리스트
        '''

        # TELEGRAM ================================================
        self.TOKEN = cf.TELEBOT_TOKEN
        self.RECEIVER = cf.TELEBOT_DEBUG
        self.BOT = telepot.Bot(self.TOKEN)
        # =========================================================

        self.TABLE = [
            'T_STOCK_OHLC_DAY', 'T_STOCK_SHARES_INFO', 'T_STOCK_SND_DAY',
            'T_STOCK_MA', 'T_STOCK_BB', 'T_STOCK_MC', 'T_STOCK_BB_EVENT',
            'T_STOCK_DAY_SMAR', 'T_STOCK_SND_ANALYSIS_RESULT_TEMP',
            'T_STOCK_SND_ANALYSIS_LONGTERM'
        ]
        # 'T_STOCK_OHLC_MIN']
        self.DATE = db.selectSingleValue(
            'SELECT DATE FROM jazzdb.T_DATE_INDEXED WHERE CNT = %s' %
            (date_idx))
        print(self.DATE)
示例#4
0
def index_to_date(idx):
    thedate = db.selectSingleValue("SELECT CAST(DATE AS CHAR) AS DATE FROM jazzdb.T_DATE_INDEXED WHERE 1=1 AND CNT = '%s'"%(idx))
    return thedate
示例#5
0
def date_to_index(date):
    cnt = db.selectSingleValue("SELECT CNT FROM jazzdb.T_DATE_INDEXED WHERE 1=1 AND DATE = '%s'"%(date))
    return cnt
示例#6
0
    #  'PSMAR60', 'VSMA5', 'VSMA20', 'VSMA60', 'VSMAR5', 'VSMAR20', 'VSMAR60', 'BBU', 'BBL', 'BBS', 'BBW', 'BBP', 'K',
    #  'D', 'J', 'OBV', 'CLOSEDIFF', 'RSI', 'TRADINGVALUE']

    # ['01D_DATE', '01D_OPEN', '01D_HIGH', '01D_LOW', '01D_CLOSE', '01D_VOLUME', '01D_BBP', '01D_BBW', '01D_BBU',
    #  '01D_BBL', '01D_K', '01D_D', '01D_J', '01D_I1', '01D_I5', '01D_I20', '01D_I60', '01D_F1', '01D_F5', '01D_F20',
    #  '01D_F60', '01D_S1', '01D_S5', '01D_S20', '01D_S60', '01D_YG1', '01D_YG5', '01D_YG20', '01D_YG60', '01D_T1',
    #  '01D_T5', '01D_T20', '01D_T60', '01D_FN1', '01D_FN5', '01D_FN20', '01D_FN60', '01D_RSI', '05D_HIGH', '05D_LOW',
    #  '60D_HIGH', '60D_LOW'
    #  '20D_TOP20_MEAN_VOL', '20D_TOP20_MEAN_FLUCT', '20D_TOP20_MEAN_CLOSE']

    cond = {
        'TEST_DEBUG': {
            'VSMAR5': ['BIGGER', 1],
            'VSMAR20': ['BIGGER', 1.5],
            'VSMAR60': ['BIGGER', 3],
            'PSMAR60': ['BIGGER', 0.015],
            'VOLUME': ['BIGGER', '20D_85QTILE_VOL'],
            'TRADINGVALUE': ['BIGGER', 1]
        },
    }

    the_date_index = 0
    the_date = db.selectSingleValue(
        'SELECT CAST(DATE AS CHAR) AS DATE FROM jazzdb.T_DATE_INDEXED WHERE CNT = %s'
        % (the_date_index)).replace('-', '')
    m = JazzstockCoreRealtimeNaver(stockcode_list=stockcode_list,
                                   the_date=the_date,
                                   the_date_index=the_date_index,
                                   condition_dict=cond)
    m.debug()