Example #1
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)
Example #2
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.')
Example #3
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.') 
Example #4
0
 def __init__(self, client=None):
     if client is None:
         self.client = Client(up.get_token())
     else:
         self.client = client
Example #5
0
 def __init__(self, client=None):
     if not client:
         self.client = Client(up.get_token())
     else:
         self.client = client
Example #6
0
def subs(token=''):
    if token == '' or token is None:
        token = upass.get_token()
    app = Subs(token=token)
    return app
Example #7
0
File: data.py Project: swq90/stock
import os
import sys
import datetime
import time
import calendar as cal
from dateutil.parser import parse
from sqlalchemy import create_engine
import numpy as np
import pandas as pd
from functools import partial
from sqlalchemy import create_engine
import pandas as pd
import tushare as ts
from tushare.util import upass

token = upass.get_token()
tool = ts.pro.client.DataApi(token)
engine = create_engine('postgresql://*****:*****@10.0.0.4:5432/stock', echo=False)


def days(start_date, end_date=''):
    end_date = datetime.datetime.strptime(end_date, '%Y%m%d') if end_date else datetime.datetime.today()
    start_date = datetime.datetime.strptime(start_date, '%Y%m%d')
    # print(start_date,end_date,(end_date-start_date).days)
    return (end_date - start_date).days


def download_data(start_date=None, end_date=None, trade_date=None, days=4, tables=['daily', 'stk_limit', 'limit_list']):
    if trade_date is None:
        if not end_date:
            end_date = str(datetime.datetime.today().date()).replace('-', '')