What this is

A personal research platform for algorithmic trading, run on paper accounts. The interesting part is not the trading. It is the harness around it, built on the assumption that most strategies do not work and that the hard engineering problem is proving that honestly before any money is involved. The guiding rule is short: no robust edge means cash. The system is optimised to say “I don’t know” rather than manufacture a false positive.

Three habits make that stick:

  • Pre-registration. A strategy’s rules, market, timeframe and the thresholds it must clear are committed before the evaluation runs. The evidence is held to what was registered, not to what looked good afterwards.
  • Multiple-testing controls. Testing many strategies against the same history produces winners by chance alone. The trials ledger counts every attempt so the harness can say so.
  • Retirement is a result. A rejected idea is recorded with its verdict and kept. Negative results are the majority of the output, and they stop a retired idea from being quietly re-run under a new name.
Key numbers of the quant programme
Key numbers, as published in the research notes on 10 September 2026.

The research programme

The programme opened in July 2026 with a backlog of price-derived families — crypto and US-equity trend-following and mean-reversion — run through a fixed-parameter rolling walk-forward harness.

Wave one, single-instrument price rules. Hourly crypto crossovers failed first and worst: at small-account scale, turnover’s round-trip cost consumes most of the edge before it can be measured. Slowing to daily bars fixed the cost problem but not the edge problem. The same families came back cost-clean and still lost, or survived on too few trades to trust. The recurring shape: cheap enough to trade, therefore too rare to prove.

Wave two, portfolio-level candidates. Multi-horizon trend, cross-sectional momentum, a volatility-forecasting model and a robust-covariance allocator were each pre-registered and run. Each cleared some registered gates and failed others — benchmark dominance, forecast quality, robustness under resampling. None was rescued or re-tuned after seeing its result.

Data tracks. Four information sources beyond price were opened — carry and funding-basis data, company fundamentals, point-in-time macro vintages, on-chain state. Every one stalled on data quality before a strategy was ever scored. The programme treats those as results too.

September, the papers. With every candidate retired or parked, the programme paused strategy testing and produced twelve papers comparing its engineering against professional risk platforms, and mapping the regulatory paths for ever running outside money.

Every strategy trial by date and verdict
Figure 1. Every strategy trial in the programme, one lane per family, coloured by its recorded verdict.
Verdict board: family by market
Figure 2. The verdict board, family by market. No cell holds a pass that survived every gate criterion at once.
The paper trail: 42 research documents by category and date
Figure 3. The paper trail: 42 dated research documents by kind. The September cluster is the twelve business and platform papers.

The funnel

From 15 strategy families to 22 pre-registered specs to 20 audited trials, and then to zero. The last two rows are the point of the whole system.

The funnel from families considered to promoted
Figure 4. The funnel. Nothing passed every gate criterion; nothing was promoted.
Why candidates were rejected
Figure 5. Why candidates were rejected, one primary category per trial. Overfitting scored zero; everything died earlier.

What we learned

Eight findings, in the order they were recorded.

  • Cheap enough to trade, therefore too rare to prove. A rule that trades often enough to accumulate evidence is eaten by round-trip costs on a small spot account. A rule cheap enough to survive trades so rarely that a trustworthy verdict takes years.
  • The benchmark kept winning. A static, non-forecasting, risk-balanced multi-asset benchmark beat every registered candidate on risk-adjusted terms, twice. In September it was proposed as a candidate class itself.
  • Nothing died of overfitting. Across 20 categorised rejections, overfitting scored zero: eleven failed on no edge, four on data quality, two on benchmark dominance, two on too few trades, one on costs. Pre-registration, a cost budget and a trade-count floor kill ideas first.
  • Data readiness is a research result. Four information sources beyond price were opened and every one stalled at data quality before a strategy was scored.
  • Capital structure shapes what can be tested. A fixed single-instrument stake silently rules out the breadth that the trend-following literature says carries the edge.
  • Portfolio candidates fail differently. Each wave-two candidate cleared several gates and failed a specific one. Partial passes are recorded as fails, and none was re-tuned after the result was seen.
  • Paper trading cannot produce an auditable track record. Own-book proprietary trading is the one company shape open today without external licensing; the cheapest regulated route carries a real capital and eligibility bar.
  • Engineering lessons. A safety threshold never derived from a real measurement is an outage wearing a caution costume. A guard built around a code diff has a blind spot shaped exactly like “new”. Absence of expected output is not evidence of failure until the instrument is verified.

How a research unit runs

Every unit follows the same sequence, and the rules are written down before any number exists.

  1. Spec first. Hypothesis, immutable inputs and their hashes, fixed configuration, and a decision rule with a predicate for every gate criterion, committed before any result exists.
  2. Freeze the data. Candles are captured once into an immutable, hashed, append-only artifact. A re-run produces a new file, never an overwrite.
  3. One shared audit path. Every strategy and market goes through the same walk-forward harness so results are comparable. Each trade is attributed exactly once to the window containing its entry.
  4. Append to the ledger. Every trial, including failed ones, is appended to a permanent trials ledger. Hiding a trial is treated as p-hacking.
  5. Score mechanically. The result is checked against the pre-registered gates and returns PASS, FAIL or INCONCLUSIVE, with no discretion to reinterpret a threshold after seeing the number.
  6. Retire or park, with reasons. A failing candidate is retired or parked with its reasoning recorded, so the same idea cannot return under a new name.
