A Quantitative Trading Research & Education PlatformInspired by Nature

The whole system, end to end.

Churner finds it → Scoring ranks it → Sentinel times it → Bot stages it → You approve it → Learning remembers how it went. That loop runs whether you're watching or not, and it leaves a receipt at every step.


🔎 Symbol churner — the intelligence funnel

Raw market noise in one end. Scored, ranked, explained candidates out the other. Feeds: StockTwits, analyst consensus, sector universe, index momentum, X/Twitter, SEC EDGAR, congressional STOCK Act filings, RSS news, newsletters, and earnings and catalysts. Quota-heavy feeds are throttled to roughly once per 20 hours while the fast-moving free ones refresh intraday. You can see when each one last ran — a stale feed announces itself instead of quietly serving yesterday.

📈

Momentum scanner

Persona-scored candidates pushed onto the plane.

💥

Catalyst harvester

Earnings, insider clusters and chatter — auto-injects at impact ≥ 75.

🏛️

Insider & congressional

Form 4 cluster buys and STOCK Act disclosures, harvested on the day.

🔗

Sentiment correlation

Does this source actually predict anything for this name? Source trust is scored, and a feed that's been wrong gets weighted down.

📊

Spread finder & wheel engine

Verticals and 0DTE with net-EV filtering; CSP and covered-call candidates with collateral health.

🌙

Off-hours backtester

The nightly 10-year suite, run when the market's CPU is free. Plus 30-minute TradeMachine sweeps between 10:00 and 15:45 ET and vector RAG over your research corpus.


🎛️ Configurable scoring — five methodologies

The five factor boxes, each scored 0–100 from the live factor engine — the same engine the audit and the staging modal use. A missing factor renormalizes the blend rather than fabricating a 50.

📈

Momentum

Trend and velocity. Is this thing already moving, and is the move still intact?

0–100
💰

Value

Free cash flow and valuation. What are you paying for each dollar the business actually produces?

0–100
🏆

Quality

Moat and balance sheet. Can this business survive a bad year without diluting you to do it?

0–100
🌊

Stability

Beta and volatility compression. How violently does this move relative to everything else you own?

0–100
📰

Sentiment

Form 4 filings and catalysts. Are the people closest to the business buying it themselves?

0–100

Five factor boxes — momentum, value, quality, stability and sentiment — all computed from the live factor engine, the same one the audit and staging modal use. A missing factor renormalizes the blend. It never fabricates a 50. Switching methodology never clobbers another mode's tuning; every mode keeps its own dials.

📐

SMART_BETA_FACTOR

Weighted linear blend of the real 0–100 factor boxes. Transparent, auditable, tunable.

📊

PERCENTILE_RANK

The same factors ranked cross-sectionally within the candidate universe — relative strength instead of absolute score.

🌲

TREE / REGIME

A hand-built decision structure over factor × macro-regime combinations. What works in contango isn't what works in a risk-off flight.

🤝

ENSEMBLE_CONSENSUS

All three run concurrently. Score S = Σ wᵢSᵢ, dispersion σ measured across models, conviction C = S · (1 − σ/50). Candidates above the σ cap are discarded as model dissent — default ceiling σ ≤ 15.0, tunable 1–50.

🎚️

CUSTOM

The smart-beta blend with your own weights. Your thesis, the platform's arithmetic.

Conviction ranks. It does not forecast. An 85/100 is a relative ordering against other candidates — not an 85% chance of profit. The platform says so out loud, because treating it otherwise is how people oversize.


🧠 Adaptive learning — it tunes on your results

⚖️

Factor-weight auto-tuning

An online gradient step (LMS / Widrow-Hoff family) projected onto the probability simplex, so weights always stay valid and sum to one. When a position closes, the factors that actually predicted the outcome gain weight; the ones that misled lose it. It steps on CLOSE, not on open — an unrealized gain isn't evidence, it's a hope with a timestamp. Learning rate 0.01, deliberately slow: a learner that lurches on one trade is noise-fitting.

