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.

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.
- 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
Hidden market-state detector
Reads daily returns to judge whether the market is in a bull, bear or sideways state, and votes up, down or neutral.
Industry standard
-
Industry standard
Price mean reversion
Looks for a price stretched far from its fitted average and votes that it will pull back toward it.
Industry standard
-
Industry standard
Jump detector
Looks for sudden moves larger than three standard deviations and votes with the direction of the average jump.
Industry standard
-
Industry standard
Sell-off cluster detector
Looks for a fading cluster of sell-offs while price is stretched below its average, and can only vote up.
Industry standard
-
Industry standard
Moving-average stack
Compares price with its 20-day and 50-day averages, and their slopes, to say whether the trend is up or down.
Industry standard
-
Industry standard
Channel breakout
Looks for price breaking above its highest, or below its lowest, close of the past 20 days.
Industry standard
-
Industry standard
Rate of change
Measures how fast price has moved over 10 days, and whether the RSI shows it stretched, to say if momentum is up or down.
Industry standard
-
Industry standard
Composite scorer
Blends cycle, volatility, technical, option and volume signals into one score from -50 to +50, and votes once it passes 10 either way.
Industry standard
-
Experimental
Path-integral tilt
Weighs whether price is likelier to end higher or lower from the shape of its possible paths; low weight, with capped confidence.
Experimental
Five models report on volatility and risk
-
Industry standard
Volatility mean reversion
Compares volatility with its own average and forecasts whether it will contract, expand or hold over five days.
Industry standard
-
Industry standard
Stochastic-volatility forecast
Forecasts whether volatility will contract, expand or hold over ten days, with variance pulled toward a long-run level.
Industry standard
-
Industry standard
Volatility clustering
Looks at how recent shocks and yesterday's volatility feed today's, to forecast volatility over five days.
Industry standard
-
Industry standard
Return disorder
Measures how scattered recent returns are across 20 bins, and labels the disorder high, moderate or low.
Industry standard
-
Industry standard
Crash-together risk
Looks at how often the stock and the S&P 500 ETF fall together, and labels that risk high, moderate or low.
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 engagementStart with fifteen minutes.
A free call about your system. You leave knowing which engagement fits, or that none does. No preparation needed.