Nexus explainer · companion to Research under controls
One tester for different kinds of strategy. A strategy is a document of named slots, and the tester runs it on the simulation engines Nexus already has, rather than on a new engine of its own. It shows how a strategy behaves at no cost. It shows what a strategy earned only when that look is counted, because a menu of settings with returns beside it is a way of selecting a strategy, whether or not anyone means to. The tester is early: two kinds of strategy run today, and this page says what does not run yet.
State read from the code and the design records on 18 October 2026.
Every strategy, whatever its kind, is written as the same document: one or more sleeves (a sleeve is one sub-strategy: a set of markets and the rule that forecasts them), each naming one component per slot, and a book that allocates between them. The tester owns the document, the menu of components, the look log and the report. The engines own the arithmetic.
The generic backtester was considered and rejected. These are the reasons, and the rules that followed from them.
No seventh engineone copy of the maths
A new engine with a generic pipeline would have forked the arithmetic of six engines that already exist, and given the live book a second definition of itself. The tester sends a document to the engine that already runs that kind of strategy.
Stages come from the enginenever recomputed
A forecast redrawn by the tester could disagree with the forecast the engine actually traded on. So the forecasts, targets, positions, trades and costs on the screen are the engine's own output, or they are not shown.
Adapters declare what they showno blanks filled in
A stage is a table of bars by markets: prices, forecast, combined forecast, raw target, clipped target, traded position, trades, cost per trade, gross and net. An engine that does not return a stage leaves it missing, rather than having the tester approximate it.
A strategy is a hashidentity, not a name
Every document has a hash of its full content. The look log records which hash was shown, and the count is kept by hash, never by the name a strategy was saved under.
Generic means a new adapternot a new tester
Bringing another kind of strategy in means writing an adapter for its engine. The document, the menu, the governance and the report stay as they are.
The diversified futures trend books, including the one the trader serves live. A composed book changes a stored book's settings within a versioned menu with bounds: it can drop markets from a sleeve but never add one.
An edit that would have no effect, given the other settings, is refused and names the missing condition.
Cross-sectional strategies that score a panel of markets, such as reversion on currencies and futures. The target-position engine turns scores into targets, clips them to per-leg caps, holds small changes inside a no-trade band, and charges measured costs and financing.
The forecast is one of the engine's panel signals, or a tester component computed on the same closes.
Three closed reversion campaigns, shown as they were recorded: universe, clock, state, costs, headline figures and the register entries behind them. Their results were already published and counted, so viewing an exhibit reads no data and adds no count.
An exhibit cannot yet seed a new strategy. If it could, its trials would have to enter the new strategy's count.
Looking at one setting, changing a parameter and looking again is a search, even when nobody calls it one. The tester splits what it shows into two tiers and counts the second.
Prices, coverage, forecast values, targets, traded positions, trades taken and suppressed, turnover and cost per trade. These show how a strategy behaves without saying whether it made money. Every view is still logged.
Gross and net P&L, Sharpe, hit ratio, forecast rank correlation and the gross-to-net bridge. A session shows results for at most 24 distinct strategies, and every one shown is listed in the log, so a later counted booking charges it.
| Clock | The one scored window | Why a fixed window |
|---|---|---|
| Five-minute | 17 to 21 October 2022 | There is no date picker. Choosing the window after seeing results would be one more thing to tune, and the most recent data is kept unseen, because it is the only data that can back a new claim. Warm-up history before the window is loaded and never scored. |
| Hourly | October 2022 | |
| Daily | Calendar year 2022 |
1 · Previewthe declared window only
Run a strategy on its clock's declared window. A preview runs in a separate process with a cap on bars times markets and on wall time, so a large request cannot starve the service. A preview starts flat some time before the window and runs forward through a warm-up that is loaded and never scored. It is labelled as warm-started, because bands, stops and drawdown rules carry state, so it can differ from the same week cut from a long run.
2 · Compose and savebounded, versioned menus
Change a strategy's settings within the menu's bounds and save it under a name. Saving reads no market data and books nothing. A menu keeps its version when components are added, and gets a new version only when an existing document would change meaning.
3 · Long testdevelopment history, counted
Submit the document for a test over the development history, with the declared window removed. A quote first states the span, a runtime and memory estimate, the queue wait and the count it will charge, and writes nothing. The job waits until the counted booking is confirmed, then runs in a child process under its memory claim and produces a report. The report gives no verdict, since only a pre-registered rule may give one.
Every engine reports in the same sections, each in its own units: basis points for trend books, and dollars with a trade-cost and financing bridge for panel books.
The design records were written in late September 2026, and most of what is listed under "runs today" shipped in the two weeks that followed.
Compose, preview, save and long test for trend books and panel books. Sessions, the look log and counting by hash. Recorded exhibits. A registered model can fill a panel book's forecast slot (see Bring a model). Filling a trend book's forecast slot the same way needs an engine change, which is in review.
Trend books show forecasts, positions, trades, costs and P&L, but not yet their raw and clipped targets: the engine returns final positions, and capturing the inner stages is still being added. Some hourly feeds cannot be long-tested yet. A long test waits for a separate job to confirm its booking, so it is not instant.
Adapters for the five older research engines. A trend book assembled from chosen sleeves. A portfolio of books across engines, built from long-test returns. The older trend tools outside the tester do not yet log or count what they show, and a change is in review.
Sources: the strategy tester's design record and its amendments (saved strategies, composed trend books, the booking stream), the research framework's tester path, and the tester's code as of 18 October 2026. These are internal documents. Related pages: Research under controls for the counted-trial rules the tester applies, and Bring a model for the contract a model fills the forecast slot through.