Methodology
How Field Equities scores 76 tickers every 10 minutes, what each signal weighs, where the thresholds came from, and the explicit calls made during the build. The bot went live in paper mode on May 11, 2026. Alongside v1 live trading, the system runs a multi-scorer shadow race — 8 strategies recorded in parallel against 8 forward-return horizons. No shadow scorer drives a trade or modifies a v1 weight.
Scoring
Every 10 minutes during market hours the bot runs each ticker through 8 independent signals. Each signal produces a number on its own bounded scale; their sum is the ticker’s composite score, ranging from a theoretical −80 on the short side to +125 on the long side. The asymmetry is by design — three of the eight signals are long-only by construction.
Entries fire only when the composite score crosses a threshold and a size check passes. Below the threshold the bot logs a snapshot but takes no action — that same scoring history then feeds back into the Signal Edge Tracker on the Signals page, and into weight recommendations published every Friday.
On every scan, a second layer records the picks that 8 different scoring strategies would have made — the shadow race. All race scorers are gated behind the SCORING_V2_ENABLED flag, purely record-only, and raced against each other and SPY across 8 forward-return horizons (1d through 5y). The forward returns being collected now are the calibration data for deciding which approaches carry edge.
The 8 V1 Signals
Sorted from highest weight to lowest. The order reflects how much each signal can move the composite score on its own.
Insider Buys
13F Institutional Flow
Earnings Surprises
News Sentiment
AI-Detected Themes
Price Momentum
ARK Trades
Shadow Race Strategies
Public names: Metis · Arachne · Asteria · Chronos · Phobos · Pandia · Tyche · SPY
Eight strategies run in parallel on every scan — record-only, never trading. All picks are beta-tagged (vs SPY) and regime-tagged (S&P 12-month trend, network modularity Q) at entry. Forward returns fill as horizons close. None of these scorers affect v1 weights or open a position.
Metis
Arachne
Asteria
Chronos
Phobos
Pandia
Tyche
SPY Benchmark
Thresholds
The five numbers that turn a score into a trade — and why each is set where it is.
Long entry threshold
A ticker needs a composite score of +15 or higher to open a long. With a theoretical maximum composite of 125 (sum of all 8 max weights), +15 is roughly 12% of max — a meaningful but not extreme conviction level that typically requires two or more signals firing together. Initial paper data showed the false-positive rate at lower thresholds (e.g., +10) was too high; +15 filters the noise without being so strict that real setups get missed.
Short entry threshold
Tighter than the long threshold because the bot's score range is asymmetric. Three signals are long-only by construction (Insider, ARK, Themes), so the practical max-negative score is smaller than the max-positive score. A −10 threshold catches comparable short-side conviction relative to what +15 catches on the long side. We also gate short entries against recent earnings beats — a stock that beat estimates within the last 7 days is not eligible to be shorted, regardless of score.
Stop loss
Stops are sized to the ticker's own recent volatility rather than a fixed percent. A 14-day ATR doubled gives a position room to breathe through normal noise. The 4% floor prevents absurdly tight stops on calm names; the 12% cap prevents giving back too much on volatile ones.
Daily loss limit
If the portfolio is down 8% in a single day, new entries pause until the next reset. This is the maximum loss tolerated before assuming something systematic is wrong with the day (market regime shift, broken data feed, fat-fingered scoring).
Position cap
Architectural cap on total open positions across both long and short sides combined. Enforced in three places: the risk engine pre-check, the scheduler's effective-cap pre-check (which accounts for orders placed but not yet visible in Alpaca's positions endpoint), and a final guard in the trade executor immediately before submitting any order. The three-layer enforcement means a single race condition during the order-fill window cannot blow past the cap.
Decisions Made
Why paper trading first
Real money compounds errors. A bug in the scoring engine running on $10 of paper capital is a curiosity; the same bug on real capital is a withdrawal. Paper validates the full stack — data, scoring, execution, monitoring — under live market conditions without putting capital at risk.
Why every signal max is between 10 and 25
No single signal can dominate the composite. The 25-point spread between the highest-weighted signal (Congress) and the lowest (Momentum / ARK) keeps the strongest signal influential without making any other signal a rounding error. This also forces multi-signal agreement to push a ticker past the +15 entry threshold — single-signal events almost never cross alone.
Why long and short signals are scored separately
Some signals only fire in one direction by construction — Insider, ARK, and Themes are long-only. Folding them into a symmetric scale would mean short candidates are scored on a smaller absolute range than longs, which is what the asymmetric +15 / −10 thresholds already account for. Keeping the scoring per-direction also lets us be more conservative on shorts, where the risk profile is asymmetric.
Why we excluded social-media sentiment signals
Reddit and X are too easy to manipulate (pump campaigns, coordinated meme cycles) and the signal-to-noise ratio is worse than the news-sentiment signal we already get from Polygon. Until there's a way to filter coordinated activity in real time, the data isn't trustworthy enough to weight.
Why we score insider buys but not sells
Insider buys are highly informative — executives only buy their own stock with real money when they expect it to go up. Insider sells, by contrast, are noisy: most are driven by RSU vesting, tax planning, or diversification, not by negative outlook. Scoring sells would add false negatives to short candidates that aren't actually fundamentally negative.
Why the shadow race is record-only and gated
No shadow scorer drives a trade, modifies a v1 weight, or touches any live signal. The gate (SCORING_V2_ENABLED env flag) means the race layer runs harmlessly in production as a pure measurement layer. This prevents the error of fitting calibration weights to a short in-sample window — the race collects honest out-of-sample forward returns first, then calibration happens later on that data.
Why equal-weight is the primary race control, not SPY
An equal-weight portfolio holds every name in the universe with no look-ahead and no signal fitting — it is the hardest no-information baseline to beat over short windows. If a sophisticated scorer underperforms equal-weight, that is strong evidence the scorer is adding noise to ranking rather than improving it. SPY measures total-return premium vs holding the index; equal-weight specifically measures whether the per-name ranking adds value.