ThematicScreener
Screen a universe of companies for exposure to a given theme using LLM-powered analysis. Parametersllm_model(str): LLM<provider::model>to use for text processing and analysis (e.g.,"openai::gpt-4o-mini").main_theme(str): The main theme to screen for. Sub-themes are generated from this.companies(List[Company]): List of companies to analyze.start_date(str): Start date for searching relevant documents (YYYY-MM-DD).end_date(str): End date for searching relevant documents (YYYY-MM-DD).document_type(DocumentType): Type of documents to search (NEWS,FILINGS,TRANSCRIPTS).fiscal_year(int, optional): Fiscal year to analyze.sources(Optional[List[str]]): Filter search results by document sources.rerank_threshold(Optional[float]): Threshold for reranking search results.focus(str, optional): Focus for sub-theme generation.
ThematicScreenerinstance.
screen_companies
Screen companies for thematic exposure and generate labeled results, company/industry summaries, and motivations. Parametersdocument_limit(int, optional): Max documents per query (default: 10).batch_size(int, optional): Number of entities per batch (default: 10).frequency(str, optional): Date range frequency ('Y','M','W','D', default:'3M').word_range(Tuple[int, int], optional): Word count range for motivations (default:(50, 100)).export_path(str, optional): Path to export results as Excel.
dictwith:df_labeled: DataFrame with labeled search results.df_company: DataFrame with company-level output.df_industry: DataFrame with industry-level output.theme_tree: ThemeTree object used for screening.