steps on close
📉

Regime-aware fractional Kelly

Classic Kelly edge scaled by an exponential trust coefficient exp(−γ·σ²) — the more your recent estimates have been wrong, the smaller the bet — then multiplied by a macro risk factor derived from FRED net liquidity versus high-yield credit spreads. Sizing shrinks when the model is uncertain and when the macro soil turns hostile.

auto-shrinks
📓

The regret ledger

Logs what the system got wrong in both directions: false negatives that scored below the gate and broke out anyway, and user bypasses where you overrode the system and how that turned out. A platform that only records its wins is marketing, not engineering.

both directions

All learning state is tenant-private, enforced at the database level. Your feedback tunes your weights. Nobody else's outcomes touch your model.


🛰️ Reactive sentinels — zero polling, zero alert hose

📈

EMA_CROSS_UP / DOWN

EMA 9 crosses EMA 21 — on the crossing bar, not while the condition persists.

📉

RSI_OVERSOLD / OVERBOUGHT

RSI-14 breaks 30 or 70.

🎯

VWAP_CROSS_UP / DOWN

A CME micro closes through session VWAP.

💥

CATALYST_IMPACT

A scored catalyst lands above threshold.

🌊

IV_RANK_SURGE

IV rank crosses into premium-selling territory.

🍂

DEAD_LEAF_STOP

A holding reaches the −3% prune floor.

Most systems re-query on a timer and re-announce standing conditions until you stop reading them. myMTree fires on the crossing bar only. Detectors: EMA 9 crossing EMA 21 up or down · RSI-14 breaking 30 or 70 · a CME micro closing through session VWAP · a scored catalyst landing above threshold · IV rank crossing into premium-selling territory · a holding reaching the −3% prune floor. A cross is a state change. "Price is above VWAP" is a standing condition, and a bus that re-announces it every scan is an alert hose, not a signal. Detectors publish to Redis db5 the moment a crossing becomes true. Subscribers wake on push. Nothing polls. It degrades honestly too: with Redis down, events buffer in-process and the status surface reports 'no cross-process delivery' rather than claiming a live bus it isn't running. The delivery ledger writes every routed signal down with its outcome and reason code — delivered, staged as ticket #1042 at the human gate for these bots; or rejected, 'no bot subscribes to this symbol and it's not on your watchlist'; or rejected, 'SELL ignored — this bot holds none of it'. Both rejections used to read simply 'not delivered'. Now each one names its cause. Above every sleeve, one question is answered continuously — is capital flowing toward equity risk, or away from it? Gold or defensives spiking while the index declines suppresses bullish spreads, with the evidence shown. An index future crossing above session VWAP while the volatility curve is in contango arms same-day scalps. A suppressed desk must be able to show why it's suppressed.


⚙️ How it actually works — the numbers, in plain English

Every rule below is a real constant in the running code. The technical statement comes first, then what it actually means for you.

🍎

Harvest: unrealised ≥ +5% over cost basis

PLAIN ENGLISH: when a holding is up 5% or more, the system sells it and moves the profit to your cash basket. It does not wait for 10% in case it keeps running, and it does not ask you how you feel about it that morning. The threshold is a constant, not a judgement call.

ripe_scan
🍂

Prune: unrealised ≤ −3% under cost basis

PLAIN ENGLISH: when a holding is down 3%, it is sold and the loss is recorded with the reason attached. This is the rule that stops a small mistake becoming the position you cannot talk about. There is no averaging down, because averaging down is just the same bet placed twice.

DEAD_LEAF_STOP
📉

ATR brackets: stop 1.5×, target 3.0×

PLAIN ENGLISH: ATR measures how much a symbol normally moves in a day. The stop sits one and a half of those moves away, the target sits three away — so the trade risks one unit to make two. Sizing the bracket off the symbol's own volatility stops you using an equity-sized stop on a futures contract.

