Mulliner

Adam Weber-Lewsey · Manuscript draft, 9 September 2026

MULLINER: Auditable Neuro-Evolutionary Ensembles for Foreign Exchange

All pip results in this manuscript are historical simulations: account sizing N/A. No account capital was allocated to these tests; pip results are not account returns.

This public edition omits private source provenance and outbound repository links. Research findings retain their original dates and limitations.

Keywords: neuroevolution; foreign exchange; turning points; adaptive ensembles; sequential evaluation; trading systems.

1. Introduction

A price chart can make a turning point appear obvious long before a trading system could have identified it. A neural model can appear accurate while issuing too few forecasts to be useful. An adaptive ensemble can replace weak models so quickly that no candidate acquires enough evidence to judge. These are connected problems: representation, selection, and evaluation all depend on what the system knew at a particular time.

MULLINER—Modular Unified Learning System for Adaptive Neural Network Ensembles—addresses these problems through a common operational structure. The system represents market turns at their confirmation times, trains directional specialists, records their forecasts, combines their votes through CONSENSUS, and preserves the resulting evidence as candidates change. Its purpose is to test a specific hypothesis: the context of a confirmed price turn, including nearby levels and recent price movement, may contain more useful information than the turn alone.

The project originates in Adam Weber-Lewsey’s 2011 study of neural forecasting at compressed turning points [1]. That study treated support and resistance as a pattern-recognition problem and combined compressed extrema with a genetically tuned neural network. The later NEAT-FX and MULSANNE designs introduced the modular ensemble vision. MULLINER brings this lineage into an instrumented system with separate forecasting, breeding, evaluation, and execution responsibilities.

The research contribution has three parts. First, the paper specifies how event confirmation and model availability constrain valid forecasts in an evolving ensemble. Second, it describes an implemented architecture that connects genetically specified candidates to a stable forecast interface and distinct outcome records. Third, it assembles an evidence audit and a falsifiable evaluation plan, including negative and sparse historical findings that limit current performance claims.

This is a systems and methodology contribution with retrospective evidence. It does not establish superiority over contemporary trading systems, identify a persistent market inefficiency, or report an audited profitable account. The system’s ability to operate against a live broker is an implementation property. Economic value remains an empirical question.

2.1 From the 2011 study to the current research question

The original study used daily opening prices for GBP/USD, USD/JPY, and USD/CAD. Nine inputs described prices, moving averages, and changes in those quantities. A feedforward network with four hidden units produced turning-point alerts. A genetic procedure searched learning and momentum settings. Reference turns came from a retrospective compression procedure attributed to Pratt and Fink [1, 2].

The report’s GBP/USD example identified three of seven reference turns, with seven alerts. Its USD/JPY example identified three of six reference turns, with ten alerts. The paper called the latter result “50% forecast accuracy”; under a one-to-one interpretation of those counts, this is event recall, while alert precision would be 30%. Matching tolerances and full event records were not provided. These figures cannot be treated as comparable trading win rates. USD/CAD training did not converge [1, pp. 9–12].

These limitations sharpen the present problem. Retrospective pivot agreement must be separated from tradable timing; an alert must be evaluated after costs; and a search procedure must preserve evidence outside the observations used to select its candidates. The current system therefore uses completed intraday bars, confirmation-aware inputs, directional payoff targets, explicit candidate identities, and prospective outcome records. It extends the original research question rather than reproducing the original experiment.

The 2011 behavioral motivation is also retained as a hypothesis rather than a finding. Price-level effects may reflect clustered orders and coordinated responses, but price data alone do not identify the psychology of market participants. Osler’s order-level work supplies relevant microstructural evidence [3]; MULLINER does not independently recover those mechanisms from candles.

2.2 Established foundations and the scope of the contribution

Compression-based extraction of important time-series points predates MULLINER. Pratt and Fink describe compression and similarity search [2]. Event-based FX analysis also has a substantial history, including the directional-change representation used by Glattfelder, Dupuis, and Olsen [4]. COMPRESSOR is the project’s component name for its turning-point representation; this paper does not claim invention of extrema compression or directional-change analysis.

