The Platform Capability Map
This appendix is the single canonical inventory of what the empirical instrument behind this research programme can and cannot do. It mirrors the capability landscape shown on the platform’s own operator dashboard, so that the written programme and the running system describe the same apparatus. Where a chapter refers to “the factor-promotion gate”, “the survivorship correction”, or “the paper-trading loop”, this map is the place those capabilities are defined, located within the whole, and marked as implemented, partially built, or not yet built.
The map has one organising purpose beyond enumeration: to separate three fundamentally different kinds of absence. A capability can be absent by design — deliberately never built because it does not belong in a single-operator research programme; absent for now — on the development path, with the physics or the strategy it unlocks waiting on it; or absent permanently — excluded because it fights structural disadvantages that no amount of engineering can close. Read naively, all three look like the same empty cell. Distinguishing them is the map’s main work, and it is what keeps the programme’s coverage claims honest.
The operating frame
The instrument is built for a single human operator running a nightly, end-of-day pipeline that produces target portfolios from daily data. This frame is the most important context for everything below: many capabilities that would be conspicuous gaps at an institution are, here, deliberate design choices. The operator runs one asset universe per nightly cycle, one primary venue per asset class, and makes strategy decisions on a daily-or-slower clock — the signals we pursue decay over weeks to months, not seconds. Orders are placed manually or through a simple bridge the following morning; there is no autonomous live-execution stack, and no external client or regulatory surface.
Seven standing design choices follow directly from this frame, and we record them as intentional posture rather than as unmet requirements:
- A nightly, end-of-day cadence — one operator, one decision window per day, a predictable cycle.
- A single price source per instrument — no cross-venue plumbing, matching a single account.
- A slow, statistically demanding validation gate — sole-trader capital cannot survive overfitting, so thousands of permutations earn their computational cost.
- A long-horizon factor and strategy lifecycle — there is no incentive to deploy fast-decay edges that need constant supervision.
- A cross-sectional null for ranking strategies — the correct null for the panel-style risk-premium strategies in scope.
- Manual or simple-bridge order placement — avoiding the cost and risk of a continuously running order-management system operated by one person.
- No external client or reporting surface — removing a large fraction of the institutional capability surface that simply does not apply.
The three-category framing
Every capability in the landscape is one of three things, and the distinction is the interpretive spine of the whole map:
- Design choice — intentional and correct for the operating frame. Not a gap.
- Scope expansion — on the development path, to be added so the platform can measure and trade more of the market.
- Out of scope — deliberately never built, because it does not fit the operating frame or it requires a structural edge a single operator cannot hold.
A build-status reading layers on top of the first two categories: a capability is implemented (exercised in production for at least one asset class), partially built (materially incomplete, or built for some asset classes only), or not yet built. We state these in words throughout, and we resist the temptation to round a partial capability up to complete — the partial reading is the honest one, and it is what makes the map worth trusting.
The capability landscape
The landscape divides into eight bands, read here from the data foundation upward to the human surfaces that sit on top of it.
Knowledge and data
The data foundation is mature for equities and thin everywhere else — a deliberate consequence of the equities-first build order. Equity data acquisition, curation, and modelling are fully implemented: vendor ingestion through bulk and per-symbol pulls with audit-first failure handling, schema validation and idempotent promotion against an investable allowlist, and a star-schema analytical layer with point-in-time joins that guarantee a historical date sees only what was knowable then. Delisted names are captured and spliced back, so the panel is not survivor-inflated.
Event and corporate-action capture is partially built and on the expansion path: splits, earnings surprises, and analyst estimates are ingested, while index reconstitution, the merger-and-acquisition calendar, and scheduled macroeconomic releases remain to be added. Exchange-traded-fund data and universe inclusion is partially built — the vendor supplies the data and an inclusion switch lifts the historical exclusion, exposing a small price-factor panel and a demonstration rotation strategy, with fund-specific reference data and corporate actions still to follow. Futures data with continuous-contract rolls, commodity term structure, and cryptocurrency spot-and-perpetuals data are not yet built; each is a scope expansion that unlocks a distinct asset class. Data-quality and lineage auditing is partially built — run-level sidecars and harvested run bundles exist, while column-level lineage and schema-drift alarms do not.
Two data capabilities are out of scope by design: intraday, minute, and tick data, which conflicts with the nightly cadence; and alternative or sentiment data, whose vendor cost and signal-decay velocity do not suit the operating frame.
Research and discovery
This is the band the programme leans on most heavily, and it is essentially complete for the work in scope. Factor engineering and signal generation are fully implemented: technical, fundamental, valuation, and quality factors, both atomic and composite, carried through a lifecycle and a style taxonomy; and cross-sectional scoring and machine-learning signal models that produce portfolio targets with tracked model versions.
Slow-signal validation is implemented, and it is the sharpest expression of the “slow gate” design choice. The platform measures each factor’s information coefficient by horizon, produces quantile and turnover tearsheets, and runs cross-sectional permutation tests, stepwise family-wise-error control, bias-corrected bootstrap bounds, and a probability-of-backtest-overfitting estimate. The factor-promotion gate consumes corrected evidence: a panel false-discovery correction with a stringent t-statistic floor, a survivorship haircut subtracted from the reported information ratio, and a net-of-cost economic base. One operational subtlety deserves recording, because it is itself a finding: the significance floor the gate demands sits below the resolution of a nightly permutation test, so factor promotion is structurally a deep-run, high-permutation decision, and the nightly cycle is monitoring rather than promotion. The survivorship sub-layer that feeds the haircut is built and its data is live — the bias is now quantified, roughly a three-hundredths reduction in information ratio at a quarter’s horizon, rather than assumed.
Factor-risk decomposition and diagnostics-and-stability are fully implemented: Barra-style exposures with marginal and percentage contributions to variance, and a diagnostics suite covering stationarity, entropy, half-life, dispersion stability, rank persistence, panel unit-root tests, and rolling correlations.
Three research capabilities are scope expansions. A multi-asset factor library — trend, carry, term-structure slope, basis, funding, and seasonal factors — is not yet built and waits on the multi-asset data feeds. A parameter-and-universe sweep engine, with an overfitting guard built into the search itself, is not yet built. A factor-crowding monitor is not yet built: it would score each factor’s crowding from long-leg ownership concentration and the long-versus-short valuation spread, and attach a report-only caution at the promotion gate. Crowding is the violent- unwind risk — the quant deleveraging of 2007 and the momentum crash of 2009 — that no statistical- significance test can see; the data rails already exist, so the absence is a missing surface rather than a missing feed. Two research capabilities are out of scope: statistical-arbitrage discovery and full fast-signal event-window validation, both excluded by the slow-gate, long-horizon posture.
Portfolio and risk
Portfolio construction and the equity risk model are fully implemented: equal, exponential, inverse-volatility, and sector-neutral weightings alongside mean-variance and minimum-variance construction with volatility-target scaling; and a factor risk model with exposures, factor covariance, idiosyncratic variance, and point-in-time snapshots. Risk limits and pre-trade checks are partially built: the live order path now carries a fail-closed constraint guard — position, sector, and gross-and-net leverage caps checked between order translation and submission, reading its limits from configuration rather than from dead code — while the equivalent caps on the backtest path remain to be added.
Three capabilities here are scope expansions. Time-series-momentum and carry mechanics are partially built — per-asset trend with long/flat volatility-targeted sizing runs on the exchange-traded-fund panel in backtest, while carry and term-structure baskets remain blocked on futures data. A multi-asset risk model and transaction-cost and market-impact modelling are the other two; the cost work is largely delivered — a per-name spread estimate from daily prices, a broker-true backtest cost model, and a net-of-cost information-coefficient column feeding the gate — with a per-name dollar-capacity estimate the main piece still open. A multi-strategy capital allocator with formal optimisation is out of scope: at sole-trader scale, allocation across a handful of strategies is done by hand or by a simple rule.
Backtest and attribution
Historical backtesting is fully implemented: an engine-driven simulation with bundle export, net-asset-value and tearsheet production, a fan-out runner, and per-strategy sidecars. The remaining three capabilities are scope expansions of modest size. Extending the backtest bundle to multi-asset price and roll data is not yet built. Performance attribution — decomposing returns into factor and idiosyncratic components at trade level and daily cadence — is partially built. Capacity estimation is partially built: a daily-volume-based sizing figure, simpler than an institutional impact model, matters here because one of the programme’s own theses is a capacity-inversion argument (below) that needs a concrete number attached to the microcap habitat.
Lifecycle and universe
The factor and strategy lifecycles are fully implemented, and both are design choices in their own right — the slow gate and the long horizon made concrete. A factor moves from experimental to validated to deprecated under permutation and information-ratio gates on a per-factor cadence. A strategy moves from incubating to paper to live under significance, elapsed-market-day, consecutive- clean-nightly, and metric-band gates. The paper stage is in service: a bound strategy accrues real attributed paper profit-and-loss, and once enough trading days accumulate, the gate that governs the move from paper to live flips from advisory to enforcing — making that transition the first one gated on realised forward evidence rather than on backtest alone.
Equity universe management is fully implemented: point-in-time membership queries, allowlist construction, and per-run snapshots. Two universe capabilities are scope expansions. Exchange-traded- fund universe extension is partially built, tracking the fund-data work above. Futures and cryptocurrency universe definition — liquid-contract filtering, tenor and venue selection — is not yet built. The research universe definition and calibration capability is partially built: a swappable research-universe seam is wired across the factor-research queries, a tradeable base-universe definition exists, and an information-ratio comparison has been run and, for now, held at the incumbent universe on a negative-lift reading. That hold is worth revisiting once the comparison carries a cost-adjusted column, because a genuinely tradeable illiquid edge and an uncollectable paper edge are observationally identical until costs separate them — which connects directly to the capacity argument below.
Execution
The execution band is delivered end-to-end and running. The paper-trading backend, the simple broker bridge, and trade reconciliation with profit-and-loss are all fully implemented and in service: a real paper-account round-trip — not a simulator — with submission and fill capture, an idempotent ledger, a daily marked position book, and a next-day reconciliation of the internal book against the broker account, all wired into the nightly cycle and surfaced on the operator dashboard. The accrued attributed paper profit-and-loss is what the paper-to-live gate will eventually consume. A cryptocurrency venue bridge is not yet built and waits on that asset class. Two execution capabilities are out of scope: an order-management system with smart routing and order slicing, and live microstructure monitoring — neither is needed at sole-trader cadence and size, and both require infrastructure whose edge a single operator cannot capture.
Platform plumbing
Orchestration and reliability-and-telemetry are fully implemented: a pipeline executor with a nightly flow tree, per-task sidecars, run-mode awareness, and a debug runner; and pre-flight checks, structured logging, host metrics, harvested run bundles, and a degraded-flag contract. Backup and continuity is partially built: the critical tier now has a three-copy backup — a fast local repository and an encrypted, deduplicated off-site copy, snapshot-consistent and integrity-verified, with a freshness alarm and a rehearsed restore runbook — while full-tier coverage of the raw vendor store and a documented failover procedure remain. Cost-and-vendor management — per-vendor spend tracking, request budgeting, and dataset-value attribution — is not yet built.
Human surfaces
The surfaces the operator actually works through are complete for the scope. Operator experience, governance-and-domain-language, and run-analysis-and-bug-synthesis are fully implemented: a single- page dashboard with a run calendar, per-stage drill-downs, factor-lifecycle pages, and coverage heatmaps; a domain thesaurus, layer and contract definitions, architecture decision records, and a zero-error type policy; and per-run findings with an automated analysis output. Two human surfaces are out of scope by design — compliance-and-audit and client-or-investor reporting — because the sole operator is the only investor and carries no external reporting obligation.
Coverage, read honestly
With the out-of-scope items removed from the denominator — leaving only the work that actually applies to this operating frame — the coverage is uneven in a way that reflects the build order rather than any hidden weakness. The research and human-surface bands are essentially complete; the execution band is delivered and running; and the remaining development concentrates almost entirely in the multi-asset data foundation, which is a bounded and well-understood build rather than an open research problem. Roughly three in five in-scope capabilities are implemented today, with the research and operator surfaces close to complete.
The development sequence follows three principles worth stating, because they explain why the map looks the way it does. Cheapest unlocks come first: admitting exchange-traded funds requires lifting one exclusion and re-validating existing factors on a wider panel, and nothing else on the path delivers strategies per unit of effort as efficiently. Multipliers come before the things they multiply: event capture and portfolio mechanics both pay back across every subsequent asset class, so they precede the heavy asset-class builds. And the multi-asset risk model comes last, because a cross-asset covariance model with no cross-asset data is shelfware, and cross-asset correlations are unstable enough that a model built before live data would be retrained the moment new asset classes came online.
The edge the programme pursues
Two, and only two, sources of trading edge exist, and the operating frame commits to one of them. A risk-premium edge is persistent compensation for bearing systematic risk or a durable behavioural bias; it survives at one-person attention and capital scale, and it is a strong fit. A market-inefficiency edge is a mispricing from events, microstructure, sentiment, or positioning; it is a fast-decay edge that fights every sole-trader disadvantage, and it is a poor fit. By deliberate design, then, this platform is a multi-asset risk-premium harvester, and the inefficiency track is excluded rather than merely deferred.
One capacity-conditional refinement matters, and it is a genuine finding rather than a caveat. The reasons that exclude fast, capital-intensive, access-dependent strategies cut the other way in the smallest, least-liquid names: an institution cannot deploy meaningful size into microcap without moving the price against itself, which is precisely where a small-capital operator holds a structural advantage. The microcap and illiquid universe is therefore a capacity-conditional habitat that is in reach here — bounded by spreads and fixed costs, not by market impact. This refines the rule without reversing it. The excluded strategy classes stay excluded; but risk-premium factors may legitimately be harvested in a habitat a sole operator can uniquely access, which is exactly why the held-back research-universe decision deserves a second look once costs are measured properly.
The negative space: strategies deliberately not pursued
The map’s most useful single feature is its statement of what not to chase. Whole strategy families are excluded, each failing the risk-premium test for at least one structural reason — latency, capital scale, borrow or market access, or the continuous attention the strategy demands. Statistical arbitrage — equity pairs and cointegrated baskets — is a decayed class whose realistic net Sharpe ratio is near zero after costs and borrow drag once the institutional toolkit compounds against a lone operator. Pure arbitrage in all its forms — cross-venue and dual-listing, index basis, and fund net-asset-value arbitrage — is latency-sensitive and requires venue or authorized-participant plumbing a single operator does not have. Event-driven strategies such as merger and distressed arbitrage need a legal, expert-network, or bond-market informational edge. Microstructure and high-frequency strategies cannot be operated profitably at sole-trader latency and infrastructure. Sentiment and alternative-data strategies carry a vendor cost and decay velocity the operating frame does not support, and options strategies are deferred until the multi-asset cash buildout is complete. Naming these explicitly is what lets the in-scope strategy set stay disciplined: every strategy the programme does pursue passes the same test that every entry here fails.
The runtime spine: from a declared factor to a paper order
Finally, the map has a runtime reading — the production story told end to end — that connects the research, lifecycle, portfolio, and execution bands into a single path. There are two parallel lifecycles and one execution flow, meeting at two seams.
A factor is declared in configuration, computed into the analytical layer as one value per date, instrument, and factor, researched through the information-coefficient, permutation, and diagnostic producers, and then promoted — or demoted — by the gate that moves it from experimental to validated to deprecated. A strategy is declared as a factor paired with a mechanic and its parameters, and it cannot be declared at all unless its underlying factor is already validated; it is backtested, and then promoted through incubating, paper, and live under its own gates. The execution flow turns signals into portfolio targets, translates those targets into whole-share market-on-open orders, submits them to the paper account, and marks and reconciles the resulting positions.
The two seams are where the lifecycles join. The factor-to-strategy seam is the validated gate — the one hard dependency between the two lifecycles, and it is wired. The strategy-to-execution seam is the attribution binding that lets realised paper profit-and-loss be traced back to a strategy; the mechanism is wired, but attribution is latent by default, because the nightly cycle trades the aggregate machine-learning signal book rather than a single registered strategy, and that book attributes its results only once an operator binds it. There is, deliberately, no live real-money execution — that remains the one capability past the edge of everything described here.
This inventory mirrors the operator dashboard’s capability landscape and is maintained in step with it. For the factor library it references, see the Factor Library appendix; for the construction and lifecycle machinery, see the Portfolio Construction and Factor & Strategy Lifecycle appendices.