def register(request): stock = Stock.objects.filter(symbol=request.POST['symbol']) if not stock: stock = Stock(symbol=request.POST['symbol'], name=request.POST['name']) stock.save() subprocess.Popen( ['java', '-jar', '/Users/shijieru/Desktop/updateDB.jar']) return HttpResponseRedirect(reverse('index'))
def create_stock_data(): stock_list = business() for stock in stock_list: new_stock = Stock() new_stock.business = stock['business'] new_stock.code = stock['code'] new_stock.title = stock['title'] new_stock.graph_url() new_stock.stock_reset() new_stock.save()
def get(self, request): stocks = ts.get_stock_basics() for code in stocks.index: print not Stock.objects.filter(code=code).exists() print Stock.objects.filter(code=code).exists() if not Stock.objects.filter(code=code).exists(): stock = Stock() stock.code = code stock.save() return HttpResponse(json.dumps({"status": "success"}), content_type="application/json")
def setUp(self): self.stock = Stock(stock_name='testStock', stock_price=2, stock_sold=0) self.stock.save() self.shareQuantity = 5 self.user = User(username='******', password='******') self.user.save() self.user = User.objects.get(username='******') self.userund = UserFund(user=self.user, fund=1000) Trading_Account.objects.create(user_id=self.user, trading_name='testTrade') self.trading = Trading_Account.objects.get(user_id=self.user)
def _create_stocks(self, cad, gbx, hkd, jpy, sek, start_date, usd): stocks = [ Stock(symbol='MIK', name='The Michaels Company', currency=usd), Stock(symbol='DEDI.ST', name='Dedicare AB', currency=sek), Stock(symbol='CARD.L', name='Card Factory', currency=gbx), Stock(symbol='MOMO', name='Momo', currency=usd), Stock(symbol='1997.T', name='Akatsuki Eazima', currency=jpy), Stock(symbol='3932.T', name='Akatsuki', currency=jpy), Stock(symbol='1830.HK', name='Perfect Shape', currency=hkd), Stock(symbol='DR.TO', name='Medical Facilities Corporation', currency=cad), Stock(symbol='NHTC', name='Natural Health Trends Corp.', currency=usd), Stock(symbol='SCS.L', name='SCS Group', currency=gbx), ] Stock.objects.bulk_create(stocks) stock_symbols = [stock.symbol for stock in stocks] call_command('fetch_historical_stock_data', *stock_symbols, '--force-update', '--start', start_date.strftime('%Y-%m-%d'))
def get_stock(request): context = {} result = ts.get_stock_basics() print(result.shape) #result = result.head(2) stock_json = result.to_json(orient='records', force_ascii=False) stock_list = json.loads(stock_json) stock_object_list = [] for i in stock_list: stock_object_list.append(Stock(i['name'], i['industry'], i['area'], i['pb'], i['pe'])) context['all'] = stock_object_list return render(request, 'stock.html', context)
def get_stock_model(row): stock = Stock() stock.symbol = row[0] stock.series = row[1] stock.open_stock = row[2] stock.high_value = row[3] stock.low_value = row[4] stock.close_value = row[5] stock.last_value = row[6] stock.prev_close_value = row[7] stock.ttr_dqty_value = row[8] stock.ttr_dval_value = row[9] stock.time_stamp = datetime.strptime(row[10], '%d-%b-%Y').date() stock.total_trades = row[11] stock.isin = row[12] return stock
def playground_view(request): stock_id = "2330" msg = '' # access stock from db stock = Stock().getNewestStock(stock_id) # get price change from stock try: # get full info of stock end_price = stock.end_price yesterday_end = stock.yesterday_end change = round(float(end_price) - float(yesterday_end), 2) except: msg += '錯誤:無法取得股票漲跌資訊\n' change = '' # get time try: # get current time in 'Asia/Taipei' current_time = datetime.now() except: msg += '錯誤:無法取得時間\n' current_time = '' return render( request, 'dailyGame/playground.html', { 'notif_num': Notification.objects.filter(n_to=request.user, is_read=False).count(), 'stock': stock, 'change': change, 'current_time': current_time, 'msg': msg })
def rebook_stock_to_destination(self): rebook_amount = self.form.cleaned_data.get("amount") self.destination_stock = Stock.objects.filter( lagerplatz=self.position, sku_instance=self.stock.sku_instance) if self.destination_stock.count() > 0: self.destination_stock = self.destination_stock.first() else: self.destination_stock = None if self.destination_stock is None: self.destination_stock = Stock( lagerplatz=self.position, sku_instance=self.stock.sku_instance, sku=self.stock.sku_instance.sku) if self.destination_stock is not None: if self.destination_stock.bestand is None: self.destination_stock.bestand = rebook_amount else: self.destination_stock.bestand += rebook_amount self.destination_stock.save() self.pre_rebook_stock_to_destination( self.destination_stock, self.destination_stock.sku_instance, self.destination_stock.lagerplatz) if rebook_amount > 0: if self.stock.bestand - rebook_amount >= 0: self.destination_stock.save() if self.stock.bestand - rebook_amount == 0: self.stock.delete() else: self.stock.bestand -= rebook_amount self.stock.save()
def bookin_product_on_position(self): query_condition = Q( Q(product=self.product, lagerplatz__iexact=self.position.name, zustand=self.state) | (Q(ean_vollstaendig=self.product.ean, lagerplatz__iexact=self.position.name, zustand=self.state))) self.stock = Stock.objects.filter(query_condition).first() print(f"bbaba: {self.position.name} - {self.stock}") if self.stock is None: self.stock = Stock(ean_vollstaendig=self.product.ean, zustand=self.state, lagerplatz=self.position.name, product=self.product) print(f"GUTE FRAGE : {self.bookin_amount} - {self.stock.bestand}") print(f"bbaba2: {self.position.name} - {self.stock.lagerplatz}") if self.stock.bestand is not None: self.stock.bestand += self.bookin_amount else: self.stock.bestand = self.bookin_amount self.stock.save()
def stock_view(request): msg = '' if request.method == 'GET' and 'stock_id' in request.GET: stock_id = request.GET['stock_id'] else: stock_id = None # access stock from db stock = Stock().getNewestStock(stock_id) # get price change from stock try: # get full info of stock end_price = stock.end_price yesterday_end = stock.yesterday_end change = round(float(end_price) - float(yesterday_end), 2) except: msg += '錯誤:無法取得股票漲跌資訊\n' change = '' # get time try: # get current time in 'Asia/Taipei' current_time = datetime.now() except: msg += '錯誤:無法取得時間\n' current_time = '' return render(request, 'trade/stock.html', { 'notif_num': Notification.objects.filter(n_to = request.user, is_read = False).count(), 'stock_id': stock_id, 'stock': stock, 'change': change, 'current_time': current_time, 'msg': msg })
def create(self, validated_data): stocks = [Stock(**item) for item in validated_data] return Stock.objects.bulk_create(stocks)
stock_code = pd.read_html( 'http://kind.krx.co.kr/corpgeneral/corpList.do?method=download', header=0)[0] stock_code.sort_values(['상장일'], ascending=True) stock_code = stock_code[['회사명', '종목코드']] stock_code = stock_code.rename(columns={'회사명': 'company', '종목코드': 'code'}) stock_code.code = stock_code.code.map('{:06d}'.format) # company = input() company = sys.argv[1] code = stock_code[stock_code.company == company].code.values[0].strip() url = 'http://finance.naver.com/item/sise.nhn?code={code}'.format(code=code) print(url) req_header = { 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 11_0_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36' } res = requests.get(url, headers=req_header) print(res.status_code) soup = BeautifulSoup(res.text, 'html.parser') price = soup.select_one('div > p.no_today span.blind').get_text() url = url Stock(name=company, code=code, price=price, url=url).save()