def setUp(self): sys.path.extend(['/Users/yuz/data']) import ts_token token = ts_token.ts_token_list[0] ts.set_token(token) # 自定义连接超时时间 self.pro = client.DataApi(token=token, timeout=30)
def get_data(token=''): if token == '' or token is None: token = upass.get_token() if token is not None and token != '': pro = client.DataApi(token,timeout=60) return pro token=upass.get_token() tool=ts.pro.client.DataApi(token) engine=create_engine('postgresql://*****:*****@10.0.0.4:5432/stock',echo=False) saved_date=pd.read_sql_query('select distinct trade_date from daily',con=engine) saved_date=saved_date.sort_values('trade_date',ascending=False) t1=datetime.datetime.now() start_date='20191221' end_date='20200215' # trade_date='' tables=['daily','stk_limit','limit_list'] trade_cal=tool.query('trade_cal',start_date=start_date,end_date=end_date,is_open='1') count_dict=dict.fromkeys(tables,0) for date in trade_cal['cal_date']: if date in saved_date['trade_date'].values: continue print(date) for table in tables: data=tool.query(table,trade_date=date) if data.empty: continue data.to_sql(table,con=engine,if_exists='append',index=False) count_dict[table]+=data.shape[0] t2=datetime.datetime.now() print(t2-t1)
def setUp(self): log_init() sys.path.extend(['/Users/yuz/data']) import ts_token ts_api = client.DataApi( token=ts_token.ts_token_list[0], timeout=30) self.on_target_fit_listener = TestOnTargetFitListener() self.ma_filter = MaFilter( ts_api, self.on_target_fit_listener, freq='W', time_period=20, threshold=10)
def pro_api(token=''): """ 初始化pro API,第一次可以通过ts.set_token('your token')来记录自己的token凭证,临时token可以通过本参数传入 """ if token == '' or token is None: token = upass.get_token() if token is not None and token != '': pro = client.DataApi(token) return pro else: raise Exception('api init error.')
def setUp(self) -> None: ts_token = miscutils.get_ts_token_from_env() if ts_token is not None: self.ts_api = client.DataApi(token=ts_token, timeout=10) else: self.fail('TS_TOKEN not specified')
def make_ts_api(token): # 自定义连接超时时间 return client.DataApi(token=token, timeout=30)
def setUp(self) -> None: log_init(0) self.ts_api = client.DataApi(miscutils.get_ts_token_from_env()) self.picker = GrowingValueFilter(self.ts_api, OnGrowingValueFitListener(QuanzRepo(), datetime.now()), or_yoy=10, rd_exp_min=1, rd_exp_max=30, o_exp=80, gpr=10)
import time import tushare as ts from tushare.pro import client # pro = ts.pro_api('4d7357aee9bef99c3b5d61f37a3451535f4cdd6a63fe45e3b0080c4e') # 设置timeout更长 pro = client.DataApi( '4d7357aee9bef99c3b5d61f37a3451535f4cdd6a63fe45e3b0080c4e', timeout=1000) def get_daily_trade_to_csv(start_date='', end_date='', file_save_path=''): trade_cal = get_trade_cal(start_date, end_date) write_count = 0 for index, row in trade_cal.iterrows(): if write_count == 0: mode = 'w' else: mode = 'a' if row[-1] == 1: write_count += 1 daily = pro.daily(trade_date=row[-2]) print(row[-2]) daily.to_csv(file_save_path, encoding='utf-8', index=False, header=False, mode=mode) def get_dailt_trade_util_today(start_date='', file_save_path=''): now = time.strftime("%Y%m%d", time.localtime())