System

milliways01

The production system at the centre of the research programme: a market-neutral, cross-sectional portfolio on Binance perpetuals. This page covers the logic of the system at a conceptual level, the infrastructure of the live engine, and the historical simulation results.

Live forward test · since October 2026
01 — Concept

How it works

Every day, roughly the hundred most liquid perpetuals are selected using only the liquidity data known that day. Two families of signals rank these assets against each other: one comes from order flow, meaning how aggressive buyers and sellers are; the other comes from the funding market, meaning how crowded leveraged positioning has become.

The portfolio takes positions at both ends and is kept neutral to the market's direction. Rebalancing isn't tied to a single calendar: it averages sub-portfolios that start on different days, so the result doesn't rest on a lucky choice of schedule.

  • Two signal families

    Order flow and funding: two different sources of information with almost no correlation between them.

  • Market-neutral construction

    Dollar-balanced and beta-neutral, with a cap on how much any one asset can take.

  • Phase-averaged rebalancing

    An average of sub-portfolios that start on different days, so there is no calendar luck.

02 — Live engine

The live engine and data infrastructure

The system is made of processes that run independently and talk to each other only through files, so if one fails the others keep going. Data that can't be downloaded later (order book snapshots, liquidations) is recorded in real time, and every night the raw data is verified, reconciled against the archive and backed up.

  1. 01

    Market data

    Candles, funding, mark price, order book depth, liquidations.

  2. 02

    Recorder

    Records data that can't be downloaded later, in real time.

  3. 03

    Decision engine

    Daily cross-sectional decision: target weights and risk limits.

  4. 04

    Execution model

    Fills are modelled against the depth of the live order book.

  5. 05

    Data validation and archive

    Each day's data is checked against the exchange's official archive, sealed with a tamper-evident SHA256 fingerprint and backed up. How closely the engine's decisions track the simulation is reported as well.

  6. 06

    Monitoring

    Read-only dashboard: positions, ledgers, system health.

Safety layers

  • Separation of permissionsEach component has only the access it needs.
  • Static code scanningThe code is scanned for disallowed calls before the system starts.
  • Pre-start auditThe engine won't run unless the safety audit comes back clean.
03 — Simulation results

Historical simulation, 2020–2025

The simulation uses unit-based positions, measured spreads and order book impact, time-stamped funding payments, and includes assets that were later delisted. Every figure is after costs.

Historical simulation, 2020–2025 · model v1 · realistic cost and execution model

Sharpe ratio (95% confidence interval 0.93–2.59)
1.76
annual compound return
25.3%
maximum drawdown
−14.4%
annual volatility
13.3%
01002003004005002020202120222023202420250100200300400500202020222024
Figure 1. Equity as an index starting at 100. Hover to see the date and value. Historical simulation, 2020–2025 · model v1 · realistic cost and execution model
−15%−10%−5%0%202020212022202320242025−15%−10%−5%0%202020222024
Figure 2. Distance from the running peak, every day.
2020: 37.6%
2021: 15.6%
2022: 14.9%
2023: 0.8%
2024: 23.5%
2025: 70.3%
202020212022202320242025
Figure 3. Calendar-year returns.
Price23.4%
Funding4.1%
Fees−2.1%
Slippage and impact−0.4%
Net25.0%
Figure 4. Average annual contribution (simple returns). Price and funding on the income side, fees and slippage on the cost side.
May 2020: 5.4%Jun 2020: 2.1%Jul 2020: 1.4%Aug 2020: 7.7%Sep 2020: 1.6%Oct 2020: 7.6%Nov 2020: −1.4%Dec 2020: 8.6%
Jan 2021: 4.6%Feb 2021: 2.9%Mar 2021: −11.7%Apr 2021: 19.8%May 2021: 6.2%Jun 2021: −3.5%Jul 2021: −0.7%Aug 2021: −5.9%Sep 2021: 5.3%Oct 2021: −7.1%Nov 2021: 7.4%Dec 2021: 0.9%
Jan 2022: 3.7%Feb 2022: −0.4%Mar 2022: 2.0%Apr 2022: 1.9%May 2022: −3.9%Jun 2022: 4.1%Jul 2022: 1.0%Aug 2022: 0.6%Sep 2022: 1.0%Oct 2022: −0.7%Nov 2022: −0.5%Dec 2022: 5.5%
Jan 2023: −1.4%Feb 2023: −4.4%Mar 2023: 0.1%Apr 2023: 1.5%May 2023: 6.4%Jun 2023: −0.2%Jul 2023: −0.6%Aug 2023: 1.1%Sep 2023: 1.8%Oct 2023: 2.9%Nov 2023: −3.0%Dec 2023: −2.9%
Jan 2024: −1.5%Feb 2024: −2.8%Mar 2024: −0.9%Apr 2024: 3.9%May 2024: −2.2%Jun 2024: 4.0%Jul 2024: 4.4%Aug 2024: 4.3%Sep 2024: −3.0%Oct 2024: 1.3%Nov 2024: 2.3%Dec 2024: 12.7%
Jan 2025: 7.9%Feb 2025: 3.2%Mar 2025: 6.5%Apr 2025: 9.1%May 2025: 3.4%Jun 2025: 5.5%Jul 2025: 2.3%Aug 2025: 3.9%Sep 2025: 3.1%Oct 2025: 8.0%Nov 2025: −0.4%Dec 2025: 2.4%
Figure 5. Green for positive months, red for negative. The first months of 2020 are the warm-up period (blank).

What happens if costs rise

Sharpe ratio by cost multiplier (post-warm-up period). The default cost is about 6 basis points per side; breakeven is roughly 11 times that, 66 basis points per side. The 1× point is 1.81; the headline 1.76 includes the warm-up period.

1.41.61.82.02.20.0×0.5×1.0×1.5×2.0×2.5×3.0×cost multiplierSharpe1.41.61.82.02.20.0×1.0×2.0×3.0×cost multiplierSharpe
Figure 6. Breakeven: ~11× costs
How we measure these results