Genetic selection of neural inputs and architectures is likewise established. Arifovic and Gençay applied such selection to foreign-exchange returns [5]. Stanley and Miikkulainen’s NEAT evolves network topology and connection weights through mechanisms including historical markings and speciation [6]. MULLINER’s historical name NEAT-FX means Neuro-Evolutionary Analysis for Trading in Foreign Exchange. The present implementation is not an implementation of canonical NEAT. It searches a bounded set of neural recipes and fits their numerical connection weights through gradient-based learning.

An especially close antecedent is Dempster and Jones’s adaptive FX system, which combined recurring genetic rule search with portfolio rebalancing [7]. This prevents a claim that MULLINER is the first two-level adaptive trading architecture. Dynamic Weighted Majority provides another precedent for maintaining experts and changing their influence as performance changes [8]. MULLINER does not inherit that method’s empirical results or theoretical guarantees merely by using weighted votes. Intraday evolutionary FX strategy generation also appears in Cirillo, Lloyd, and Nordin [9].

MULLINER’s contribution is the particular implemented composition: confirmation-aware swing context, bounded neural breeding, directional specialists, a shared forecast contract, persistent lineage, separate forecast and broker evidence, and an interface that exposes their relationship. The relevant claim is an auditable research apparatus. Whether this composition improves forecasting or trading requires the controlled comparisons below.

3. Problem formulation

Let t\mathcal{F}_t denote the information actually available by decision time tt. It includes completed market observations, model artifacts already published, and outcomes already resolved. A historical bar timestamp is not, by itself, proof that its information was available to the process at that time.

For compression scale rr, let τj(r)\tau_j^{(r)} be the time of an eventual price extreme and κj(r)\kappa_j^{(r)} its confirmation time. Usually τj(r)<κj(r)\tau_j^{(r)} < \kappa_j^{(r)}: price must move away from the extreme before the algorithm can confirm it. A feature based on that turn is eligible only for decisions at or after confirmation. Writing the extreme back onto its earlier bar is useful for retrospective illustration but invalid as evidence of an earlier forecast.

For directional specialist ii, define

ŷi,t=fθi(xt(i)),xt(i)=ϕgi(t). \widehat{y}_{i,t}=f_{\theta_i}(x_t^{(i)}),\qquad x_t^{(i)}=\phi_{g_i}(\mathcal{F}_t).

Here gig_i is the candidate’s structural and training recipe, θi\theta_i its fitted numerical parameters, and ϕgi\phi_{g_i} its permitted feature view. The research target is a directional trade payoff rather than pivot membership alone:

Yt,h(s)=s(Pt,h,sexitPtentry)/πCt,h,s,s{1,+1}. Y_{t,h}^{(s)} = s\bigl(P^{\mathrm{exit}}_{t,h,s}-P^{\mathrm{entry}}_t\bigr)/\pi - C_{t,h,s}, \qquad s\in\{-1,+1\}.

The price unit π\pi converts movement to pips. The exit depends on the declared horizon and stop policy. CC contains modeled costs. These are simulation quantities; they are not broker-account returns. In the current implementation, neural fitting uses isolated stop-aware labels, while policy evaluation also considers position-management behavior. That distinction must remain visible in experimental comparisons.

The aim is to test whether selected feature views improve conditional net outcomes relative to simpler controls. Neither repeated geometric patterns nor agreement among related scales establishes that result. Several scales observe the same price path and can produce highly correlated evidence.

4. Architecture and method

4.1 Two recurring processes, one evidence trail

The forecasting process acts on new completed bars. The breeding process evaluates candidate models on a separate schedule and publishes a new model collection atomically. A decision already recorded for a bar is not rewritten when a newer generation becomes available.

Stage Input Persistent output
Market preparation Completed prices and session calendar Valid feature context
Candidate forecasting Available artifacts and feature context Timestamped model forecasts
CONSENSUS Forecasts and eligible prior evidence Shared directional target and recorded influence
Execution Target and operator-selected execution mode Order journal and broker responses
Outcome evaluation Earlier forecasts and later observed prices Resolved simulations
Broker reconciliation Journal-owned trades and broker transactions Fill records and attributed results
the workshop breeding Permitted history, recipes, and prior evidence Candidate artifacts, parents, trials, and selected generation

