Example #1
0
def collect_his_trading(stock_number, stock_name, start_date, end_date):
    ts_code = tushare_util.gen_ts_code(stock_number)

    his_data = tushare_util.get_pro_client().query(
        'daily',
        ts_code=ts_code,
        start_date=start_date.strftime('%Y%m%d'),
        end_date=end_date.strftime('%Y%m%d'))
    for i in range(0, len(his_data)):
        trade_data = his_data.iloc[i]
        try:
            date = datetime.datetime.strptime(trade_data.trade_date, '%Y%m%d')
        except Exception as e:
            continue

        existSdt = SDT.objects(Q(stock_number=stock_number) & Q(date=date))
        if existSdt and len(existSdt) > 0:
            sdt = existSdt[0]
        else:
            sdt = SDT(stock_number=stock_number)
            sdt.date = date

        sdt.stock_name = stock_name
        sdt.yesterday_closed_price = trade_data.pre_close
        sdt.today_opening_price = trade_data.open
        sdt.today_closing_price = trade_data.close
        sdt.today_highest_price = trade_data.high
        sdt.today_lowest_price = trade_data.low
        sdt.turnover_amount = trade_data.amount
        sdt.turnover_volume = trade_data.vol
        sdt.increase_amount = trade_data.change
        sdt.increase_rate = str(trade_data.pct_chg) + '%'
        try:
            sdt.save()
        except Exception as e:
            continue