Paper by default

QuantMechanix: An options research desk, built in-house.

Each market day morning it scans 104 stocks and ETFs, runs statistical models and writes a ranked brief. Written risk rules can check any idea.

Built for our own research. It places no orders and is not a claim of investment performance.

QuantMechanix research view for one symbol: a daily price chart beside the model engine, which lists fourteen models and each one's vote
The research view for one symbol, each model's vote beside the chart.

One market day morning

The ideas fall as you scroll. Point at a gate to read it, click to hold it, then point at a model for its equation.

Brief1 ranked briefMarket conditions29 written risk rules, on request and on ordersModels14 models: nine vote, five report riskCriterialiquidity, volatility rank and earnings datesScan104 symbolsBrief1 ranked briefMarket conditions29 written risk rules,on request andon ordersModels14 models: nine vote,five report riskCriterialiquidity, volatility rankand earnings datesScan104 symbols
From scan to brief, before the market opens. Afterwards, each direction vote is scored once its idea settles.Illustration of the design, not live data.
  • Getting the right data in, clean and connected.
  • Statistical models, and a running record of whether they work.
  • Making it run by itself, and recover when a step fails.

Scan

Scan: Before the market opens, a fixed list of 104 stocks and ETFs is scanned.

  • UniverseThe same written list of 104 stocks and ETFs every market day.
    A fixed universe, so the list cannot drift between runs.
  • Price historyEach model reads up to 100 daily closes, and needs at least 20 before it may speak.
  • CadenceA scheduled service saves progress after each tier, so a stopped run can resume.
    A checkpointed batch job, standard in scheduling.
  • InputsNo model reads news, options flow or earnings dates. The composite also reads a quote, the option chain and volume.

One live market source for the scan. Research data never sets a score or a direction, and a failed symbol is a recorded gap.

Criteria

Criteria: A first screen on liquidity, volatility rank and earnings dates. What does not fit stays on the slab.

  • LiquidityThinly traded symbols are set aside before any model runs.
    A liquidity floor, the usual first screen in options research.
  • Volatility rankKeeps symbols with implied-volatility rank above 20, not at the bottom of their own history.
    Standard options-desk practice.
  • Earnings datesbuilt, not switched onSets aside a symbol within 2 days of earnings; refreshing those dates is not on.
  • Candidate capAt most 60 symbols leave this gate for the models.

At most 60 of the 104 go on to the models.

Models

Models: Fourteen models run every market day, in families, so one kind of model cannot manufacture agreement. Point at one for its equation.

Nine models vote on direction, in up to six families

  • Industry standard
  • Industry standard
  • Industry standard
  • Industry standard
  • Industry standard
  • Industry standard
  • Industry standard
  • Industry standard
  • Experimental

Five models report on volatility and risk

  • Industry standard
  • Industry standard
  • Industry standard
  • Industry standard
  • Industry standard

Evidence

  • Skill scoringEach direction vote is marked right or wrong once its idea settles. The five risk models are never scored.
  • Confidence to probabilitybuilt, not switched onMaps confidence to the chance a model is right; refits nightly, live use is off.
  • Hypothesis testingbuilt, not switched onTests written hypotheses on rolling windows, on demand and offline, never live.

One vote per family, weighted by confidence and cut for dissent and same-kind agreement. A tie is no direction.

A pass needs strength of at least 0.60 and three agreeing families. A model that errors is left out.

Evidence ladder: Unproven under 30 settled predictions, Earning from 30, Negative from 50 with no skill, Earned from 200 with skill.

One label covers the set, taken from its least-tested direction model. Labels change nothing by default and promotion is manual.

Market conditions

Market conditions: 29 written risk rules can check an idea, on request and on orders. They are not part of the scheduled morning run.

  • Pre-trade checklistRun on request, from the cockpit or a script, and on option buy orders. Every verdict is written down.
  • Record, not blockEach rule is evaluated and a would-block verdict recorded; nothing is stopped.
    Audit mode before enforcement.
  • Blockbuilt, not switched onThe same rules can be switched to stop an order; the order path fails closed.
  • Conviction scoreIn the research pipeline, each idea scores 0 to 3 on greed stage, consensus and market mood; 0 is rejected.
  • Evidence rungbuilt, not switched onCould add one conviction point when a model is Earned; Negative only annotates.
  • Paper by defaultNo scheduled job places an order. Going live needs a typed confirmation sent to an authenticated endpoint.
  • Live executionplannedGated live trading and an autonomous paper trader are later phases; not built.

The rules record; they do not block.

Brief

