How the agent works
Quawd’s agent is a small set of tools wired together by a loop: it builds, tests, probes, and discovers. The agent doesn’t think for you — it makes the slow parts cheap so you can think about more strategies, faster.
Here’s what each tool does, and when the agent reaches for it.
Thesis → Scan → Build → Backtest
Before any of the tool families below, there’s a loop. Most trading ideas don’t have edge — the research workflow kills the bad ones cheap so deep work only goes into the survivors.
- Thesis
Describe an idea in plain English — the universe, the condition, the horizon you care about.
- Scan
signal_scantests whether the condition has forward-return edge in seconds. Four scalars, one verdict. - Build
Reliable ideas flow into the strategy builder — same condition becomes the entry, then add exits, sizing, and risk.
- Backtest
Full historical validation with trade-level results, walk- forward across regimes, and the probe tools that explain every entry.
Every step lives inside a research project so nothing falls through the cracks.
Build
The agent takes a sentence like “buy SPY when RSI(2) is oversold in an uptrend” and assembles it into typed, composable cards.
builder_create— start a strategy from a name + universe
builder_add_condition— express a single condition (price > X, RSI < N, regime checks, band events)
builder_compose— combine conditions with AND / OR / NOT / sequence
builder_attach— wire conditions to roles: entry / exit / gate / overlay
builder_set_sizing— capital per trade
builder_set_position_policy— single / accumulate / scale-in
builder_set_execution— order type (market / limit / stop)
Every time you describe a strategy in plain English, or ask for a tweak to an existing one.
Strategies are made of small typed pieces. Compiling intent into cards means every edit is local, every backtest is reproducible, and the same strategy can run in backtest, walk-forward, and paper trading without translation.
Test
Once a strategy exists, the agent runs it. A single tool call gets you a backtest. Pass a list of values in the same call and it becomes a sweep. Walk-forward is a sibling tool with the same calling shape.
run_backtest— backtest one strategy on a date range; supports sweeps over any parameter
walk_forward— sequential windows, each window’s stats reported separately
compare_backtests— diff two runs side by side
rerun_backtest— replay an existing run with new overrides
After every meaningful edit. When you want to know what would happen if the entry threshold were different. When you want to know if the edge holds across regimes.
A single backtest is one data point. Sweeps and walk-forward make probing the parameter space and time dimension almost free — and they share the same kernel as the single backtest, so the numbers are comparable.
Probe
After a backtest produces a number, the agent can explain how it got there. These tools answer “why did this trade fire?” and “is this signal real or curve-fit?”
explain_entry— why did this trade fire? returns the conditions that were true at that bar
explain_no_entry— why didn’t a trade fire? returns the conditions that blocked it
get_condition_timeline— per-condition truth values over time
signal_compare— compare entries across strategy variants
assess_overfitting_risk— flag parameters tuned too tightly to the in-sample window
validate_on_holdout— re-run on a date range the strategy hasn’t seen
correlate_strategies— return correlation between strategies’ returns
When a result is surprising. When you want to trust a strategy before sizing up. When a tweak doesn’t change the headline number but you want to know if it changed the trade selection underneath.
A backtest that can’t tell you why it took a trade isn’t worth running. The Probe family is what makes the agent’s output auditable.
Discover
Some strategies are about one symbol. Others are about finding the symbols where a condition is firing today. Scan tools cover the second case.
signal_scan— scan a specific list of symbols for a condition
signal_universe_scan— scan a whole universe (S&P 500, tech sector, your watchlist)
get_scan_batch— pull results for a scan run
scan_run_list— see prior scans
When the question is “where is this setup firing today?” rather than “how would this strategy do on SPY?”
Strategy-to-history and strategy-to-universe are different axes. The Discover family covers the second axis without re-running history for every symbol.
See the loop in action
Watch a real strategy go from a one-line idea to a battle-tested edge across five years and multiple regimes — one chat message at a time.