73 lines
2.8 KiB
YAML
73 lines
2.8 KiB
YAML
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
|
|
|
|
# Always on: saves each run's fetched data + full prompt + raw/parsed
|
|
# analysis to disk (one timestamped subdirectory per run). This is both a
|
|
# debugging aid and the source of the previous run's report.md, which the
|
|
# prompt reads back to dedup each briefing against the last one.
|
|
archive:
|
|
dir: ~/.local/state/stonks/runs
|
|
|
|
# Always on: a simulated paper-trading account Claude's own buy/sell
|
|
# recommendations execute against (never other advisors' — see
|
|
# analyzer.advisors). State (cash, open positions, running profit) persists
|
|
# in portfolio.json under dir, and Claude's freeform decision notes persist
|
|
# alongside it in memory.md. All position sizing/leverage math and profit
|
|
# calculation is done in Go (internal/portfolio), not by Claude — Claude
|
|
# only requests an amount_usd/leverage per call.
|
|
portfolio:
|
|
dir: ~/.local/state/stonks
|
|
initial_budget_usd: 10000
|
|
max_leverage: 3
|