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
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
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
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
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
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
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
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
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()