from crewai import Task from textwrap import dedent class StockAnalysisTasks(): def research(self, agent, company): return Task(description=dedent(f""" Collect and summarize recent news articles, press releases, and market analyses related to the stock and its industry. Pay special attention to any significant events, market sentiments, and analysts' opinions. Also include upcoming events like earnings and others. Your final answer MUST be a report that includes a comprehensive summary of the latest news, any notable shifts in market sentiment, and potential impacts on the stock. Also make sure to return the stock ticker. {self.__tip_section()} Make sure to use the most recent data as possible. Selected company by the customer: {company} """), expected_output="A detailed report covering the specified analysis points", agent=agent ) def financial_analysis(self, agent): return Task(description=dedent(f""" Conduct a thorough analysis of the stock's financial health and market performance. This includes examining key financial metrics such as P/E ratio, EPS growth, revenue trends, and debt-to-equity ratio. Also, analyze the stock's performance in comparison to its industry peers and overall market trends. Your final report MUST expand on the summary provided but now including a clear assessment of the stock's financial standing, its strengths and weaknesses, and how it fares against its competitors in the current market scenario.{self.__tip_section()} Make sure to use the most recent data possible. """), expected_output="A detailed report covering the specified analysis points", agent=agent ) def filings_analysis(self, agent): return Task(description=dedent(f""" Analyze the latest 10-Q and 10-K filings from EDGAR for the stock in question. Focus on key sections like Management's Discussion and Analysis, financial statements, insider trading activity, and any disclosed risks. Extract relevant data and insights that could influence the stock's future performance. Your final answer must be an expanded report that now also highlights significant findings from these filings, including any red flags or positive indicators for your customer. {self.__tip_section()} """), expected_output="A detailed report covering the specified analysis points", agent=agent ) def recommend(self, agent): return Task(description=dedent(f""" Review and synthesize the analyses provided by the Financial Analyst and the Research Analyst. Combine these insights to form a comprehensive investment recommendation. You MUST Consider all aspects, including financial health, market sentiment, and qualitative data from EDGAR filings. Make sure to include a section that shows insider trading activity, and upcoming events like earnings. Your final answer MUST be a recommendation for your customer. It should be a full super detailed report, providing a clear investment stance and strategy with supporting evidence. Make it pretty and well formatted for your customer. {self.__tip_section()} """), expected_output="A detailed report covering the specified analysis points", agent=agent ) def __tip_section(self): return "If you do your BEST WORK, I'll give you a $10,000 commission!"