diff --git a/app/create_institute_db.py b/app/create_institute_db.py index 6479a9f..7c24373 100755 --- a/app/create_institute_db.py +++ b/app/create_institute_db.py @@ -175,11 +175,12 @@ async def save_portfolio_data(self, session, cik): self.conn.commit() return + performance_percentages = [item.get("performancePercentage", 0) for item in holdings_data] + #Filter information out that is not needed (yet)! holdings_data = [{"symbol": item["symbol"], "securityName": item["securityName"], 'weight': item['weight'], 'sharesNumber': item['sharesNumber'], 'changeInSharesNumberPercentage': item['changeInSharesNumberPercentage'], 'putCallShare': item['putCallShare'], "marketValue": item["marketValue"], 'avgPricePaid': item['avgPricePaid']} for item in holdings_data] number_of_stocks = len(holdings_data) - performance_percentages = [item.get("performancePercentage", 0) for item in holdings_data] positive_performance_count = sum(1 for percentage in performance_percentages if percentage > 0) win_rate = round(positive_performance_count / len(performance_percentages) * 100, 2) if performance_percentages else 0 @@ -262,7 +263,7 @@ async def save_insitute(self, institutes): tasks.append(self.save_portfolio_data(session, cik)) i += 1 - if i % 400 == 0: + if i % 300 == 0: await asyncio.gather(*tasks) tasks = [] print('sleeping mode: ', i) diff --git a/app/restart_json.py b/app/restart_json.py index 09be0f5..bfc557d 100755 --- a/app/restart_json.py +++ b/app/restart_json.py @@ -113,7 +113,7 @@ async def get_stock_screener(con,symbols): cursor.execute("SELECT symbol, name, price, changesPercentage FROM stocks WHERE price IS NOT NULL AND changesPercentage IS NOT NULL") raw_data = cursor.fetchall() - searchbar_data = [{ + stocks_data = [{ 'symbol': row[0], 'name': row[1], 'price': row[2], @@ -121,15 +121,15 @@ async def get_stock_screener(con,symbols): } for row in raw_data] - # Create a dictionary to map symbols to 'price' and 'changesPercentage' from searchbar_data - searchbar_data_map = {entry['symbol']: (entry['price'], entry['changesPercentage']) for entry in searchbar_data} + # Create a dictionary to map symbols to 'price' and 'changesPercentage' from stocks_data + stocks_data_map = {entry['symbol']: (entry['price'], entry['changesPercentage']) for entry in stocks_data} # Iterate through stock_screener_data and update 'price' and 'changesPercentage' if symbols match # Add VaR value to stock screener for item in stock_screener_data: symbol = item['symbol'] - if symbol in searchbar_data_map: - item['price'], item['changesPercentage'] = searchbar_data_map[symbol] + if symbol in stocks_data_map: + item['price'], item['changesPercentage'] = stocks_data_map[symbol] try: with open(f"json/var/{symbol}.json", 'r') as file: item['var'] = ujson.load(file)['var'] @@ -147,12 +147,10 @@ async def get_stock_screener(con,symbols): item['ratingRecommendation'] = 2 else: item['ratingRecommendation'] = None - except: item['ratingRecommendation'] = None - return stock_screener_data