Table 1 is a dataflow description, not a latency benchmark. The deployed configuration contains four neural slots and six rule-model slots. Neural slots represent an incumbent and a challenger in each direction. The rule families express swing rejection, moving-average bounce, and level breakout hypotheses. Rule candidates use a bounded recipe comparison; they do not acquire neural training simply by joining the ensemble.

The forecast loop operates on five-minute bars. The breeder is scheduled at five-minute intervals and skips a data snapshot it has already processed. Frequent scheduling does not create independent evaluation samples. A new generation can share most of its development data with the previous generation.

4.2 Confirmation-aware market structure

The feature layer combines confirmed swing states, distances to previously known price levels, moving-average context, recent price movement, volatility, and binary market conditions. Binary features encode observations such as membership in a state; they are not labels asserting a profitable opportunity.

Compression scale is a gene. Candidates can therefore compete with different views of swing granularity. The current neural feature selector chooses scale-specific compression columns; it should not be described as a learned joint attention mechanism over all scales. Cross-scale ensemble comparison and within-model fusion are different designs.

Feature normalization is fitted on permitted training rows and stored with the artifact. At inference, the saved transform is reused. Scheduled market closures are handled with an explicit session calendar so a known closure does not become a fabricated candle or an arbitrary indicator reset. Unexpected missing observations retain separate validity handling. This improves temporal consistency but does not supply information from the closed market.

4.3 Genetically specified neural candidates

A root seed, version identifier, generation, candidate slot, and direction determine reproducible recipe choices. The recipe encodes neural layer configuration, activation family, learning settings, feature sampling, compression scale, and an entry criterion. Crossover selects inherited settings; mutation introduces alternatives. Parent identifiers remain attached to descendants.

The random alphanumeric seed is an experiment identifier and a source for deterministic choices. It contains no market information and provides no predictive advantage by itself. Reproducible recipes also do not guarantee identical floating-point fitting across arbitrary hardware or dependency versions. Artifact fingerprints and environment records remain necessary.

The current implementation uses bounded feedforward architectures and gradient-based fitting. Its evolutionary unit is primarily the model recipe, not individual trained synaptic weights. It does not implement unrestricted graph growth, NEAT-style speciation, direct genetic weight optimization, or a biological neural mechanism.

Candidate fitting and later development evaluation use separated portions of available history, with outcome windows excluded around the training boundary. Selection considers costed outcomes and risk-related development measures. Previously selected artifacts can retain their identities while new challengers are tested. Under experimental policy, one measured neural incumbent per direction is retained while another slot admits competition. Qualification policy uses stricter evidence and retention rules. These policies have different evidentiary meanings and must not be pooled as one experiment.

4.4 The shared forecast contract and CONSENSUS

Every model emits a common seven-field record: method identity, creation time, source-bar time, direction, confidence, optional signal time, and optional target. A model can omit a calibrated probability or price target. This contract makes model families interchangeable at the orchestration boundary without pretending that their internal scores have identical meanings.

Let di,t[1,1]d_{i,t}\in[-1,1] be a recorded direction, ci,tc_{i,t} its usable confidence or setup-strength value, and wi,t0w_{i,t}\geq0 its performance weight. The central combination has the form

Bt=iwi,tci,tdi,tiwi,tci,t, B_t=\frac{\sum_i w_{i,t}c_{i,t}d_{i,t}} {\sum_i w_{i,t}c_{i,t}},

with neutral output when the denominator is zero. A declared neutral region maps the balance to a long, short, or flat target. Neither BtB_t nor ci,tc_{i,t} is established here as a calibrated win probability. The common contract permits heterogeneous forecasts; the combiner still requires valid numerical semantics at its input.

