Esempio n. 1
0
 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)
Esempio n. 2
0
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)
Esempio n. 3
0
 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)
Esempio n. 4
0
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.')
Esempio n. 5
0
 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')
Esempio n. 6
0
def make_ts_api(token):
    # 自定义连接超时时间
    return client.DataApi(token=token, timeout=30)
Esempio n. 7
0
 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)
Esempio n. 8
0
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())