Skip to content

Structure is your agent for building systematic trading strategies

Request demo
  • Investors behind
  • Investors behind
  • Founded by alumni of
  • Founded by alumni of

Turn ideas into strategy logic

Describe a strategy in plain language. Agents turn it into explicit logic you can inspect, edit, and test.

An agent session beside the Strategy Builder. The user's objective reads: "Build a market-neutral residual reversion strategy on the 500 most liquid US stocks. Hedge out market and sector moves, price everything off the quote mid, hold one to five days, and run $50M gross with no name above 2%." The agent worked for 3m 48s; its steps are open: Created strategy (Equities › Stat arb), Added sources (Quote update + 2 ETFs), Added 11 nodes (Mid → Size), Wrote state machine (3 states, 4 rules), Validated Revision 1 (0 errors). It replies with reference chips to what it built: "Drafted Revision 1 in Equities › Stat arb. Quotes → Mid → Residual vs sector ETF (β over 60 d) → s-score; enter at s < −1.25, exit at s > −0.50 or after 5 days; at most 2% of gross per name. Size risks 25 bp a day per name from Residual vol and skips names under $25M ADV; earnings within 2 d takes any position flat." The Residual vs sector ETF chip is open, and the Builder beside the session shows Revision 1, Valid, with that node selected on the Quote update graph, laid out left to right. It opens at 35% on the left of the graph: the quotes, the mids and the selected node in full, with the column it feeds running off the right edge. The graph: the bid and ask of each name's quote and of the Sector ETF and Market ETF quotes feed three mids, which feed Residual vs sector ETF (sector and market factors, 60-day β window); its residual feeds the s-score, a 60-day rolling z-score written to the s_score slot, and a 20-day EWMA volatility that sets the size, with the adv_20d memory read as a liquidity floor and the max_name_weight parameter, 2% of gross, as a cap, written to the target_size slot. With a mouse or trackpad the canvas can be panned by dragging and zoomed by pinching or with Ctrl or Command and the scroll wheel.

Run the research loop

Agents backtest, diagnose, and revise your strategies, with every change tracked and validated.

A Structure agent session running a research loop on Residual Reversion, beside a backtest. The user's brief: "Improve Residual Reversion's net Sharpe. Anchored walk-forward: refit on everything before each test year, test 2018–2025 one year at a time with a 10-day embargo, and leave Jan–Jun 2026 untouched. Cost every fill at the live model plus 1 bp. Keep a change only if it lifts net Sharpe in at least 6 of 8 test years and survives a deflated-Sharpe haircut for everything you try. Budget: 400 backtests." Earlier passes are collapsed into one completed work group. In the open pass the agent diagnoses the standing leader, Revision 87 (net Sharpe 0.82): on 2015–2017 its worst losses came where the stock kept moving against it on one-sided aggressive flow, 13% of losing trades and 24% of losing P&L, bunched in the test years in Q4 2018, early 2021 and 2022; the flow was informed, so there was no reversion. Revision 141 exits when the residual moves 1σ further against the position and signed flow imbalance is beyond 0.35 against it, cutting 2,900 losers from −260 to −150 bps while 400 winners gave up 2% of winning P&L. A table compares the two over 2018–2025: net Sharpe 0.82 against 1.97, max drawdown −11.4% against −4.6%, net per trade +4 against +9 bps, better in 8 of 8 test years, and 1.61 deflated for the 140 revisions tried. The agent's last line reads "Revision 141 leads. Next: testing Revision 142…" beside a running spinner. Beside the session, Revision 141's backtest view shows net Sharpe, max drawdown and net per trade as before and after; its cumulative net return over 2018–2025, about +121% against Revision 87's +54% on a faint baseline, with Revision 141 falling far less in the three shaded, labelled drawdowns; and its strategy config with the new flow exit thresholds beside the unchanged entry, exit, max hold and max per name.

Scale strategy exploration

Run many investigations at once in Structure Cloud. Agents explore strategy variations, markets, and parameters in parallel to find your optimum.

The Spaces side bar with Equities › Stat arb › Residual reversion selected, its six strategies listed, and below it the folder's studies: "Optimize residual reversion" running (50,348 / 72,000 · 144 running) and "Revise Residual Reversion" done. The running study is open beside it in Matrix mode: 6 strategies × 30 markets by region, 180 optimizations of 400 parameter sets each, run by 6 agents, cells shaded by best result and filling while they run. The best optimization, RR Style on US small, is selected: net Sharpe 2.20, 18 of 400 sets within 0.15 of it, its surface over entry z and exit z with the plateau outlined, and the swept parameters ranked by effect.

Promote to production

When a strategy holds up, take it live in one step. Agents deploy the exact revision you tested.

The agent session in the finished study. The user's brief: "The study's done. Rank by held-out net Sharpe after costs, stressed at 2× costs. Drop any whose best set is a knife-edge (fewer than 10 of 400 sets within 0.15 of it), or that breaks the equity book: $50M gross, 2% per name, beta within ±0.05. If the winner clears all of it, set it up live for my sign-off." The agent answers that the study's best result, RR Style on US small, Revision 12, ranks first and clears every check: 18 of 400 parameter sets within 0.15 of its best, beta 0.02, held-out net Sharpe 1.84 on Jan–Jun 2026 (first of 180 optimizations) and 1.71 at twice the costs. It asks "Deploy RR Style Revision 12 live?" with Deploy live selected ($50M gross, 2% per name, pause at −5% drawdown). Beside it, that backtest's result: net Sharpe 2.20 over 2018–2025, held-out 1.84, 16.0% a year, max drawdown −4.5%, its cumulative return with the held-out months shaded, and the strategy parameters it was tested with.

Operate, learn, revise

Agents review your live trading results, investigate where improvements can be made, and propose adjustments.

The agent's review after the close for RR Style. The standing instruction: "After every close: reconcile fills against the same-day backtest and split the gap into slippage, missed fills and model error. Check the forecast's calibration by signal strength. Propose a revision only if it beats the live one on a replay of the live days." Day 60 live: +$620k against +$730k predicted, the 44th percentile of the predicted range; fills cost 0.6 bps a trade above the model and 1.8% of orders went unfilled, and the forecast explains the rest. A chart compares the predicted and live edge a trade by signal strength over 412 trades: the strongest fifth earned 16 bps against 21 predicted, the other fifths close to forecast; trades took 4.1 days to revert, not 3.4. It proposes Revision 13, which sizes from the calibrated edge and holds up to 10 d (+$690k replayed on the same days, ahead of live), and folds the calibration into the forecast. Beside it, the live deployment: net P&L, hit rate and days to revert against their predictions, the P&L since 8 July inside the predicted range, and its limits and stop rule.

Try Structure now

Request demo