You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
swarms/examples/multi_agent/orchestration_examples/investment_council_meeting.py

125 lines
3.6 KiB

from swarms import Agent
from swarms.structs.multi_agent_debates import CouncilMeeting
# Initialize the investment council members
investment_chair = Agent(
agent_name="Investment-Chair",
agent_description="Investment committee chairperson",
system_prompt="""You are the investment committee chair with expertise in:
- Portfolio strategy
- Risk management
- Asset allocation
- Investment governance
- Performance oversight
Lead the council meeting effectively while ensuring thorough analysis and proper decision-making.""",
model_name="claude-3-sonnet-20240229",
)
equity_strategist = Agent(
agent_name="Equity-Strategist",
agent_description="Global equity investment strategist",
system_prompt="""You are a senior equity strategist specializing in:
- Global equity markets
- Sector allocation
- Factor investing
- ESG integration
- Market analysis
Provide insights on equity investment opportunities and risks.""",
model_name="claude-3-sonnet-20240229",
)
fixed_income_specialist = Agent(
agent_name="Fixed-Income-Specialist",
agent_description="Fixed income portfolio manager",
system_prompt="""You are a fixed income specialist expert in:
- Bond market analysis
- Credit risk assessment
- Duration management
- Yield curve strategies
- Fixed income derivatives
Contribute expertise on fixed income markets and strategies.""",
model_name="claude-3-sonnet-20240229",
)
risk_manager = Agent(
agent_name="Risk-Manager",
agent_description="Investment risk management specialist",
system_prompt="""You are a risk management expert focusing on:
- Portfolio risk analysis
- Risk modeling
- Scenario testing
- Risk budgeting
- Compliance oversight
Provide risk assessment and mitigation strategies.""",
model_name="claude-3-sonnet-20240229",
)
alternatives_expert = Agent(
agent_name="Alternatives-Expert",
agent_description="Alternative investments specialist",
system_prompt="""You are an alternative investments expert specializing in:
- Private equity
- Real estate
- Hedge funds
- Infrastructure
- Private credit
Contribute insights on alternative investment opportunities.""",
model_name="claude-3-sonnet-20240229",
)
# Initialize the council meeting
council = CouncilMeeting(
council_members=[
equity_strategist,
fixed_income_specialist,
risk_manager,
alternatives_expert,
],
chairperson=investment_chair,
voting_rounds=2,
require_consensus=True,
output_type="str-all-except-first",
)
# Investment proposal for discussion
investment_proposal = """
Strategic Asset Allocation Review and Proposal
Current Market Context:
- Rising inflation expectations
- Monetary policy tightening cycle
- Geopolitical tensions
- ESG considerations
- Private market opportunities
Proposed Changes:
1. Reduce developed market equity allocation by 5%
2. Increase private credit allocation by 3%
3. Add 2% to infrastructure investments
4. Implement ESG overlay across equity portfolio
5. Extend fixed income duration
Risk Considerations:
- Impact on portfolio liquidity
- Currency exposure
- Interest rate sensitivity
- Manager selection risk
- ESG implementation challenges
Required Decisions:
1. Approve/modify allocation changes
2. Set implementation timeline
3. Define risk monitoring framework
4. Establish performance metrics
5. Determine rebalancing triggers
"""
# Execute the council meeting
council_output = council.run(investment_proposal)
print(council_output)