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