from agents.specialists.stock_analyst.agent import StockAnalystSpecialist
from oss_agent_lab.contracts import Intent, Query, SpecialistRequest
specialist = StockAnalystSpecialist()
request = SpecialistRequest(
intent=Intent(
action="analyze",
domain="finance",
confidence=0.95,
parameters={"ticker": "AAPL", "period": "1y", "days": 14},
),
query=Query(user_input="AAPL"),
specialist_name="stock_analyst",
)
response = await specialist.execute(request)
print(response.result["summary"]["overall_stance"])
{
"ticker": "AAPL",
"fundamental": {
"price": 182.0,
"market_cap": 295.4,
"pe_ratio": 28.0,
"recommendation": "hold",
"sector": "Technology"
},
"technical": {
"rsi": 54.0,
"macd": {"line": 1.2, "signal": 0.8, "histogram": 0.4},
"moving_averages": {"sma_20": 183.6, "sma_50": 185.2, "sma_200": 179.1},
"signals": ["RSI neutral", "MACD bullish crossover", "Short-term trend above medium-term: bullish bias"]
},
"sentiment": {
"overall_sentiment": "positive",
"articles_analyzed": 23,
"key_themes": ["earnings beat", "product launch"],
"sentiment_score": 0.65
},
"summary": {
"overall_stance": "bullish",
"confidence": 0.715,
"key_signals": ["Fundamental: hold (P/E 28.0)", "Sentiment: positive (+0.650)"],
"risk_note": "Simulated outputs — not financial advice. Verify with live market data before acting."
}
}