79trading and ML terms used throughout the project. Each entry has a one-line definition, a technical explanation, and a plain-English version that's jargon-free.
Compound annual growth rate — return expressed as the smooth yearly rate.
Risk-adjusted return — excess return per unit of volatility.
Like Sharpe, but penalizes only *downside* volatility.
Annual return divided by worst drawdown — pain-adjusted return.
Biggest peak-to-trough loss the account ever suffered.
How much *active* return (above the benchmark) per unit of tracking error.
Return earned above what market exposure alone would explain.
How much the strategy moves for each 1% move in the benchmark.
How much the strategy's daily returns typically swing, scaled to a yearly figure.
Gross winning dollars divided by gross losing dollars.
Fraction of periods (days/trades) that ended positive.
Fraction of the backtest spent with capital actually deployed.
Statistical model that infers an unobservable 'state' from observed data.
The market's current 'mood' — calm, moderate, or turbulent.
The HMM's probability that we're currently in the top-ranked regime.
A new regime must persist N bars in a row before the bot acts on it.
Too many regime switches in a short window = the model is confused.
Defensive safety mode: shrink size, disable leverage, wait for clarity.
The math the HMM uses to decide 'what regime are we in RIGHT NOW?' without peeking at the future.
Accidentally using data from the future in a historical simulation.
Formula for picking how many regimes the model should have — penalizes complexity.
How often the bot is allowed to refit its regime model.
Three-check quality filter that a newly-trained HMM must pass before replacing the running one.
The change in number of regimes between retrained models.
Metric ensuring retrained regime labels still mean what they used to.
The universe of symbols the HMM trains on.
How much prices have ACTUALLY moved recently.
Typical size of a bar's price range, in absolute terms.
How strong the current trend is — direction-agnostic.
Momentum oscillator — is the price overbought or oversold?
The market's 'fear gauge' — 30-day implied volatility of S&P 500 options.
Is short-term fear insurance more expensive than long-term? Trouble sign.
Honest backtest that retrains periodically — no single giant training window.
One train→test cycle in a walk-forward backtest.
The gap between the price you wanted and the price you got.
What the broker charges per trade.
How much capital the strategy can absorb without moving the market against itself.
Benchmark allocator that inverse-weights by volatility.
A reference allocator we compare the strategy against.
Backtest with synthetic crashes / gaps injected to test worst-case behavior.
The price at which we automatically exit a losing position.
The price at which we automatically exit a winning position.
Most you'll lose if one trade goes to its stop.
Multiplier on buying power — ratio of position size to account equity.
Max fraction of equity the bot will deploy at any moment.
Hard halts on trading when drawdown exceeds a threshold.
The risk that prices jump past your stop overnight or over a weekend.
Bot goes defensive when short-term VIX exceeds 3-month VIX for several days.
Do the HMM's regime labels actually predict the future, or just describe it?
How much an option's price moves for each $1 move in the underlying.
How fast delta itself changes as the underlying moves.
How much value the option loses per day, all else equal.
How much the option's price changes per 1% change in implied volatility.
Where today's implied vol sits in its 252-day high/low range (0 = low, 1 = high).
Calendar days until the option contract expires.
The standardized 21-character identifier for an option contract.
The 8-hour fee that perpetual-futures longs pay shorts (or vice versa).
Gap between the perpetual-futures price and the underlying spot price.
Advisory capital-allocation targets across stocks / crypto / options / cash.
Cross-sectional scorer that trims the universe to top-K per asset class each tick.
Hard cap on total stock notional as a fraction of equity.
Keep the stock leg AND add an option on top — safest default.
Pick an option by strike/spot ratio when the chain's greeks are missing.
Cumulative log return over a trailing window — the ranker's 'hot name' signal.
YAML file under config/instances/ that describes one fleet member's identity, broker, universe, and risk knobs.
Per-bot broker keys, kept in config/instances/<id>.env (gitignored, chmod 0o600).
Conservative / Balanced / Aggressive bundle of risk knobs the wizard offers as one-click choices.
Authorization tier between user and admin — can train + publish models but cannot manage users.
A bot's choice of HMM model, one entry per asset class it trades.
Live log table that surfaces admin model training progress in the cloud UI.
Per-candidate start/done events emitted during the HMM model-selection sweep.
Free Yahoo Finance bars used as an alternative to Alpaca for offline model training.
On /admin/models — spawns a one-off Fly Machine that trains + publishes a model.
Branded onboarding email sent on first sign-in via the Resend transactional service.
Branded email sent when a Stripe upgrade flips your subscription tier — one per paid tier.
Deterministic key passed to Resend so concurrent webhook retries don't duplicate-send.
Idempotency table that records every transactional email sent — keyed by user + template + occasion.
App-wide light/dark/system theme selector wired to CSS variables.
The HMM Trade brand mark — three offset bars in the brand palette echoing the dashboard's regime ribbon.