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.
72 lines
2.4 KiB
72 lines
2.4 KiB
|
|
from swarms.structs.agent import Agent
|
|
from swarms.prompts.finance_agent_sys_prompt import FINANCIAL_AGENT_SYS_PROMPT
|
|
|
|
# Technical Analysis Specialist
|
|
technical_analyst = Agent(
|
|
agent_name="Technical-Analysis-Expert",
|
|
agent_description="Advanced technical analysis specialist focusing on complex market patterns",
|
|
system_prompt="""You are an expert Technical Analyst specializing in:
|
|
1. Advanced Pattern Recognition (Elliot Wave, Wyckoff Method)
|
|
2. Multi-timeframe Analysis
|
|
3. Volume Profile Analysis
|
|
4. Market Structure Analysis
|
|
5. Intermarket Analysis""",
|
|
max_loops=3,
|
|
model_name="gpt-4"
|
|
)
|
|
|
|
# Fundamental Analysis Expert
|
|
fundamental_analyst = Agent(
|
|
agent_name="Fundamental-Analysis-Expert",
|
|
agent_description="Deep fundamental analysis specialist",
|
|
system_prompt="""You are a Fundamental Analysis expert focusing on:
|
|
1. Advanced Financial Statement Analysis
|
|
2. Economic Indicator Impact Assessment
|
|
3. Industry Competitive Analysis
|
|
4. Global Macro Trends
|
|
5. Corporate Governance Evaluation""",
|
|
max_loops=3,
|
|
model_name="gpt-4"
|
|
)
|
|
|
|
# Risk Management Specialist
|
|
risk_analyst = Agent(
|
|
agent_name="Risk-Management-Expert",
|
|
agent_description="Complex risk analysis and management specialist",
|
|
system_prompt="""You are a Risk Management expert specializing in:
|
|
1. Portfolio Risk Assessment
|
|
2. Value at Risk (VaR) Analysis
|
|
3. Stress Testing Scenarios
|
|
4. Correlation Analysis
|
|
5. Risk-Adjusted Performance Metrics""",
|
|
max_loops=3,
|
|
model_name="gpt-4"
|
|
)
|
|
|
|
class MarketAnalysisSystem:
|
|
def __init__(self):
|
|
self.agents = [technical_analyst, fundamental_analyst, risk_analyst]
|
|
|
|
def comprehensive_analysis(self, asset_data):
|
|
analysis_results = []
|
|
for agent in self.agents:
|
|
analysis = agent.run(f"Analyze this asset data: {asset_data}")
|
|
analysis_results.append({
|
|
"analyst": agent.agent_name,
|
|
"analysis": analysis
|
|
})
|
|
|
|
# Synthesize results through risk analyst for final recommendation
|
|
final_analysis = risk_analyst.run(
|
|
f"Synthesize these analyses and provide a final recommendation: {analysis_results}"
|
|
)
|
|
|
|
return {
|
|
"detailed_analysis": analysis_results,
|
|
"final_recommendation": final_analysis
|
|
}
|
|
|
|
# Usage
|
|
analysis_system = MarketAnalysisSystem()
|