def init(stock_code_163, stock_name, indicator): stock_code = stock_code_sina = stock_code_163[1:] end_date = date.today() start_date = datetime.strptime("1990-01-01", "%Y-%m-%d") bd.insertMasterData(stock_code, stock_name, stock_code_163, stock_code_sina, indicator) data = bd.getStockData(stock_code_163, start_date, end_date) bd.insertBasicData(stock_code, data) logger.info("INSERT BASIC DATA COMPLETED") bd.insertTechData(stock_code, data) logger.info("INSERT TECH DATA COMPLETED") bd.insertAnalysisData(stock_code, data) logger.info("INSERT ANALYSIS DATA COMPLETED") bd.updateMasterDate("LAST_UPDATED_DATE", data[0].split(",")[0], stock_code_163) logger.info("LAST DATE UPDATED") if indicator == "1": rf = bd.getRecoveryFactor(stock_code_163, stock_code_sina, start_date) bd.insertRecoveryFactor(stock_code, rf) logger.info("INSERT RF DATA COMPLETED") bd.callTechInitProc(stock_code) logger.info("CALL PROC TO UPDATE TECH DATA") logger.info("SLEEP FOR 20 MINUTES") tm.sleep(20 * 60) sa.analyze(stock_code, end_date)
bd.updateMasterDate("LAST_UPDATED_DATE", last_updated_date, stock_code_163) logger.info("LAST DATE UPDATED") if str(index_indicator) == "1": rf = bd.getRecoveryFactor(stock_code_163, stock_code_sina, start_date) bd.insertRecoveryFactor(stock_code, rf) logger.info("INSERT RF DATA COMPLETED") else: logger.error("NO DATA IS RECEIVED FROM 163") result_set = dbu.query(sql) if len(result_set) > 0: logger.info("NOT ALL STOCKS ARE UPDATED, WAIT 10 MINUTES FOR NEXT UPDATE") tm.sleep(10*60) return "COMPLETED" if __name__ == '__main__': end_date = date.today() if bd.isHoliday(du.convertDateToString(end_date, "%Y-%m-%d")) == "W": logger.info("TODAY IS WORKING DAY, CONTINUE") if smartUpdate(end_date) == "COMPLETED": bd.callTechUpdateProc() logger.info("CALL PROC TO UPDATE TECH DATA") tm.sleep(60*5) sa.analyzeAllStocks(end_date) logger.info("ANALYSIS COMPLETE") else: logger.info("PROGRAM EXITS BECAUSE OF HOLIDAY")