import sys running_which_env='prd' from os.path import dirname, abspath, join ROOT_DIR = abspath(join(dirname(abspath(__file__)), "..")) from loguru import logger logger.remove() logger.add(sys.stderr, level="INFO") logger.add(ROOT_DIR+"/logs/{time:YYYYMMDD-HHmmss}"+f"_{running_which_env}.log", rotation="10 MB", compression="zip", level="INFO") import pandas as pd from DDBfm import DDBfm from TSLfm import TSLfm from code_list import code_list_pickel def run_add_1day_code_init_minKline(date,code_list): ddb = DDBfm(running_which_env) code_list_filtered = [] for code in code_list: if ddb.search_code_date_in_tb(ddb.ddf_hft_mink_tbname,date,code): logger.warning(f"Possible duplicates on {date} and {code}") else: code_list_filtered.append(code) if len(code_list_filtered)==0: return 0 with TSLfm() as tsl: df = tsl.process_result_data_type(tsl.get_mkt_min_k(date,date,code_list_filtered)) if not df.empty: logger.info(f'Getting a df of {df.shape}: {code_list[0][:-4]} on {date}') ddb.append_hft_table(ddb.ddf_hft_mink_tbname,df) def run_create_db_minKline(): date = '20221101' with TSLfm() as tsl: code_list=['T2212'] df = tsl.process_result_data_type(tsl.get_mkt_min_k(date,date,code_list)) # print(df) ddb = DDBfm(running_which_env) ddb.create_hft_database() ddb.create_hft_table(ddb.ddf_hft_mink_tbname,df) def run(): all_code_dict_by_init={} for c in code_list_pickel: init = c[:-4] if init in all_code_dict_by_init: all_code_dict_by_init[init].append(c) else: all_code_dict_by_init[init]=[c] # print(all_code_dict_by_init) start_date='2022-09-30' end_date='2022-11-09' allDates = pd.date_range(start_date, end_date, freq ='D') allDates = [i.replace('-','') for i in list(allDates.astype('str'))] for date in allDates: for code_init in all_code_dict_by_init: code_list = all_code_dict_by_init[code_init] run_add_1day_code_init_minKline(date,code_list) # date = '20221101' # with TSLfm() as tsl: # # code_list = tsl.get_code_list("国债期货") # # code_list += tsl.get_code_list("股指期货") # # code_list += tsl.get_code_list("上市期货") # # code_list=sorted(list(set(code_list))) # # print(code_list_pickel) # code_list=['CF2211'] # df = tsl.process_result_data_type(tsl.get_mkt_min_k(date,date,code_list)) # print(df) # ddb = DDBfm('prd') # ddb.create_hft_database() # ddb.create_hft_table(ddb.ddf_hft_mink_tbname,df) # if ddb.search_code_date_in_tb(ddb.ddf_hft_mink_tbname,date,'CF2211'): # logger.warning(f"Possible duplicates on {date} and ") # ddb.append_hft_table(ddb.ddf_hft_mink_tbname,df) if __name__ == '__main__': run() # run_create_db_minKline()