Experimental weights blend recent scored simulations with attributed broker evidence as that evidence accumulates. A bounded positive transformation gives new candidates initial influence. Qualification policy instead restricts influence using development and prospective requirements. The former permits exploration before proof; it cannot be described as proof that selected candidates have positive expected returns.

4.5 Evaluation and broker attribution

The system records a forecast before its outcome is evaluated. An observation remains pending until the required price window is available. Candidate-level sampling avoids counting repeated overlapping opportunities as independent resolved trades. This does not eliminate dependence between candidates or adjacent market regimes.

Execution is a separate service responsibility. A target may lead to an order, a held position, a reversal, no action, or a rejected request. The order journal and broker responses determine which occurred. Forecast arrows alone cannot establish a fill.

Broker reconciliation attaches realized trade reductions to journal-owned entry decisions. It distributes credit among the recorded votes that supported the entry, according to their stored contribution. This is a portfolio-accounting convention. It does not estimate the counterfactual result of independently executing each model, and it does not isolate a model’s causal contribution to profit. Current weight feedback uses attributed fill-price pips; this basis excludes cash fees and financing. A full account-performance study must reconcile those separately.

4.6 Observability as a research instrument

The dashboard places price, confirmed turns, model votes, CONSENSUS changes, and broker fills on one timeline. The the workshop view shows generation records, layer settings, parent relationships, and development trials. The forecast ledger exposes pending and resolved simulations.

These views are intended to make distinctions inspectable: historical replay versus a recorded event, candidate selection versus demonstrated improvement, and a desired position versus an executed trade. This interface supports auditing and diagnosis. Its effect on operator understanding has not been measured in a user study.

5. Temporal validity and evaluation protocol

5.1 A non-anticipation requirement

A valid decision must depend only on t\mathcal{F}_t. Four practical requirements follow:

  1. Input events must have confirmation or release times no later than the decision.
  2. Artifacts must have been available before use, with training outcomes confined to permitted history.
  3. Weights must use only outcomes resolved before the decision.
  4. The original decision and artifact identity must survive later model changes.

Under these assumptions, deterministic feature computation, model inference, and weighted aggregation are measurable with respect to t\mathcal{F}_t by composition. Randomized selection remains non-anticipating when its randomness is available at decision time and independent of future observations. This is a specification-level argument, not a novel theorem or a formal verification of the complete software.

A practical test is prefix consistency: append future observations to a fixed history and verify that already emitted events and forecasts remain unchanged. Version checks, training cutoffs, saved normalization, and explicit publication times address complementary failure modes. None of these checks proves economic usefulness.

5.2 Proposed prospective comparison

A defensible test of the adaptive system must freeze the adaptation protocol, not just one fitted network. The declared experiment should specify the data feed, feature version, search space, compute budget, replacement rule, evidence window, costs, execution assumptions, and stopping date before collecting new outcomes.

Four ablations answer different questions. Removing compression tests the incremental information in confirmed swing context. Removing level features tests whether confluence adds information beyond momentum and volatility. Freezing the candidate population tests the value of breeding. Replacing performance weights with equal weights tests the value of CONSENSUS adaptation. Budget-matched random recipe search is necessary to distinguish useful genetic selection from additional search effort.

Evaluation should compare all arms on the same chronological periods and report long and short results separately. Identical-time constant-direction controls test direction conditional on selected opportunities; they do not establish entry-timing skill. Matched timing controls should preserve session and volatility characteristics without selecting opportunities using their future outcomes.

Primary measurements should include net expectancy, opportunity count, active days, turnover, drawdown, cost sensitivity, concentration, and inactivity. Uncertainty should preserve temporal dependence, for example through declared block resampling. Where experiments repeatedly reuse development data, the full search history must accompany the reported winner. The backtest-overfitting literature explains why a selected historical result is insufficient evidence [10]. No probability-of-backtest-overfitting estimate is claimed for the present archive.

This prospective comparison is specified for future work. It has not been completed for the current continuously evolving ensemble.

6. Recorded evidence

6.1 Data and status of the experiments

