1name: equity_research 2description: | 3 Sector / thematic research arena. Adapted from Anthropic Cowork's 4 market-researcher cookbook — three sub-agents (sector reader, comps 5 spreader, note writer) produce a research-note-quality deliverable on 6 a sector or theme. 7 8 Target: free-text sector or theme + optional angle. 9 target = { sector: "AI semiconductors", angle: "valuation reset", 10 tickers: ["NVDA","AMD","AVGO","MRVL","ARM"] } 11 12 The tickers list is the peer set the comps spreader spreads. If omitted, 13 the sector reader is asked to surface 8-15 names first. 14 15 Outputs a GenericDecision envelope to maf:decisions:out (not actions:out 16 — this is research, not trading). 17 18schedule: null 19output_stream: "maf:arena:equity_research:output" 20max_iterations: 1 21target_key: sector_id 22 23llm: 24 default_provider: ollama 25 quick_provider: ollama 26 quick_model: "auto" 27 deep_provider: ollama 28 deep_model: "auto" 29 providers: 30 ollama: 31 api_key: "${OLLAMA_API_KEY}" 32 model: "auto" 33 base_url: "https://ollama.com/v1" 34 max_output_tokens: 8192 35 temperature: 0.3 36 37memory: {} 38 39# Sources — the upstream cookbook calls CapIQ / FactSet MCPs. We translate 40# to trtools2_api (snapshot for multiples), web_search + sec_filings (for 41# landscape + TAM), fomo2_knowledge (cached graph context), trtools2_news 42# + fomo2_items (recent news), fred_api (macro context). 43sources: 44 - name: snapshot 45 adapter: trtools2_api 46 config: 47 query_type: snapshot 48 - name: bars_history 49 adapter: trtools2_api 50 config: 51 query_type: bars 52 timeframe: 1d 53 lookback_days: 90 54 limit: 90 55 - name: latest_news 56 adapter: trtools2_news 57 config: 58 count: 50 59 - name: macro_context 60 adapter: fred_api 61 config: {} 62 - name: sector_graph 63 adapter: fomo2_knowledge 64 config: {} 65 - name: filings 66 adapter: sec_filings 67 config: {} 68 - name: web 69 adapter: web_search 70 config: {} 71 72 # EODHD MCP — institutional-grade fundamentals + earnings calendar + 73 # news. Adds real depth to comps_spreader and sector_reader when 74 # $EODHD_API_KEY is set; gracefully no-ops otherwise. 75 - name: eodhd_fundamentals 76 adapter: eodhd 77 config: 78 tool: get_fundamentals 79 - name: eodhd_earnings_calendar 80 adapter: eodhd 81 config: 82 tool: get_earnings_calendar 83 - name: eodhd_eod 84 adapter: eodhd 85 config: 86 tool: get_eod_data 87 - name: eodhd_resolve_ticker 88 adapter: eodhd 89 config: 90 tool: resolve_ticker 91 - name: eodhd_news 92 adapter: eodhd 93 config: 94 tool: get_news 95 96# Smart triggers — fire research when a sector event lands. 97triggers: 98 - name: "mirofish high-impact crowd-sim mentions a sector" 99 on_stream: "mirofish:sims:emitted" 100 when: "payload.tickers != [] and payload.tickers != None" 101 target: 102 sector_id: "auto" 103 tickers: "{payload.tickers}" 104 cooldown_s: 1800 105 action_mode: manual 106 107phases: 108 - name: research 109 pattern: parallel 110 transition: synthesis 111 agents: 112 - name: sector_reader 113 role: specialist 114 system_prompt_file: src/maf/prompts/anthropic_fs/agents/sector_reader.md 115 sources: 116 - latest_news 117 - sector_graph 118 - filings 119 - web 120 - macro_context 121 - eodhd_news # ← EODHD MCP: institutional news 122 - eodhd_resolve_ticker # ← EODHD MCP: name → SYMBOL.EXCHANGE 123 llm_tier: deep 124 max_react_steps: 6 125 - name: comps_spreader 126 role: specialist 127 system_prompt_file: src/maf/prompts/anthropic_fs/agents/comps_spreader.md 128 sources: 129 - snapshot 130 - bars_history 131 - eodhd_fundamentals # ← EODHD MCP: real ratios (EV/Sales, EV/EBITDA, P/E NTM) 132 - eodhd_eod # ← EODHD MCP: clean EOD bars when trtools2 stale 133 - eodhd_earnings_calendar # ← EODHD MCP: upcoming catalysts 134 llm_tier: quick 135 max_react_steps: 6 136 137 - name: synthesis 138 pattern: sequential 139 transition: END 140 agents: 141 - name: note_writer 142 role: synthesis 143 # Vendored note-writer prompt — synthesises the upstream specialists' 144 # AgentSignals into a research-note-quality deliverable. 145 system_prompt_file: src/maf/prompts/anthropic_fs/agents/note_writer.md 146 llm_tier: deep 147 max_react_steps: 1