2:1 reward:risk
💸

Roundtrip cost: $2.84, charged on close

PLAIN ENGLISH: every futures trade costs $2.84 to get in and out, and that is subtracted inside the maths before a setup is shown to you. A scalp that only makes $2 is a losing trade, and the platform refuses it rather than letting you discover that on your statement.

fee-drag shield
🚧

Backtest gate: >50% win rate over 1y AND 3y

PLAIN ENGLISH: a setup is not allowed to fire until its own history clears a coin-flip over both one year and three years. One good year does not qualify it. This check runs against the database, so a strategy cannot be talked into the product by a marketing page.

enforced in DB

Flat sweep at 3:55 PM ET

PLAIN ENGLISH: five minutes before the close, every intraday position is sold. You carry nothing overnight, so a headline at 2am cannot gap through your stop while you are asleep. The clock does this, not your discipline.

zero overnight
🎚️

Futures margin hard-capped at $1,000

PLAIN ENGLISH: no matter how confident anything is, the futures sleeve cannot tie up more than a thousand dollars of margin. It is a ceiling on how wrong the fastest-moving part of the system can go.

hard cap
🪖

0DTE: max 1% NAV, VWAP-aligned, flat by the bell

PLAIN ENGLISH: same-day options expire worthless very fast, so they are capped at one percent of the account, only taken in the direction the day is already trending, and always closed before the close. Three seatbelts on the one instrument that punishes hesitation hardest.

1% NAV
🤝

Dissent ceiling σ ≤ 15.0, conviction C = S · (1 − σ/50)

PLAIN ENGLISH: three different models score the same candidate. σ is how far apart their answers are. If they disagree by more than 15 the trade is thrown away rather than taken, and even when they agree, the more they disagree the more the final score is marked down. Disagreement between models is treated as a warning, not noise to average away.

tunable 1–50
⚖️

Learning rate 0.01, stepped on close

PLAIN ENGLISH: after each position is actually sold, the system nudges its factor weights by one percent toward whatever predicted that result. One percent is deliberately tiny — a system that rewrote its beliefs after every trade would just be chasing the last thing that happened. And it only learns from closed trades, because an open winner has not proven anything yet.

LMS / simplex
📐

Kelly × exp(−γ·σ²) × macro risk factor

PLAIN ENGLISH: Kelly is the textbook formula for how much to bet given an edge. It is famously too aggressive, so two shrinkers are applied — one that cuts size when the model has recently been wrong, and one that cuts size when credit spreads and liquidity say the wider market is turning hostile. You do not have to remember to be careful; the size does it for you.

FRED inputs
🗂️

Schema-separated multi-tenancy

PLAIN ENGLISH: each customer's book lives in its own database schema, not in a shared table filtered by a customer ID column. A filter is one forgotten WHERE clause away from leaking; a schema boundary is enforced by the database itself. It is the difference between a locked door and a sign asking people not to enter.

engine-enforced

Two more that matter and are easy to miss. Constant-basket indexing means your benchmark is computed from a fixed set of holdings across the window — otherwise a stock joining mid-period can make the index look like it jumped, and your relative performance becomes fiction. And feed throttling means the quota-limited data sources refresh roughly every 20 hours while free ones refresh intraday; the interface shows when each last ran, so a stale feed announces itself rather than quietly serving you yesterday's world as though it were today's.


The through-line

Churner finds it → Scoring ranks it → Sentinel times it → Bot stages it → You approve it → Learning remembers how it went.

myMTree is a research and education platform. Nothing here is investment advice, and no past or projected performance is shown or implied. Options and futures involve substantial risk of loss and are not suitable for every investor. New accounts are simulated.

Where this shows up

🤖

Autopilot

The staging and approval half of the pipeline.

🛰

Sentinel

The timing and monitoring half.

🎭

Personas

The rule sets the engine runs.