The recovered development archive contains 106,736 USD/CAD candles. Its strategy checkpoint used chronological training, validation, and a 21,348-bar later partition. Subsequent research repeatedly inspected the archive, so those partitions now constitute development evidence rather than an untouched final test [11].

A later PANOPTES snapshot supplied additional 2026 observations. One forest artifact was frozen before a July–September evaluation. That study consumed the reserved period. Subsequent experiments on those dates must not call it a fresh holdout. Historical gaps, changes in market activity, and estimated execution costs limit comparability across periods.

The following table summarizes existing research records; it is not a new benchmark run performed for this manuscript. The rows use different study designs and must not be pooled into a single return estimate.

Recorded study Result Supported interpretation
Five default strategy families All failed the recorded research gates Default rules did not establish an edge on those partitions
One-hour forest, development reconstruction 20 trades on 14 active days; +145.0 simulated net pips A positive but sparse historical result
Forest concentration check Removing its three largest winners leaves −26.2 pips Aggregate gain depends on a few outcomes
Frozen forest, later 2026 data Zero trades across 14,294 candles; 12,966 feature-ready bars No new execution evidence; inactivity was not an entirely invalid feed
Eight stop-aware payoff configurations All negative; least-negative aggregate was −247.7 pips over 153 trades Richer targets alone did not produce positive aggregate results
Eight moving-average/level variants All lost after estimated costs The tested visual-pattern formalizations did not establish the proposed edge

The forest’s twenty trades were all buys. A constant-buy control at those same opportunities produced the same aggregate result. That finding does not establish two-way directional skill, nor does it independently test whether the selected opportunities were better than other entry times. The later zero-trade result is informative about coverage but cannot estimate the profitability of trades that never occurred [11].

6.2 What the implementation evidence establishes

The deployment checkpoint records 118 tests, of which 109 passed and nine optional legacy checks were skipped. It also records successful scheduled forecast and breeding cycles, a generation with eighteen development trials and two new parented neural children, and ten selected models [11]. These are engineering observations, not controlled trading results.

The verified checkpoint described in that record was signal-only with fxTrade connectivity. This manuscript reports no subsequent authenticated account-return series and makes no inference about current execution mode from a working website. The architecture contains the execution and feedback interfaces, but the effectiveness of its broker-informed adaptation remains unestablished by the cited evidence.

The combined finding is narrower than an edge claim and more useful than a favorable screenshot: the system can preserve and expose the evidence needed to discover sparse results, inactivity, failed hypotheses, and the distinction between model turnover and economic progress.

7. Discussion and limitations

The central research opportunity is conditional representation. A confirmed swing describes where price has reversed enough to meet a rule. Its predictive value, if any, may depend on the surrounding level structure, approach dynamics, volatility, and session. Evolution supplies a mechanism for comparing such representations; it does not guarantee useful information exists in them.

The most important unresolved comparison is evolutionary selection against simpler, equally resourced alternatives. Small bounded networks may make recurring experimentation practical, but the current evidence does not show that breeding outperforms random search, a frozen neural ensemble, or a simpler baseline. Repeated evaluations on overlapping development windows can amplify selection bias. Rapid generations and correlated votes must not be mistaken for independent confirmation.

The execution setting creates further limits. Candle simulations do not identify the intrabar order of every price touch. Estimated costs can differ from executable quotes. Forecast payoff, attributed fill-price movement, and account-currency return are distinct quantities. Financing, partial reductions, rejected orders, and exposure changes matter for a full account audit. A model can predict direction correctly and still lose after costs.

The original behavioral framing is a source of hypotheses, not a measured psychological model. High autocorrelation of price levels, discussed in the 2011 report, does not establish exploitable return predictability. Nor does a visually persuasive support level prove that order clustering caused the subsequent move.

The present paper discloses component roles, information timing, structural gene categories, and evaluation logic while omitting exact operational thresholds, full feature definitions, private seeds, fitted weights, credentials, and account sizing. This limits exact replication from the paper alone. A reviewer can assess the architecture and its claims; independent reproduction of numerical studies requires the corresponding versioned study artifacts and access to permitted data. Omission from this manuscript is not a claim that implementation details are absent from all prior repository history.

