Case Study

àyò

A systematic trading platform whose defining feature is that it refuses to fool itself.

Python
Claude
Alpaca
pandas
systemd

The premise

Most amateur trading bots are overfit backtests that their authors do not realize are overfit. ÀYÒ is built the other way around. Generating strategies is easy; the hard part is not being fooled by them. So the whole system is organized around a validation layer that a good looking but wrong strategy cannot pass. A language model proposes, and a deterministic gate disposes.

Àyò is the Yoruba seed and pit game of counting and calculated capture, and it also means joy. A fitting name for something that wins by playing a patient, measured game.

Architecture · two clocks

ÀYÒ runs on two clocks that never touch. The slow clock is the brain: Claude researches and writes each strategy as structured data, never as runnable code. The fast clock is the body: a deterministic engine that evaluates the frozen strategy against live prices, so the same inputs always produce the same orders.

Slow clock · nondeterministic

The Brain (Claude)

Researches, proposes strategies as content hashed data artifacts, and interprets why a signal decayed. Runs on demand, and on a schedule.

↓ emits a frozen, content hashed artifact ↓

Fast clock · fully deterministic

The Body (the executor)

Trades only the frozen artifact. Same inputs, same orders, every time. No model sits in the execution path.

Because the brain emits a content hashed artifact, you validate the artifact rather than the model, so a nondeterministic author yields perfectly reproducible behavior. The guarantee is blunt: remove Claude entirely and the body keeps trading safely on its frozen rules. It simply stops getting smarter.

The validation gate

A beautiful backtest is worthless. The engineering value sits in a gate that a plausible but wrong strategy cannot clear. Three layers do the work:

  • Walk forward. Strategies are selected on in sample history and judged only on data they never influenced.
  • Robustness sweeps. An edge has to survive across many rolling windows and parameter settings, not appear at one lucky split.
  • Trials adjusted significance. The more ideas tested, the higher the out of sample bar, so the search cannot mine its way to a fluke.

A momentum book once looked like it beat a passive benchmark on a single split. The robustness sweep took it apart, and the gate refused to deploy it:

robustness sweep · cross sectional momentum
  rolling windows   beat benchmark in 2 / 5 periods
  parameter grid    positive edge in 0 / 12 settings
  verdict           FLUKE, no robust edge

An in sample Sharpe of 3.72 that becomes minus 6.99 out of sample is exactly the trap that empties accounts. The whole job of the system is to see it and say no.

When the scoreboard lied

Refusing to deploy a bad strategy is the easy half. The harder half is not being fooled by your own measurement, because that is where self deception is invisible and where everybody quietly cheats. In July the system was caught doing exactly that, in its own favour.

benchmark scoreboard · self audit
  symptom   the scoreboard was flattering itself
  cause     after hours benchmark prices up to 3% stale
            (769 logged for a market that never traded above ~748)
  effect    overstated the book against the market, all live window
  fix       benchmark sampled in session only, median anchors,
            recorded history sanitised
  result    a materially smaller, honest number. published as is.

The bug flattered the system, which is the only kind that survives a casual review. It was found by auditing a number that looked too good rather than enjoying it, and the corrected figure replaced it the same day. A platform that will not audit its own instruments has no business auditing its strategies.

Autonomous research

A headless Claude runs on the same machine as the trading daemon, so the brain is always reachable. On a schedule it proposes fresh strategies. Every proposal is parsed into typed rules, never executed as code, and forced through the same out of sample gate before anything can go live. Claude proposes, math decides, and real money always needs a human. Here is one cycle:

research cycle · brain proposes, gate decides
  REJECTED  Oversold Mean Reversion Snapback
            in-sample Sharpe 3.72  ->  out-of-sample -6.99
  REJECTED  Trend Momentum Breakout
            out-of-sample Sharpe 1.39  but drawdown 65%

  no proposal survived out of sample. nothing deployed.

Under the hood

Signals

Cross sectional momentum, mean reversion, low volatility and trend, plus value, quality and growth factors drawn from real fundamentals across a universe of 156 large caps in every sector.

Pre registered playbook

The one edge a language model can plausibly add is reading information the price does not contain. So each hypothesis is registered before the evidence arrives, with a fixed trigger, direction, size cap and an honest prior, then graded per hypothesis. Two are pre registered as likely to fail.

Ensemble

A framework to blend many low correlation signals into one book, with the correlation analysis to prove the diversification is genuine.

Market neutrality

Each holding's beta is measured from a year of daily returns and the book is hedged with a short benchmark position of matching size. Without it, results mostly measure which way the market went, not whether the stock selection was any good.

Risk

Volatility normalised sizing, a drawdown circuit breaker that de risks toward cash, per sector concentration caps, a daily loss kill switch, and a one command flatten. All deterministic, no model in the path.

Self calibration

The brain logs resolvable, time boxed predictions at a stated confidence and is scored on them, so its judgement is measured rather than assumed. Every deviation from the mechanical book is also graded against the baseline it deviated from.

Autonomy ladder

Four rungs from paper advisor to bounded auto. Real money is gated on numbers fixed in advance: thirty days live, Sharpe above one, drawdown within ten percent, at least twenty scored tilts that are positive and win more than fifty five percent, and credentials moved off the shared box.

Operations

A hardened systemd service on a private box, self healing, no inbound ports, with the brain co located so research and execution never depend on a laptop being awake.

Honest status

ÀYÒ is not a proven money maker and it does not pretend to be. It trades paper only, and it has no validated alpha. Every simple price based strategy tested so far has failed honest validation, which is the expected and correct result on efficient large cap markets.

What ÀYÒ is: a complete research and execution platform whose validation layer reliably refuses to deploy mirages, applying current language model systems engineering to a domain that punishes self deception harder than almost any other.

The open question is now running as a live experiment rather than a plan. Signals drawn from information the price does not already contain cannot be backtested honestly, since no clean history of it exists, so each hypothesis is registered in advance and forward tested on paper with the book hedged to market neutral, so the record reflects the selection rather than the weather. That evidence accrues in weeks, and most of the hypotheses are expected to die. Publishing the ones that fail is the point.