targets: crypto: [BTC-USD, ETH-USD, SOL-USD, ZEC-USD] equities: [AAPL, GOOGL, TSLA, AVGO, NVDA, INTC, AMD, AMZN, CRCL, MSTR, META, ORCL] futures: gold: GC=F silver: SI=F crude_oil: CL=F # Bare base+quote codes, no provider suffix — the yfinance fetcher adds # whatever suffix Yahoo needs (=X) internally. forex: [JPYTWD, USDTWD] fetchers: - name: yfinance - name: finnhub params: api_key_env_var: FINNHUB_API_KEY news_lookback_days: 1 - name: rss params: feeds: # feeds.reuters.com was retired (domain no longer resolves) — see # PLAN.md's note on RSS feed URLs occasionally getting retired. - https://www.investing.com/rss/news.rss - https://www.coindesk.com/arc/outboundfeeds/rss/ max_items_per_feed: 10 max_age_hours: 48 analyzer: # "subscription" shells out to the `claude` CLI, billed against a Claude # Pro/Max subscription's usage limits ($0 marginal cost for one call/day). # "api" calls the Messages API directly with ANTHROPIC_API_KEY, billed # per token (~$1-3/month at this volume — see PLAN.md). mode: subscription model: claude-opus-5 # only used in "api" mode effort: medium # only used in "api" mode # Multi-agent mode: the same fetched data is also piped to these CLIs; # their independent takes are appended to Claude's prompt as extra # context (Claude still writes the one final report). Requires `gemini` # and `codex` to be installed and separately logged in on this host # (`gemini` / `codex login`) — remove an entry, or the whole list, to # disable it for that CLI. A failing/unauthenticated advisor is logged # as a warning and simply excluded, it does not fail the run. advisors: #- name: Gemini # command: gemini - name: Codex command: codex args: [exec, "-"] outputs: - name: discord params: webhook_env_var: DISCORD_WEBHOOK_URL # Optional: save each run's fetched data + full prompt + raw/parsed analysis # to disk (one timestamped subdirectory per run) — useful for debugging # prompt or parsing issues without reproducing a live run. Off by default. archive: enabled: false dir: ~/.local/state/stonks/runs