Exemple #1
0
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)
Exemple #2
0
                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")