コード例 #1
0
def thread_17(thread_17_event, thread_16_event):
    #print(thread_01_event.is_set())
    thread_16_event.wait()
    log.logger.info('thread_17 start...')
    thread_complete = False
    api = tushare_api()
    start = (date.today() - dateutil.relativedelta.relativedelta(days=30)).isoformat()
    end = today_ISO

    while not thread_complete:
        try:
            api.download_hist_data(start=start, end=end)
        except Exception:
            log.logger.info('download_hist_data failed...')
        sleep(60)

        working_folder = '/Users/huiyang/Documents/quantest/data_shared/tuShare/'
        filename = 'hist_data'
        hist_data = pd.read_excel(io=working_folder  + filename + '.xlsx')
        if hist_data.iloc[0,0] >= today_ISO: # check the date field
            thread_complete = True
        else:
            thread_complete = False
    thread_17_event.set()
    log.logger.info('thread_17 completed!')
    return
コード例 #2
0
def thread_16(thread_16_event):
    log.logger.info('thread_16 start...')
    thread_complete = False
    api = tushare_api()
    end = today_ISO
    while not thread_complete:
        try:
            api.downloadIndex(end=end)
        except Exception:
            log.logger.info('downloadIndex failed...')
        sleep(60)

        working_folder = '/Users/huiyang/Documents/quantest/data_shared/tuShare/'
        filename = 'index_000001'
        index_000001 = pd.read_excel(io=working_folder  + filename + '.xlsx')
        filename = 'index_399001'
        index_399001 = pd.read_excel(io=working_folder  + filename + '.xlsx')
        filename = 'index_399006'
        index_399006 = pd.read_excel(io=working_folder  + filename + '.xlsx')

        # check the date_download
        print(index_000001.iloc[0,0].date().isoformat())
        print(today_ISO)
        if (index_000001.iloc[0,0].date().isoformat() >= today_ISO)    \
            and (index_399001.iloc[0,0].date().isoformat() >= today_ISO)   \
            and (index_399006.iloc[0,0].date().isoformat() >= today_ISO):
            thread_complete = True
        else:
            thread_complete = False

    thread_16_event.set()
    log.logger.info('thread_16 completed!')
    return
コード例 #3
0
def thread_06(thread_06_event, thread_05_event):
    thread_05_event.wait()
    log.logger.info('thread_06 start...')
    thread_complete = False
    api = tushare_api()
    while not thread_complete:
        try:
            api.download_stock_fundamentals(year=2017)
            thread_complete = True
        except Exception:
            log.logger.info('download_stock_fundamentals failed...')
        sleep(60)

    thread_06_event.set()
    log.logger.info('thread_06 completed!')
    return
コード例 #4
0
def thread_02(thread_02_event,thread_22_event):
    thread_22_event.wait()
    log.logger.info('thread_02 start...')
    thread_complete = False
    api = tushare_api()
    end = today_ISO
    while not thread_complete:
        try:
            api.download_industry_classified(end=end)
            thread_complete = True
        except Exception:
            log.logger.info('download_industry_classified failed...')
        sleep(600)

    thread_02_event.set()
    log.logger.info('thread_02 completed!')
    return
コード例 #5
0
def thread_20(thread_20_event, thread_18_event, thread_07_event):
    #thread_18_event.wait()
    #thread_05_event.wait()
    #thread_07_event.wait()
    log.logger.info('thread_20 start...')
    thread_complete = False
    api = tushare_api()
    while not thread_complete:
        try:
            api.calculate_roe_pb()
            thread_complete = True
        except Exception:
            log.logger.info('calculate_roe_pb failed...')
        sleep(60)

    thread_20_event.set()
    log.logger.info('thread_20 completed!')
    return
コード例 #6
0
def thread_19(thread_19_event, thread_01_event, thread_17_event):
    #thread_01_event.wait()
    thread_17_event.wait()
    log.logger.info('thread_19 start...')
    thread_complete = False
    api = tushare_api()
    start = (date.today() - dateutil.relativedelta.relativedelta(days=30)).isoformat()
    end = today_ISO

    while not thread_complete:
        try:
            api.calculate_today_all_without_percentage(start=start, end=end)
            thread_complete = True
        except Exception:
            log.logger.info('calculate_today_all_without_percentage failed...')
        sleep(60)

    thread_19_event.set()
    log.logger.info('thread_19 completed!')
    return
コード例 #7
0
def thread_01(thread_01_event):
    log.logger.info('thread_01 start...')
    thread_complete = False
    api = tushare_api()
    end = today_ISO
    while not thread_complete:
        try:
            api.download_today_all(end=end)
        except Exception:
            log.logger.info('download_today_all failed...')

        working_folder = '/Users/huiyang/Documents/quantest/data_shared/tuShare/'
        filename = 'today_all'
        today_all = pd.read_excel(io=working_folder  + filename + '.xlsx')
        if today_all.iloc[0,15] >= today_ISO: # check the date_download
            thread_complete = True
        else:
            thread_complete = False
        sleep(60)

    thread_01_event.set()
    log.logger.info('thread_01 completed!')
    return
コード例 #8
0
def thread_05(thread_05_event,thread_01_event):
    thread_01_event.wait()
    log.logger.info('thread_05 start...')
    thread_complete = False
    api = tushare_api()
    end = today_ISO
    while not thread_complete:
        try:
            api.download_stock_basics(end=end)
        except Exception:
            log.logger.info('download_stock_basics failed...')

        working_folder = '/Users/huiyang/Documents/quantest/data_shared/tuShare/'
        filename = 'stock_basics'
        stock_basics = pd.read_excel(io=working_folder  + filename + '.xlsx')
        if stock_basics.iloc[0,23] >= today_ISO: # check the date_download
            thread_complete = True
        else:
            thread_complete = False
        sleep(60)

    thread_05_event.set()
    log.logger.info('thread_05 completed!')
    return
コード例 #9
0

if __name__ == '__main__':

    global log
    log = Logger(level='debug')
    log.logger.info('tushare_auto_downloader_v2.1 start...')
    global today_ISO
    ## for testing purpose
    today_ISO = datetime.today().date().isoformat()
    ##
    if not is_trading_day(date=today_ISO):
        today_ISO = last_trading_day(date=today_ISO)

    global api
    api = tushare_api()

    thread_01_event = threading.Event()
    thread_02_event = threading.Event()
    thread_03_event = threading.Event()
    thread_04_event = threading.Event()
    thread_05_event = threading.Event()
    thread_06_event = threading.Event()
    thread_07_event = threading.Event()
    thread_08_event = threading.Event()
    thread_09_event = threading.Event()
    thread_10_event = threading.Event()
    thread_11_event = threading.Event()
    thread_12_event = threading.Event()
    thread_13_event = threading.Event()
    thread_14_event = threading.Event()