Thesis-driven
Every position starts as a written hypothesis with a valuation, horizon, target, and stop. Research is evaluated against the thesis, not in the abstract.
Cents is a CLI sandbox for treating investing as a hypothesis-testing exercise — write down a thesis, declare which regime variables it depends on, and let the system flag when one of those dependencies shifts. Pluggable screeners discover candidate universes, specialised research agents gather evidence, and an autonomous factory loop walks the cycle in paper mode only — producing a labeled outcomes dataset you can study.
git clone https://github.com/wolfbane/cents.gitcd cents && pip install .Demo recording coming soon.
The asciinema cast at /demo.cast is a placeholder. Once recorded,
it will play here in-browser.
Thesis-driven
Every position starts as a written hypothesis with a valuation, horizon, target, and stop. Research is evaluated against the thesis, not in the abstract.
Regime-aware
Each thesis declares the policy / macro variables it depends on
(tariffs.china, fed_policy, ai_capex…). An EventAgent ingests
Federal Register policy events; when an event hits one of your tags,
you get a premise-invalidation alert — before the market fully
prices it.
Multi-agent
Eight specialised agents — fundamentals, technical, macro, sentiment, moat, insider, event, plus an orchestrator — pull from FMP, Alpaca, FRED, NewsAPI, and the Federal Register; each contributes evidence and a conviction delta.
Paper-only factory
cents factory run walks a universe of symbols and opens
paper theses where the orchestrator clears your entry
threshold (with neutral twins in paired mode), closing on target /
stop / horizon / premise-invalidation. Hard-coded to paper — real
trading is out of scope.
Pluggable screeners
Five built-in discovery strategies — value, growth, momentum,
mean-reversion, insider-cluster — that turn a parent universe into
a candidate list the factory walks. Every thesis records which
screener produced it, so cents factory analyze --by discovery
surfaces which discovery strategy wins in which regime.
Accuracy-tracking
Outcomes are recorded with a closure reason — correct / incorrect / unclear / invalidated / preempted — plus the regime snapshot captured at thesis birth, so you can stratify later instead of averaging across regimes that have nothing to do with each other.
Cost-visible
Every Anthropic call is recorded to an llm_usage table; cents usage summary reports input/output/cache tokens and estimated cost
by agent, model, day, or operation. Nothing about the cost of
autonomy is hidden.
Scope
What cents is, what it is not, and why real-money trading is out of scope. Read this first. Read the scope →
Quickstart
A 5-step walkthrough from zero to your first paper scan. Read the quickstart →
How it thinks
The operating principles behind regime-awareness, premise tags, and the factory’s labeled-outcomes goal. Read the principles →
Star on GitHub
Source, issues, and discussions live at github.com/wolfbane/cents.