Walk-forward evaluation
Figure 6. Walk-forward evaluation. Each fold fits on one window and is scored on the next. Warm-up is excluded from every score.
The promotion gate
Figure 7. The promotion gate: eleven criteria that must hold at once, followed by a manual owner decision the system cannot make for itself.
The lifecycle of a candidate
Figure 8. The lifecycle of a candidate. The programme has so far produced no transition into the last two states.

The platform

Every arrow into the paper execution engine passes through the gate and an owner decision.

LayerWhat it does
DataFetches candles and freezes them into hashed, immutable datasets so any research run replays exactly
Venue adaptersOne adapter per venue: crypto spot with a locally simulated fill model at public marks, US equities through a paper-trading API with a market-session calendar
Strategy libraryDeliberately simple, interpretable price-based rule sets by family, plus a buy-and-hold benchmark
Research harnessOne shared walk-forward path, a trading-cost audit against a fee budget, a trials ledger with Deflated Sharpe accounting, Monte Carlo and PBO/CSCV overfitting checks
Risk engineVolatility-based position sizing, a portfolio heat cap, a drawdown-based size ladder and a circuit breaker layered so new entries pause independently of existing stops and exits
Execution engineAn order-intent ledger written before any order is submitted, duplicate-order fencing, and a startup reconciliation pass that diffs the database against venue records
Promotion gateThe eleven-criterion advisory check in Figure 7. It produces evidence. A human decides
Ops and safetyPer-book alerting, an independent dead-man heartbeat, encrypted off-site backups, chaos and failure-injection tests, a trade journal and an intervention log
DashboardFastAPI backend, React + Vite frontend with TradingView Lightweight Charts: daily cockpit, price chart, trade log, performance, and a Factory page that shows candidates moving through the trials ledger
ReportingA shared builder that renders diagrams and assembles dated monthly and per-release reports with an attached evidence trail
The platform, from venue data to the dashboard
Figure 9. The platform. The gate produces evidence; a human decides.

By the numbers

As published in the research notes on 10 September 2026. Stack: Python 3.12 with uv · pandas, TA-Lib, vectorbt, ccxt · FastAPI, psycopg 3, structlog · PostgreSQL 16 · React, Vite, TypeScript, Tailwind, TradingView Lightweight Charts · Docker Compose, Caddy, an external heartbeat monitor · pytest, ruff, vitest.

ResearchEngineering
Strategy families considered15Python modules153 across 17 subpackages
Specs pre-registered22Test files162 unit + 29 integration
Walk-forward trials audited20Database migrations15, append-only
Passed every gate criterion0Tagged releases12
Promoted to real money0Documentation167 Markdown files, about 43,800 lines
Dated research documents42Changelog2,546 lines
Dated report packages22Gate criteria11
Archived evidence files17Frozen dataset captures4
Platform releases
Figure 10. The twelve tagged releases of the current major version, from the changelog.
Frozen datasets
Figure 11. The frozen dataset captures. Each is hashed once and never edited.

Open the research notebook

These are eight archived audits from the corrected July 2026 baseline. Select a market to inspect its input data, assumptions, and out-of-sample results. This is a dated research sample, not the entire current research inventory.

Archived audit explorer

Historical simulation · July 2026

Choose an audit

Usable candles17,520
WF Sharpe-4.425
Max drawdown37.37%
Profitable OOS windows0.00%
Input period (UTC)
2024-07-04 to 2026-07-04
Test windows / OOS trades
17 / 295
OOS daily return observations
516
Context / test window
6 months / 1 month
Fee / slippage per side
0.10% / 0.05%
Annualization / unexplained gaps
365 days / 0

This baseline did not earn promotion. Portfolio metrics alone are not a strategy approval.

All eight selected baselines — historical simulation, July 2026
AuditWF SharpeMax DDOOS positive
BTC/USDT 1h EMA/RSI-4.42537.37%0.00%
ETH/USDT 1h EMA/RSI-2.59223.91%5.88%
SOL/USDT 1h EMA/RSI-1.42615.38%35.29%
BNB/USDT 1h EMA/RSI-2.48623.36%5.88%
XRP/USDT 1h EMA/RSI-2.11521.70%11.76%
BTC/USDT 1d EMA/RSI-0.3464.64%26.26%
SPY 1d EMA/RSI0.5357.48%41.59%
SPY 1d Donchian0.3698.02%10.62%

What the results tell us

None of these eight baseline audits earned promotion. The hourly crypto strategies struggled after costs. Moving to daily bars reduced turnover, but did not automatically create an edge or a sufficient sample.

A later 12-ETF study demonstrates the same distinction: the constrained portfolio produced a positive historical return and lower drawdown, yet failed the benchmark comparison. We retain that result rather than select only the most flattering metric.

What is public and what is not

Public, on this site and in the research notes: the method, every verdict and its category, evidence-quality counts such as trade counts and dataset sizes, the gate criteria by name, the lessons, and the archived audits above with the hash of each source file.

Not public, by choice: the source code, indicator periods and thresholds, position-sizing formulas, gate cutoff values, the live paper book’s returns and positions, venue credentials and infrastructure. Strategies are identified by family only.

The published snapshots are historical simulations. They are not live returns or a forecast. No paid trading subscription is available here, and nothing on this page is investment advice, an offer, or a solicitation. The separate proposal for a Chain trading tool is not the same product as this own-book research platform.