diff --git a/python/valuecell/adapters/assets/manager.py b/python/valuecell/adapters/assets/manager.py index 2662556af..77916032d 100644 --- a/python/valuecell/adapters/assets/manager.py +++ b/python/valuecell/adapters/assets/manager.py @@ -443,6 +443,9 @@ def _fallback_search_assets( if ":" not in ticker: continue + if not self.get_adapter_for_ticker(ticker): + continue + # Try to get asset info try: asset_info = self.get_asset_info(ticker) diff --git a/python/valuecell/adapters/assets/yfinance_adapter.py b/python/valuecell/adapters/assets/yfinance_adapter.py index 529e11fd2..735a86006 100644 --- a/python/valuecell/adapters/assets/yfinance_adapter.py +++ b/python/valuecell/adapters/assets/yfinance_adapter.py @@ -140,7 +140,7 @@ def _create_search_result_from_quote( ) # Validate the ticker format - if not self._is_valid_internal_ticker(internal_ticker): + if not self.validate_ticker(internal_ticker): logger.debug( f"Invalid ticker format after conversion: {internal_ticker}" ) @@ -170,11 +170,6 @@ def _create_search_result_from_quote( "en-GB": long_name or short_name, } - # Calculate relevance score based on match quality - relevance_score = self._calculate_search_relevance( - quote, symbol, long_name or short_name - ) - # Create search result search_result = AssetSearchResult( ticker=internal_ticker, @@ -184,7 +179,6 @@ def _create_search_result_from_quote( country=country, currency=quote.get("currency", "USD"), market_status=MarketStatus.UNKNOWN, - relevance_score=relevance_score, ) # Save asset metadata to database for future lookups @@ -234,6 +228,7 @@ def get_asset_info(self, ticker: str) -> Optional[Asset]: long_name = info.get("longName", info.get("shortName", ticker)) names.set_name("en-US", long_name) + exchange = None if info.get("exchange"): exchange = self.exchange_mapping.get(info.get("exchange"))