File size: 3,891 Bytes
3208dbf
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
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!"