8. Conclusion

MULLINER develops a 2011 turning-point forecasting project into a modular neuro-evolutionary ensemble with explicit timing, identity, and outcome records. Its contribution is a concrete way to connect structural market hypotheses, evolving neural recipes, weighted decisions, and execution evidence without collapsing them into one performance claim.

The archived findings constrain the claim: profitable adaptation has not been demonstrated. They also define the next experiment. A frozen adaptation protocol, evaluated prospectively against representation, weighting, and search controls, can test whether the machinery adds value. The durable objective is to make every change in the model population answerable to evidence collected after the relevant decision.

Data, code, and author contributions

The original research dates to 2011 [1]. The later architecture and recorded experiment trail are documented in the MULLINER repository [11]. The evidence snapshot for this paper is the backend implementation and research record identified in that reference, rather than an unversioned current website. Private market snapshots and broker records are not redistributed with this manuscript. No institutional endorsement or present institutional affiliation is asserted.

Adam Weber-Lewsey originated the 2011 study and directed the subsequent project concept, architecture, and research objectives. AI coding and language tools, including OpenAI Codex, assisted later implementation work, source inspection, literature discovery, and preparation of this draft. The named author must review the manuscript and is responsible for the submitted version. The paper is a draft, not a peer-reviewed publication.

References

[1] Weber-Lewsey, A. (2011). Author-held original research on neural forecasting at compressed price turning points.

[2] Pratt, K. B., and Fink, E. (2002). Search for Patterns in Compressed Time Series. International Journal of Image and Graphics, 2(1), 89–106. doi:10.1142/S0219467802000482.

[3] Osler, C. L. (2001). Currency Orders and Exchange-Rate Dynamics: Explaining the Success of Technical Analysis. Federal Reserve Bank of New York, Staff Report 125. Author report. A later version appeared in the Journal of Finance in 2003.

[4] Glattfelder, J. B., Dupuis, A., and Olsen, R. B. (2011). Patterns in high-frequency FX data: Discovery of 12 empirical scaling laws. Quantitative Finance, 11(4), 599–614. doi:10.1080/14697688.2010.481632; arXiv:0809.1040.

[5] Arifovic, J., and Gençay, R. (2001). Using genetic algorithms to select architecture of a feedforward artificial neural network. Physica A, 289(3–4), 574–594. doi:10.1016/S0378-4371(00)00479-9.

[6] Stanley, K. O., and Miikkulainen, R. (2002). Evolving Neural Networks through Augmenting Topologies. Evolutionary Computation, 10(2), 99–127. doi:10.1162/106365602320169811.

[7] Dempster, M. A. H., and Jones, C. M. (2001). A real-time adaptive trading system using genetic programming. Quantitative Finance, 1(4), 397–413. doi:10.1088/1469-7688/1/4/301; author-hosted paper.

[8] Kolter, J. Z., and Maloof, M. A. (2007). Dynamic Weighted Majority: An Ensemble Method for Drifting Concepts. Journal of Machine Learning Research, 8(91), 2755–2790. Journal article.

[9] Cirillo, S., Lloyd, S., and Nordin, P. (2014). Evolving intraday foreign exchange trading strategies utilizing multiple instruments price series. arXiv:1411.2153.

[10] Bailey, D. H., Borwein, J. M., López de Prado, M., and Zhu, Q. J. (2015). The Probability of Backtest Overfitting. Revised working paper, February 2015. Author-hosted manuscript. This reference identifies the version consulted.

[11] Weber-Lewsey, A., and project contributors (2026). MULLINER: software and recorded research artifacts. Versioned repository snapshot. See THESIS_LINEAGE.md, docs/RESEARCH_BASELINE.md, EDGE_RESEARCH.md, FOREST_RESEARCH.md, PAYOFF_RESEARCH.md, SMA_DNA_RESEARCH.md, DEPLOYMENT_STATUS.md, and the corresponding docs/research/ reports. The deployment record distinguishes local release hashes from equivalent GitHub code.