Platform · the quant engine

The research stack, end to end.

Four subsystems, one research record: point-in-time data ingestion, a cost-aware backtesting engine, risk analytics that reproduce, and execution research that knows what a fill costs. Each feeds the next, and every number traces back to its inputs.

01 / DATA INGESTION

Data you can hold up to a mirror.

Most research breaks here — silently. A point-in-time dataset that isn't, a corporate action applied three days late, a fundamental restated months after the fact. We treat ingestion as the first-order problem it is: every source lands in one schema, with the timestamps that tell you when you could have known.

  • Vendor adapters normalize every source into one schema — raw, adjusted, and as-traded series kept side by side
  • Corporate actions (splits, dividends, mergers, spin-offs, ticker changes) applied on their effective date, not your download date
  • Survivorship-free universes — a name is present on the dates it traded, not the dates it survived
  • Point-in-time fundamentals stored with an as-of and a known-at timestamp — you never use a number before it was reported
  • Quality gates: gap detection, outlier flags, and drift checks against the vendor feed
  • Bring-your-own-data lands in the same governed, versioned store
data catalog · us_equitiesversioned
$ vm data ls --universe us_equities name rows as_of hash prices_1d 14,208 2026-08-29 8f3a…c21e fundamentals 9,014 2026-08-28 41be…9d07 corp_actions 2,331 2026-08-29 7d02…44f1 index_membership 1,876 2026-08-28 c9a1…08b4 ────────────────────────────────────────────── 4 datasets · all point-in-time · no gaps detected
point-in-time restatement · shares outstandinglook-ahead guarded
$ vm data asof --universe us_equities --field shares_outstanding --date 2022-03-15 symbol reported known_at value AAPL 2022-01-27 2022-01-28 16,194M ← the number you could have used AAPL 2022-03-15 2022-04-28 16,214M ← backfilled later · a look-ahead ────────────────────────────────────────────── 2 rows · restatement exposed · point-in-time enforced
02 / BACKTESTING ENGINE

A backtester that refuses to flatter you.

Backtests have one job: to tell you the truth. So ours assumes the worst case — survivorship-free history, spreads and market impact applied, capacity limits respected — and forces you to prove otherwise. The traps are well documented; we just make them structurally impossible to hit.

  • Cost and impact models on by default — spread, square-root impact, financing, and borrow applied at the fill, not subtracted at the end
  • Look-ahead prevention: every signal is evaluated only on information available at the close it actually trades
  • Survivorship-aware universes with point-in-time membership at each rebalance
  • Walk-forward and anchored out-of-sample splits as first-class constructs, not an afterthought
  • Overfit reporting — deflated Sharpe and a log of every parameter you searched, so you can't quietly mine the past
  • Deterministic replay — the same inputs give the same run, every time
backtest · momentum_carry_v3net of costs
$ vm run --universe us_equities --costs taker metric value unit annualized return +11.4% p.a. volatility 9.8% p.a. sharpe 1.12 ratio sortino 1.61 ratio max drawdown −14.6% peak-to-trough turnover 3.2x ann. capacity (est.) broad qualitative ────────────────────────────────────────────── run reproducible · hash 9c2d…77a1 · 4.2s
walk-forward · momentum_carry_v3out-of-sample
$ vm walk-forward --train 4y --test 1y --step 1y window in-sample sharpe out-of-sample sharpe turnover 2019–22 1.34 0.98 3.0x 2020–23 1.27 1.04 3.2x 2021–24 1.19 0.91 3.1x 2022–25 1.41 0.63 3.4x ← decay detected ────────────────────────────────────────────── in-sample optimism visible · no parameters tuned on test
03 / RISK ANALYTICS

Ex-ante and ex-post in the same pane.

Risk that lives only after the fact isn't risk management — it's history. We keep forward-looking exposures and realized attribution in one view, so the number you promised is the number you can audit — and the divergence between the two is surfaced, not swept under.

  • Factor exposures with the methodology documented — loadings, model, and covariance, not a black box
  • Stress scenarios: historical shocks (2008, 2020-03, 2022 rates) and hypothetical moves, rerun on any date
  • Drawdown analytics — underwater curve, time-to-recovery, and the drivers of your worst drawdown
  • Attribution that reconciles to the trade blotter, down to the basis point
  • Ex-ante vs ex-post reconciliation — promised risk versus realized, divergences flagged
  • Limit monitoring with breach alerts on a schedule your committee actually reads
risk · factor exposureex-ante
factor exposure limit market 0.42 ±1.00 size −0.18 ±0.50 value 0.31 ±0.50 momentum 0.55 ±0.75 volatility −0.09 ±0.50 ────────────────────────────────────────────── all exposures within limits · 2026-08-29
stress test · momentum_carry_v3scenarios
$ vm stress --strategy momentum_carry_v3 --scenario all scenario pnl (ann.) drawdown baseline +11.4% −14.6% 2008 financial −18.2% −31.4% 2020-03 covid −9.6% −22.7% 2022 rate shock −12.8% −26.9% hypothetical −2σ −7.4% −19.3% ────────────────────────────────────────────── 4 scenarios · all within mandate limits
04 / EXECUTION

Research that knows what a fill costs.

The gap between a paper portfolio and a real one is execution. We model it instead of waving at it: slippage against arrival price, market impact that grows with your size, and the drag of financing and rebalancing. A strategy that dies in the spread should die in the backtest — not in production.

  • Implementation shortfall and slippage measured against arrival price, not yesterday's close
  • Square-root market impact calibrated per venue and liquidity band — the more you size up, the more it bites
  • Rebalance simulation: schedule generation, turnover, cash drag, and rounding to whole shares
  • Transaction cost analysis (TCA) that reconciles simulated fills to actual executions
  • Borrow and financing carried through for short and leveraged books
execution · momentum_carry_v3TCA
$ vm execute --strategy momentum_carry_v3 --date 2026-08-29 metric value arrival price 182.44 avg fill 182.71 slippage −14.8 bps implementation shortfall −21.3 bps impact estimate −9.2 bps ────────────────────────────────────────────── simulated fills reconciled to the cost model
Capabilities · what the engine covers

The surface, at a glance.

CapabilityWhat it doesStatus
Data versioningEvery dataset pinned to an immutable version hashGA
Point-in-timeRestate any universe or field as of any historical dateGA
Cost-aware backtestTaker/maker cost, impact, and borrow applied at executionGA
Walk-forwardRolling out-of-sample validation as a native constructGA
Factor riskExposure decomposition with documented methodologyGA
Stress testingHistorical and hypothetical scenario replayGA
AttributionPerformance reconciliation to the trade blotterGA
Implementation shortfallSlippage and shortfall measured against arrival priceGA
Market impactSquare-root impact calibrated per venue and liquidity bandGA
Rebalance simulationTurnover, cash drag, and whole-share rounding modeled at the fillbeta
Live reconciliationResearch-to-production drift detectionbeta
Architecture · how it fits together

One record, from hypothesis to production.

A research idea moves through data, backtest, risk, and execution without changing format — the same versioned artifacts flow forward, so nothing is lost in translation.

sources market data fundamentals your signals unified data layer · point-in-time · versioned data layer backtesting engine · cost-aware backtest risk analytics research record audit · reproduce
Next · see it run

Show us a strategy, we'll show you the record.

Bring your own data, or start with ours. Either way, you'll see the same versioned, cost-aware, reproducible path from hypothesis to production.