Brief: The same-day review candidates, ranked. Direction comes from the composite scorer, one of the 14.

  • Idea sourceSame-day review candidates, bucketed trade-ready, watchlist and near-ready.
    One primary book builder, with a challenger beside it.
  • Cross-checkThe 14-model vote runs beside the review as an overlay, not as the brief's source.
    Challenger models, standard in model risk.
  • Chance of clearing breakevenAverage of a skew-implied density, Monte Carlo and a Markov regime model, for finishing past breakeven by expiry.
  • Volatility forecastEach idea carries a short-horizon GARCH(1,1) volatility forecast.
  • DeliveryA script renders a PDF brief and can email it. It is skipped when no address is set.
  • Scored afterwardsEach recommendation settles as a paper trade; each direction vote is then marked right or wrong.

14 models vote on direction in the research pipeline; the brief prices each idea's chance of clearing breakeven by expiry.

Data engineering

Getting the right data in, clean and connected.

Every price in the morning scan comes from one brokerage connection, so no two sources can disagree.

When the data looks wrong, the run is flagged, not mistaken for a quiet day.

Yours could be orders, payments or inventory, checked before anyone acts on them.

  • 104stocks and ETFs scanned
  • 1source for the scan's live prices
  • 4self-checks for bad data
Engineering detail: data engineering

Stack

  • Python 3.11
  • FastAPI
  • Schwab API, via schwab-py
  • PostgreSQL
  • pgvector
  • SQLAlchemy
  • Alembic
  • Redis
  • pandas
  • NumPy
  • SciPy
  • statsmodels
  • APScheduler

Decisions

  • Its own daily volatility history, not a bought feed.
  • One live source; historical trade prices only look backwards, never the live path.
  • Research data never sets a score or a direction on the morning path.
  • A failed symbol is a recorded gap, not a failed run.

Where each part stands

  • One live source, the broker's official API
  • Quote, price-history and option-chain calls paced, with a fallback and backoff
  • A fixed list of 104 symbols
  • A run record that logs each gap
  • Its own daily implied-volatility history
  • An earnings calendar

Models and evaluation

Statistical models, and a running record of whether they work.

Fourteen models study each shortlisted stock: nine say up, down or neither, and five say how rough the ride may be.

Votes are scored later against what really happened, and no model is called proven before the results are in.

Yours could be an AI feature scored against real outcomes, so you know when to trust it.

  • 14models run each market day
  • 30scored predictions before any rating
  • 200scored predictions for the top rating
Engineering detail: models and evaluation

Stack

  • NumPy
  • SciPy
  • statsmodels
  • scikit-learn
  • in-house walk-forward backtester
  • in-house discovery harness
  • Postgres
  • pytest

Decisions

  • Volatility models report in their own channel, not the direction vote.
  • Votes are weighted by family, so agreement has to come from different kinds of model.
  • A failed hypothesis stays failed: no retuned second attempt, and every trial stays on the ledger.
  • Labels change nothing by default; promotion is manual and cites only settled outcomes.

Where each part stands

  • Fourteen models run daily: nine vote, five report risk
  • Votes weighted by family and confidence
  • An evidence status for every model
  • An evidence ladder: Unproven under 30, Negative from 50, Earned from 200
  • A pre-registered, walk-forward discovery harness
  • Calibration of confidence into probability

Systems engineering

Making it run by itself, and recover when a step fails.

It starts at 5:30 every market day morning and saves its progress as it goes.

A passing failure, like a network error, is retried automatically; a stopped run can pick up from its last save point.

Yours could be a nightly report that finishes while you sleep, or tells you why not.

  • 2automatic retries per step
  • 3save points in every run
  • 29checks recorded on each proposed trade
Engineering detail: systems engineering

Stack

  • Docker Compose
  • Ubuntu
  • APScheduler
  • Postgres
  • Alembic
  • Redis
  • FastAPI
  • React
  • Vite
  • TypeScript
  • ReportLab
  • Matplotlib
  • smtplib

Decisions

  • Risk rules record every verdict; enforcement is opt-in.
  • A failed delivery never fails the job.
  • Ideas are computed once; the cockpit screen, brief and email all read the saved results.
  • A confirm pass after the open only re-prices, and never places orders.

Where each part stands

  • A checkpoint after each tier; a stopped run can resume from it
  • 29 written risk rules, every verdict recorded
  • A PDF morning brief that a script can email
  • Paper by default; no scheduled job places orders
  • A heartbeat, a dead-man check and a watchdog
  • A confirm pass that re-prices after the open

What this means for your system

Most production systems need what this one has: a scheduled job that survives a failing source, models backed by evidence, rules that record every decision.

A Production Triage reads your system from the code and, in three business days, hands you a ranked risk list and a fix plan.

What you receive in each engagement

Start with fifteen minutes.

A free call about your system. You leave knowing which engagement fits, or that none does. No preparation needed.

Book a free 15-minute fit call